jenkins-bot has submitted this change and it was merged. Change subject: Add preferences link after "help" ......................................................................
Add preferences link after "help" Reused message from the top-right menu. Change-Id: Id37712e332bf8fed56edaa9ae8f7e04a2a5a5f42 --- M MultimediaViewer.php M MultimediaViewerHooks.php M resources/mmv/ui/mmv.ui.metadataPanel.js M tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js 4 files changed, 45 insertions(+), 2 deletions(-) Approvals: Gergő Tisza: Looks good to me, approved jenkins-bot: Verified diff --git a/MultimediaViewer.php b/MultimediaViewer.php index 171e18b..5a3cc4a 100644 --- a/MultimediaViewer.php +++ b/MultimediaViewer.php @@ -500,6 +500,9 @@ 'multimediaviewer-discuss-mmv', 'multimediaviewer-help-mmv', + // Reuse the preferences message in the top-right menu. + 'mypreferences', + 'multimediaviewer-metadata-error', ), ), diff --git a/MultimediaViewerHooks.php b/MultimediaViewerHooks.php index 40aded1..754e9a6 100644 --- a/MultimediaViewerHooks.php +++ b/MultimediaViewerHooks.php @@ -144,7 +144,7 @@ * @return bool */ public static function resourceLoaderGetConfigVars( &$vars ) { - global $wgAPIPropModules, $wgNetworkPerformanceSamplingFactor, + global $wgAPIPropModules, $wgNetworkPerformanceSamplingFactor, $wgMediaViewerIsInBeta, $wgMediaViewerUseThumbnailGuessing, $wgMediaViewerShowSurvey; $vars['wgMultimediaViewer'] = array( 'infoLink' => self::$infoLink, @@ -156,6 +156,7 @@ ); $vars['wgNetworkPerformanceSamplingFactor'] = $wgNetworkPerformanceSamplingFactor; $vars['wgMediaViewer'] = true; + $vars['wgMediaViewerIsInBeta'] = $wgMediaViewerIsInBeta; return true; } diff --git a/resources/mmv/ui/mmv.ui.metadataPanel.js b/resources/mmv/ui/mmv.ui.metadataPanel.js index f1001a3..3e9f30a 100644 --- a/resources/mmv/ui/mmv.ui.metadataPanel.js +++ b/resources/mmv/ui/mmv.ui.metadataPanel.js @@ -362,7 +362,8 @@ * Initializes two about links at the bottom of the panel. */ MPP.initializeAboutLinks = function () { - var separator = ' | '; + var target, + separator = ' | '; this.$mmvAboutLink = $( '<a>' ) .prop( 'href', mw.config.get( 'wgMultimediaViewer' ).infoLink ) @@ -389,6 +390,26 @@ this.$mmvHelpLink ) .appendTo( this.$imageMetadata ); + + if ( !mw.user.isAnon() ) { + target = mw.Title.newFromText( 'Special:Preferences' ).getUrl(); + + if ( mw.config.get( 'wgMediaViewerIsInBeta' ) ) { + target += '#mw-prefsection-betafeatures'; + } else { + target += '#mw-prefsection-rendering'; + } + + this.$mmvPreferenceLink = $( '<a>' ) + .prop( 'href', target ) + .text( mw.message( 'mypreferences' ) ) + .addClass( 'mw-mmv-preference-link' ); + + this.$mmvAboutLinks.append( + separator, + this.$mmvPreferenceLink + ); + } }; // ********************************* diff --git a/tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js b/tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js index 6915ab7..295fb87 100644 --- a/tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js +++ b/tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js @@ -254,4 +254,22 @@ assert.ok( panel.$repoLi.css( 'background-image' ).indexOf( 'data:image/svg+xml' ) !== -1, 'Repo favicon is correctly replaced by svg for Commons' ); assert.ok( panel.$repoLi.hasClass( 'commons' ), 'Repo has commons class' ); } ); + + QUnit.test( 'About links', 5, function ( assert ) { + var panel, + $qf = $( '#qunit-fixture' ); + + this.sandbox.stub( mw.user, 'isAnon' ); + mw.user.isAnon.returns( false ); + panel = new mw.mmv.ui.MetadataPanel( $qf.empty(), $( '<div>' ).appendTo( $qf ) ); + + assert.strictEqual( $qf.find( '.mw-mmv-about-link' ).length, 1, 'About link is created.' ); + assert.strictEqual( $qf.find( '.mw-mmv-discuss-link' ).length, 1, 'Discuss link is created.' ); + assert.strictEqual( $qf.find( '.mw-mmv-help-link' ).length, 1, 'Help link is created.' ); + assert.strictEqual( $qf.find( '.mw-mmv-preference-link' ).length, 1, 'Preferences link is created for logged-in user.' ); + + mw.user.isAnon.returns( true ); + panel = new mw.mmv.ui.MetadataPanel( $qf.empty(), $( '<div>' ).appendTo( $qf ) ); + assert.strictEqual( $qf.find( '.mw-mmv-preference-link' ).length, 0, 'Preferences link is not created for anon user.' ); + } ); }( mediaWiki, jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/129296 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id37712e332bf8fed56edaa9ae8f7e04a2a5a5f42 Gerrit-PatchSet: 7 Gerrit-Project: mediawiki/extensions/MultimediaViewer Gerrit-Branch: master Gerrit-Owner: MarkTraceur <mtrac...@member.fsf.org> Gerrit-Reviewer: Gergő Tisza <gti...@wikimedia.org> Gerrit-Reviewer: Gilles <gdu...@wikimedia.org> Gerrit-Reviewer: MarkTraceur <mtrac...@member.fsf.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits