jenkins-bot has submitted this change and it was merged.

Change subject: Selects html embed by default for logged-out users
......................................................................


Selects html embed by default for logged-out users

Change-Id: Ie472905f0188637157632050ad0571043f04b324
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/379
---
M resources/mmv/ui/mmv.ui.reuse.embed.js
M tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js
2 files changed, 40 insertions(+), 9 deletions(-)

Approvals:
  MarkTraceur: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/mmv/ui/mmv.ui.reuse.embed.js 
b/resources/mmv/ui/mmv.ui.reuse.embed.js
index 61cd271..20e709d 100644
--- a/resources/mmv/ui/mmv.ui.reuse.embed.js
+++ b/resources/mmv/ui/mmv.ui.reuse.embed.js
@@ -61,10 +61,10 @@
                this.createSizePulldownMenus( this.$pane );
 
                /**
-                * Currently selected embed snippet, defaults to wikitext.
+                * Currently selected embed snippet.
                 * @property {jQuery}
                 */
-               this.$currentMainEmbedText = this.embedTextWikitext.$element;
+               this.$currentMainEmbedText = mw.user.isAnon() ? 
this.embedTextHtml.$element : this.embedTextWikitext.$element;
 
                /**
                 * Default item for the html size menu.
@@ -83,13 +83,13 @@
                 * @property {OO.ui.MenuWidget}
                 */
                this.currentSizeMenu = this.embedSizeSwitchWikitext.getMenu();
+               this.currentSizeMenu = mw.user.isAnon() ? 
this.embedSizeSwitchHtml.getMenu() : this.embedSizeSwitchWikitext.getMenu();
 
                /**
                 * Current default item.
                 * @property {OO.ui.MenuItemWidget}
                 */
-               this.currentDefaultItem = this.defaultWikitextItem;
-
+               this.currentDefaultItem = mw.user.isAnon() ? 
this.defaultHtmlItem : this.defaultWikitextItem;
        }
        oo.inheritClass( Embed, mw.mmv.ui.reuse.Tab );
        EP = Embed.prototype;
@@ -107,8 +107,13 @@
         * @param {jQuery} $container
         */
        EP.createSnippetTextAreas = function( $container ) {
+               var wikitextClasses = [ 'mw-mmv-embed-text-wikitext' ],
+                       htmlClasses = [ 'mw-mmv-embed-text-html' ];
+
+               ( mw.user.isAnon() ? htmlClasses : wikitextClasses ).push( 
'active' );
+
                this.embedTextHtml = new oo.ui.TextInputWidget( {
-                       classes: [ 'mw-mmv-embed-text-html' ],
+                       classes: htmlClasses,
                        multiline: true,
                        readOnly: true
                } );
@@ -117,7 +122,7 @@
                        .prop( 'placeholder', mw.message( 
'multimediaviewer-reuse-loading-placeholder' ).text() );
 
                this.embedTextWikitext = new oo.ui.TextInputWidget( {
-                       classes: [ 'mw-mmv-embed-text-wikitext', 'active' ],
+                       classes: wikitextClasses,
                        multiline: true,
                        readOnly: true
                } );
@@ -141,6 +146,7 @@
        EP.createSnippetSelectionButtons = function( $container ) {
                var wikitextButtonOption,
                        htmlButtonOption;
+
                this.embedSwitch = new oo.ui.ButtonSelectWidget( {
                        classes: [ 'mw-mmv-embed-select' ]
                } );
@@ -161,7 +167,8 @@
                        .append( this.embedSwitch.$element )
                        .appendTo( $container );
 
-               this.embedSwitch.selectItem( wikitextButtonOption );
+               // Logged-out defaults to 'html', logged-in to 'wikitext'
+               this.embedSwitch.selectItem( mw.user.isAnon() ? 
htmlButtonOption : wikitextButtonOption );
        };
 
        /**
@@ -170,19 +177,25 @@
         * @param {jQuery} $container
         */
        EP.createSizePulldownMenus = function( $container ) {
+               var wikitextClasses = [ 'mw-mmv-embed-size' ],
+                       htmlClasses = [ 'mw-mmv-embed-size' ];
+
+               ( mw.user.isAnon() ? htmlClasses : wikitextClasses ).push( 
'active' );
+
                // Wikitext sizes pulldown menu
                this.embedSizeSwitchWikitext = this.utils.createPulldownMenu(
                        [ 'default', 'small', 'medium', 'large' ],
-                       [ 'mw-mmv-embed-size', 'active' ],
+                       wikitextClasses,
                        'default'
                );
 
                // Html sizes pulldown menu
                this.embedSizeSwitchHtml = this.utils.createPulldownMenu(
                        [ 'small', 'medium', 'large', 'original' ],
-                       [ 'mw-mmv-embed-size' ],
+                       htmlClasses,
                        'original'
                );
+
 
                $( '<p>' )
                        .append(
@@ -411,6 +424,8 @@
                        .done( function ( thumbnail ) {
                                embed.updateEmbedHtml( thumbnail );
                                embed.select();
+                               // This is needed to update the input's 
wikitext/html based on the currently selected item
+                               embed.currentSizeMenu.selectItem( 
embed.currentSizeMenu.getSelectedItem() );
                        } );
        };
 
diff --git a/tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js 
b/tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js
index 29c7ebf..b1f12f3 100644
--- a/tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js
+++ b/tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js
@@ -373,4 +373,20 @@
                assert.ok( ! embed.embedSizeSwitchHtml.getMenu().isVisible(), 
'HTML size menu should be hidden.' );
        } );
 
+       QUnit.test( 'Logged out', 4, function ( assert ) {
+               var embed,
+                       oldUserIsAnon = mw.user.isAnon;
+
+               mw.user.isAnon = function () { return true; };
+
+               embed = new mw.mmv.ui.reuse.Embed( $qf );
+
+               assert.ok( ! embed.embedSizeSwitchWikitext.$element.hasClass( 
'active' ), 'Wikitext widget should be hidden.' );
+               assert.ok( embed.embedSizeSwitchHtml.$element.hasClass( 
'active' ), 'HTML widget should be visible.' );
+               assert.ok( ! embed.embedTextWikitext.$element.hasClass( 
'active' ), 'Wikitext input should be hidden.' );
+               assert.ok( embed.embedTextHtml.$element.hasClass( 'active' ), 
'HTML input should be visible.' );
+
+               mw.user.isAnon = oldUserIsAnon;
+       } );
+
 }( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/121064
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie472905f0188637157632050ad0571043f04b324
Gerrit-PatchSet: 10
Gerrit-Project: mediawiki/extensions/MultimediaViewer
Gerrit-Branch: master
Gerrit-Owner: Gilles <[email protected]>
Gerrit-Reviewer: Aarcos <[email protected]>
Gerrit-Reviewer: GergÅ‘ Tisza <[email protected]>
Gerrit-Reviewer: Gilles <[email protected]>
Gerrit-Reviewer: MarkTraceur <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to