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