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

Reply via email to