Merge "Add class in diff and history links in ChangesList"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 23 Feb 2017 21:31:31 +0000 (21:31 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 23 Feb 2017 21:31:31 +0000 (21:31 +0000)
1  2 
includes/changes/ChangesList.php

@@@ -158,43 -158,19 +158,43 @@@ class ChangesList extends ContextSourc
        protected function getHTMLClasses( $rc, $watched ) {
                $classes = [];
                $logType = $rc->mAttribs['rc_log_type'];
 +              $prefix = 'mw-changeslist-';
  
                if ( $logType ) {
 -                      $classes[] = Sanitizer::escapeClass( 'mw-changeslist-log-' . $logType );
 +                      $classes[] = Sanitizer::escapeClass( $prefix . 'log-' . $logType );
                } else {
 -                      $classes[] = Sanitizer::escapeClass( 'mw-changeslist-ns' .
 +                      $classes[] = Sanitizer::escapeClass( $prefix . 'ns' .
                                $rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
                }
  
                // Indicate watched status on the line to allow for more
                // comprehensive styling.
                $classes[] = $watched && $rc->mAttribs['rc_timestamp'] >= $watched
 -                      ? 'mw-changeslist-line-watched'
 -                      : 'mw-changeslist-line-not-watched';
 +                      ? $prefix . 'line-watched'
 +                      : $prefix . 'line-not-watched';
 +
 +              $classes = array_merge( $classes, $this->getHTMLClassesForFilters( $rc ) );
 +
 +              return $classes;
 +      }
 +
 +      protected function getHTMLClassesForFilters( $rc ) {
 +              $classes = [];
 +              $prefix = 'mw-changeslist-';
 +
 +              $classes[] = $prefix . ( $rc->getAttribute( 'rc_bot' ) ? 'bot' : 'human' );
 +              $classes[] = $prefix . ( $rc->getAttribute( 'rc_user' ) ? 'liu' : 'anon' );
 +              $classes[] = $prefix . ( $rc->getAttribute( 'rc_minor' ) ? 'minor' : 'major' );
 +              $classes[] = $prefix .
 +                      ( $rc->getAttribute( 'rc_patrolled' ) ? 'patrolled' : 'unpatrolled' );
 +              $classes[] = $prefix .
 +                      ( $this->getUser()->equals( $rc->getPerformer() ) ? 'self' : 'others' );
 +              $classes[] = $prefix . 'src-' . str_replace( '.', '-', $rc->getAttribute( 'rc_source' ) );
 +
 +              $performer = $rc->getPerformer();
 +              if ( $performer && $performer->isLoggedIn() ) {
 +                      $classes[] = $prefix . 'user-' . $performer->getExperienceLevel();
 +              }
  
                return $classes;
        }
                        $diffLink = $this->linkRenderer->makeKnownLink(
                                $rc->getTitle(),
                                new HtmlArmor( $this->message['diff'] ),
-                               [],
+                               [ 'class' => 'mw-changeslist-diff' ],
                                $query
                        );
                }
                        $diffhist .= $this->linkRenderer->makeKnownLink(
                                $rc->getTitle(),
                                new HtmlArmor( $this->message['hist'] ),
-                               [],
+                               [ 'class' => 'mw-changeslist-history' ],
                                [
                                        'curid' => $rc->mAttribs['rc_cur_id'],
                                        'action' => 'history'