From aaea6a0fc072408ac00fef912b685eedf9a6d2d4 Mon Sep 17 00:00:00 2001 From: jdlrobson Date: Tue, 2 Apr 2019 16:33:34 -0700 Subject: [PATCH] Do not hardcode square brackets in "rollback link" Additional change: * standardize on "optional" lowercase in qqq messages Bug: T219948 Change-Id: I7d79c0ca534bff7165975943d5fa22dfe0a616db --- includes/changes/ChangesList.php | 3 ++- includes/specials/pagers/ContribsPager.php | 3 ++- languages/i18n/en.json | 2 ++ languages/i18n/qqq.json | 2 ++ resources/Resources.php | 2 ++ .../src/mediawiki.interface.helpers.styles.less | 16 ++++++++++++++++ tests/selenium/specs/rollback.js | 2 +- 7 files changed, 27 insertions(+), 3 deletions(-) diff --git a/includes/changes/ChangesList.php b/includes/changes/ChangesList.php index 34adea9c4c..ec9a0610a9 100644 --- a/includes/changes/ChangesList.php +++ b/includes/changes/ChangesList.php @@ -709,7 +709,8 @@ class ChangesList extends ContextSource { 'actor' => $rc->mAttribs['rc_actor'] ?? null, 'deleted' => $rc->mAttribs['rc_deleted'] ] ); - $s .= ' ' . Linker::generateRollback( $rev, $this->getContext() ); + $s .= ' ' . Linker::generateRollback( $rev, $this->getContext(), + [ 'noBrackets' ] ); } } } diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index d82ba535a6..139f92e6b2 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -642,7 +642,8 @@ class ContribsPager extends RangeChronologicalPager { && $page->quickUserCan( 'edit', $user ) ) { $this->preventClickjacking(); - $topmarktext .= ' ' . Linker::generateRollback( $rev, $this->getContext() ); + $topmarktext .= ' ' . Linker::generateRollback( $rev, $this->getContext(), + [ 'noBrackets' ] ); } } # Is there a visible previous revision? diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 7e40594e6d..bf9f4ff5db 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -3385,6 +3385,8 @@ "parentheses-start": "(", "parentheses-end": ")", "brackets": "[$1]", + "brackets-start": "[", + "brackets-end": "]", "quotation-marks": "\"$1\"", "imgmultipageprev": "← previous page", "imgmultipagenext": "next page →", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index a58010e089..67c16ccaa0 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -3594,6 +3594,8 @@ "parentheses-start": "{{optional}}", "parentheses-end": "{{optional}}", "brackets": "{{Optional}}\n{{Format|plain}}", + "brackets-start": "{{optional}}\n{{Format|plain}}", + "brackets-end": "{{optional}}\n{{Format|plain}}", "quotation-marks": "Quotation marks, for quoting, sometimes titles etc., depending on the language.\n\nSee: [[w:Quotation mark#Summary table|Non-English usage of quotation marks on Wikipedia]].\n\nParameters:\n* $1 - text to be wrapped in quotation marks", "imgmultipageprev": "{{Identical|Previous page}}", "imgmultipagenext": "{{Identical|Next page}}", diff --git a/resources/Resources.php b/resources/Resources.php index 6298086a21..d4dc6639c5 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1966,6 +1966,8 @@ return [ 'lessMessages' => [ 'parentheses-start', 'parentheses-end', + 'brackets-start', + 'brackets-end', 'pipe-separator' ], 'skinStyles' => [ diff --git a/resources/src/mediawiki.interface.helpers.styles.less b/resources/src/mediawiki.interface.helpers.styles.less index a0e9f150fb..59eca6b158 100644 --- a/resources/src/mediawiki.interface.helpers.styles.less +++ b/resources/src/mediawiki.interface.helpers.styles.less @@ -8,6 +8,16 @@ content: '. .'; } +.mw-rollback-link { + &:before { + content: '@{msg-brackets-start}'; + } + + &:after { + content: '@{msg-brackets-end}'; + } +} + /* stylelint-disable-next-line selector-class-pattern */ .comment--without-parentheses, .mw-changeslist-links, @@ -30,4 +40,10 @@ > span:not( :first-child ):before { content: '@{msg-pipe-separator}'; } + + // In pages like history, do not add additional brackets where not needed + .mw-rollback-link:before, + .mw-rollback-link:after { + content: ''; + } } diff --git a/tests/selenium/specs/rollback.js b/tests/selenium/specs/rollback.js index daf7112e63..22c05f4040 100644 --- a/tests/selenium/specs/rollback.js +++ b/tests/selenium/specs/rollback.js @@ -35,7 +35,7 @@ describe( 'Rollback with confirmation', function () { it.skip( 'should offer rollback options for admin users', function () { assert.strictEqual( HistoryPage.rollback.getText(), 'rollback 1 edit' ); - HistoryPage.rollback.click(); + HistoryPage.rollbackLink.click(); assert.strictEqual( HistoryPage.rollbackConfirmable.getText(), 'Please confirm:' ); assert.strictEqual( HistoryPage.rollbackConfirmableYes.getText(), 'Rollback' ); -- 2.20.1