History page is now using pseudo elements for presentation
authorjdlrobson <jdlrobson@gmail.com>
Wed, 13 Feb 2019 22:18:31 +0000 (14:18 -0800)
committerJdlrobson <jrobson@wikimedia.org>
Tue, 26 Mar 2019 00:15:21 +0000 (00:15 +0000)
|, ( and ) separators are now added via CSS rather than being
made part of the HTML.

Bug: T205581
Change-Id: I272770418ee544b22f8f94312daf07010b7a2273

includes/Linker.php
includes/actions/pagers/HistoryPager.php
tests/selenium/specs/page.js

index decc13c..ec3b245 100644 (file)
@@ -1077,16 +1077,18 @@ class Linker {
         * @since 1.16.3
         * @param Revision $rev
         * @param bool $isPublic Show only if all users can see it
+        * @param bool $useParentheses (optional) Wrap comments in parentheses where needed
         * @return string HTML
         */
-       public static function revUserTools( $rev, $isPublic = false ) {
+       public static function revUserTools( $rev, $isPublic = false, $useParentheses = true ) {
                if ( $rev->isDeleted( Revision::DELETED_USER ) && $isPublic ) {
                        $link = wfMessage( 'rev-deleted-user' )->escaped();
                } elseif ( $rev->userCan( Revision::DELETED_USER ) ) {
                        $userId = $rev->getUser( Revision::FOR_THIS_USER );
                        $userText = $rev->getUserText( Revision::FOR_THIS_USER );
                        $link = self::userLink( $userId, $userText )
-                               . self::userToolLinks( $userId, $userText );
+                               . self::userToolLinks( $userId, $userText, false, 0, null,
+                                       $useParentheses );
                } else {
                        $link = wfMessage( 'rev-deleted-user' )->escaped();
                }
@@ -1532,9 +1534,8 @@ class Linker {
                        $stxt = wfMessage( 'historyempty' )->escaped();
                } else {
                        $stxt = wfMessage( 'nbytes' )->numParams( $size )->escaped();
-                       $stxt = wfMessage( 'parentheses' )->rawParams( $stxt )->escaped();
                }
-               return "<span class=\"history-size\">$stxt</span>";
+               return "<span class=\"history-size mw-diff-bytes\">$stxt</span>";
        }
 
        /**
index d3a32d0..9e4080d 100644 (file)
@@ -310,11 +310,12 @@ class HistoryPager extends ReverseChronologicalPager {
 
                $curlink = $this->curLink( $rev, $latest );
                $lastlink = $this->lastLink( $rev, $next );
-               $curLastlinks = $curlink . $this->historyPage->message['pipe-separator'] . $lastlink;
+               $curLastlinks = Html::rawElement( 'span', [], $curlink ) .
+                       Html::rawElement( 'span', [], $lastlink );
                $histLinks = Html::rawElement(
                        'span',
-                       [ 'class' => 'mw-history-histlinks' ],
-                       $this->msg( 'parentheses' )->rawParams( $curLastlinks )->escaped()
+                       [ 'class' => 'mw-history-histlinks mw-changeslist-links' ],
+                       $curLastlinks
                );
 
                $diffButtons = $this->diffButtons( $rev, $firstInList );
@@ -362,7 +363,7 @@ class HistoryPager extends ReverseChronologicalPager {
                $s .= " $link";
                $s .= $dirmark;
                $s .= " <span class='history-user'>" .
-                       Linker::revUserTools( $rev, true ) . "</span>";
+                       Linker::revUserTools( $rev, true, false ) . "</span>";
                $s .= $dirmark;
 
                if ( $rev->isMinor() ) {
@@ -374,12 +375,12 @@ class HistoryPager extends ReverseChronologicalPager {
                        # Size is always public data
                        $prevSize = $this->parentLens[$row->rev_parent_id] ?? 0;
                        $sDiff = ChangesList::showCharacterDifference( $prevSize, $rev->getSize() );
-                       $fSize = Linker::formatRevisionSize( $rev->getSize() );
-                       $s .= ' <span class="mw-changeslist-separator">. .</span> ' . "$fSize $sDiff";
+                       $fSize = Linker::formatRevisionSize( $rev->getSize(), false );
+                       $s .= ' <span class="mw-changeslist-separator"></span> ' . "$fSize $sDiff";
                }
 
                # Text following the character difference is added just before running hooks
-               $s2 = Linker::revComment( $rev, false, true );
+               $s2 = Linker::revComment( $rev, false, true, false );
 
                if ( $notificationtimestamp && ( $row->rev_timestamp >= $notificationtimestamp ) ) {
                        $s2 .= ' <span class="updatedmarker">' . $this->msg( 'updatedmarker' )->escaped() . '</span>';
@@ -427,7 +428,11 @@ class HistoryPager extends ReverseChronologicalPager {
                Hooks::run( 'HistoryRevisionTools', [ $rev, &$tools, $prevRev, $user ] );
 
                if ( $tools ) {
-                       $s2 .= ' ' . $this->msg( 'parentheses' )->rawParams( $lang->pipeList( $tools ) )->escaped();
+                       $s2 .= ' ' . Html::openElement( 'span', [ 'class' => 'mw-changeslist-links' ] );
+                       foreach ( $tools as $tool ) {
+                               $s2 .= Html::rawElement( 'span', [], $tool );
+                       }
+                       $s2 .= Html::closeElement( 'span' );
                }
 
                # Tags
@@ -443,7 +448,7 @@ class HistoryPager extends ReverseChronologicalPager {
 
                # Include separator between character difference and following text
                if ( $s2 !== '' ) {
-                       $s .= ' <span class="mw-changeslist-separator">. .</span> ' . $s2;
+                       $s .= ' <span class="mw-changeslist-separator"></span> ' . $s2;
                }
 
                $attribs = [ 'data-mw-revid' => $rev->getId() ];
index d35843b..80e12cd 100644 (file)
@@ -91,7 +91,7 @@ describe( 'Page', function () {
 
                // check
                HistoryPage.open( name );
-               assert.strictEqual( HistoryPage.comment.getText(), `(Created or updated page with "${content}")` );
+               assert.strictEqual( HistoryPage.comment.getText(), `Created or updated page with "${content}"` );
        } );
 
        it( 'should be deletable', function () {