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

Change subject: Move "Skip tutorial" checkbox from PHP to JS, and display it 
better
......................................................................


Move "Skip tutorial" checkbox from PHP to JS, and display it better

* Move "Skip tutorial" checkbox from the massive HTML blob in
  SpecialUploadWizard to uw.ui.Tutorial, where it's normally shown.
* Wrap the checkbox, label and button in HorizontalLayout, which takes
  care of display and spacing.
* Remove CSS override which is no longer needed.

Bug: T107779
Change-Id: I4ead7fa760694e210c4580075925565d20f4b154
---
M UploadWizardHooks.php
M includes/specials/SpecialUploadWizard.php
M resources/controller/uw.controller.Tutorial.js
M resources/ui/uw.ui.Tutorial.js
M resources/uploadWizard.css
5 files changed, 36 insertions(+), 26 deletions(-)

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



diff --git a/UploadWizardHooks.php b/UploadWizardHooks.php
index 785e3ff..51fea10 100644
--- a/UploadWizardHooks.php
+++ b/UploadWizardHooks.php
@@ -204,7 +204,6 @@
                                'mwe-upwiz-file-upload-notcapable',
                                'mwe-upwiz-file-retry',
                                'mwe-upwiz-next-file-despite-failures',
-                               'mwe-upwiz-skip-tutorial-future',
                                'mwe-upwiz-upload-count',
                                'mwe-upwiz-progressbar-uploading',
                                'mwe-upwiz-almost-finished',
@@ -696,6 +695,7 @@
                        ),
 
                        'messages' => array(
+                               'mwe-upwiz-skip-tutorial-future',
                                'mwe-upwiz-tooltip-skiptutorial',
                                'prefs-uploads',
                                'prefs-upwiz-interface',
diff --git a/includes/specials/SpecialUploadWizard.php 
b/includes/specials/SpecialUploadWizard.php
index 4d61740..f4e30f4 100644
--- a/includes/specials/SpecialUploadWizard.php
+++ b/includes/specials/SpecialUploadWizard.php
@@ -385,10 +385,7 @@
                                                '<div id="mwe-upwiz-tutorial">' 
.
                                                        $tutorialHtml .
                                                '</div>' .
-                                               '<div 
class="mwe-upwiz-buttons">' .
-                                                       '<input type="checkbox" 
id="mwe-upwiz-skip" value="1" name="skip">' .
-                                                       '<label 
for="mwe-upwiz-skip">' . $this->msg('mwe-upwiz-skip-tutorial-future')->text() . 
'</label>' .
-                                               '</div>' .
+                                               '<div 
class="mwe-upwiz-buttons"></div>' .
                                        '</div>' .
 
                                        '<div class="mwe-upwiz-stepdiv 
ui-helper-clearfix" id="mwe-upwiz-stepdiv-file" style="display:none;">' .
diff --git a/resources/controller/uw.controller.Tutorial.js 
b/resources/controller/uw.controller.Tutorial.js
index 30f9a7c..913ebb4 100644
--- a/resources/controller/uw.controller.Tutorial.js
+++ b/resources/controller/uw.controller.Tutorial.js
@@ -19,12 +19,15 @@
        var TP;
 
        function Tutorial( api ) {
+               var controller = this;
+               this.shouldSkipTutorial = false;
                this.api = api;
 
                uw.controller.Step.call(
                        this,
                        new uw.ui.Tutorial()
                                .on( 'skip-tutorial-click', function ( skipped 
) {
+                                       controller.shouldSkipTutorial = skipped;
                                        if ( skipped ) {
                                                ( new 
mw.UploadWizardTutorialEvent( 'skip-check' ) ).dispatch();
                                        } else {
@@ -80,8 +83,7 @@
                ( new mw.UploadWizardTutorialEvent( 'continue' ) ).dispatch();
 
                // if the skip checkbox is checked, set the skip user preference
-               if ( $( '#mwe-upwiz-skip' ).is( ':checked' ) ) {
-                       $( '#mwe-upwiz-skip' ).tipsy( 'hide' );
+               if ( this.shouldSkipTutorial ) {
                        this.setSkipPreference();
                }
 
diff --git a/resources/ui/uw.ui.Tutorial.js b/resources/ui/uw.ui.Tutorial.js
index f6fd7fa..69aee9a 100644
--- a/resources/ui/uw.ui.Tutorial.js
+++ b/resources/ui/uw.ui.Tutorial.js
@@ -33,9 +33,16 @@
                        $( '#mwe-upwiz-step-tutorial' )
                );
 
-               // Event handlers for EventLogging-type things
-               // Skip tutorial checkbox click
-               $( '#mwe-upwiz-skip' )
+               // 'Skip tutorial' checkbox
+               this.skipCheckbox = new OO.ui.CheckboxInputWidget( {
+                       id: 'mwe-upwiz-skip'
+               } );
+               this.skipCheckboxLabel = new OO.ui.LabelWidget( {
+                       input: this.skipCheckbox,
+                       label: mw.message( 'mwe-upwiz-skip-tutorial-future' 
).text()
+               } );
+
+               this.skipCheckbox.$element
                        // Add a friendly "Here's how to get it back" tooltip 
for users who check the "Skip next time" checkbox
                        .tipsy( {
                                title: function () {
@@ -49,19 +56,17 @@
                                delayIn: 0,
                                html: true,
                                trigger: 'manual'
-                       } )
-
-                       .click( function () {
-                               var $this = $( this );
-
-                               ui.emit( 'skip-tutorial-click', $this.prop( 
'checked' ) );
-
-                               if ( $this.prop( 'checked' ) ) {
-                                       $this.tipsy( 'show' );
-                               } else {
-                                       $this.tipsy( 'hide' );
-                               }
                        } );
+
+               this.skipCheckbox.on( 'change', function () {
+                       ui.emit( 'skip-tutorial-click', 
ui.skipCheckbox.isSelected() );
+
+                       if ( ui.skipCheckbox.isSelected() ) {
+                               ui.skipCheckbox.$element.tipsy( 'show' );
+                       } else {
+                               ui.skipCheckbox.$element.tipsy( 'hide' );
+                       }
+               } );
 
                // Helpdesk link click
                $( '#mwe-upwiz-tutorial-helpdesk' ).click( function () {
@@ -69,6 +74,16 @@
                } );
 
                this.addNextButton();
+
+               this.nextButton.on( 'click', function () {
+                       ui.skipCheckbox.$element.tipsy( 'hide' );
+               } );
+
+               this.$div.find( '.mwe-upwiz-buttons' ).append(
+                       new OO.ui.HorizontalLayout( {
+                               items: [ this.skipCheckbox, 
this.skipCheckboxLabel, this.nextButton ]
+                       } ).$element
+               );
        }
 
        oo.inheritClass( Tutorial, uw.ui.Step );
diff --git a/resources/uploadWizard.css b/resources/uploadWizard.css
index 6cf7d81..7216dc8 100644
--- a/resources/uploadWizard.css
+++ b/resources/uploadWizard.css
@@ -609,10 +609,6 @@
        text-align: right;  /* works for now, only one 'next' button */
 }
 
-.mwe-upwiz-buttons .oo-ui-buttonWidget {
-       margin-left: 0.5em; /* Bug T101617 */
-}
-
 a.mwe-upwiz-tooltip-link {
        cursor: pointer;
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4ead7fa760694e210c4580075925565d20f4b154
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/UploadWizard
Gerrit-Branch: master
Gerrit-Owner: Bartosz DziewoƄski <[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