Bartosz Dziewoński has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/291721

Change subject: uw.CopyMetadataWidget: Use CheckboxMultiSelectWidget
......................................................................

uw.CopyMetadataWidget: Use CheckboxMultiSelectWidget

Bug: T117784
Change-Id: I0de5e1ec18a839815dc2e9dcd7ed2f3befe6af27
---
M UploadWizard.php
M resources/uw.CopyMetadataWidget.js
M resources/uw.CopyMetadataWidget.less
3 files changed, 11 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UploadWizard 
refs/changes/21/291721/1

diff --git a/UploadWizard.php b/UploadWizard.php
index b3d047a..49f87f8 100644
--- a/UploadWizard.php
+++ b/UploadWizard.php
@@ -156,7 +156,6 @@
        'ext.uploadWizard' => [
                'dependencies' => [
                        'jquery.arrowSteps',
-                       'jquery.checkboxShiftClick',
                        'jquery.client',
                        'jquery.spinner',
                        'jquery.ui.selectable',
diff --git a/resources/uw.CopyMetadataWidget.js 
b/resources/uw.CopyMetadataWidget.js
index 1c12f71..7ee759d 100644
--- a/resources/uw.CopyMetadataWidget.js
+++ b/resources/uw.CopyMetadataWidget.js
@@ -10,8 +10,8 @@
         * @cfg {mw.UploadWizardUpload[]} copyTo Uploads to copy the details to
         */
        uw.CopyMetadataWidget = function UWCopyMetadataWidget( config ) {
-               var metadataType, defaultStatus, copyMetadataMsg, checkbox, 
field,
-                       fieldset = new OO.ui.FieldsetLayout(),
+               var metadataType, defaultStatus, copyMetadataMsg,
+                       checkboxes = [],
                        $copyMetadataWrapperDiv = $( '<div>' ),
                        $copyMetadataDiv = $( '<div>' );
 
@@ -19,7 +19,6 @@
 
                this.copyFrom = config.copyFrom;
                this.copyTo = config.copyTo;
-               this.checkboxes = {};
                this.savedSerializedData = [];
 
                for ( metadataType in 
uw.CopyMetadataWidget.static.copyMetadataTypes ) {
@@ -28,24 +27,17 @@
                        // mwe-upwiz-copy-categories, mwe-upwiz-copy-location, 
mwe-upwiz-copy-other
                        copyMetadataMsg = mw.message( 'mwe-upwiz-copy-' + 
metadataType ).text();
 
-                       checkbox = new OO.ui.CheckboxInputWidget( {
-                               selected: defaultStatus
-                       } );
-
-                       this.checkboxes[ metadataType ] = checkbox;
-
-                       field = new OO.ui.FieldLayout( checkbox, {
+                       checkboxes.push( new OO.ui.CheckboxMultioptionWidget( {
+                               data: metadataType,
                                label: copyMetadataMsg,
-                               align: 'inline'
-                       } );
-
-                       fieldset.addItems( [ field ] );
+                               selected: defaultStatus
+                       } ) );
                }
 
-               // Keep our checkboxShiftClick behaviour alive
-               fieldset.$element.find( 'input[type=checkbox]' 
).checkboxShiftClick();
-
                this.$success = $( '<span>' );
+               this.checkboxesWidget = new OO.ui.CheckboxMultiselectWidget( {
+                       items: checkboxes
+               } );
                this.copyButton = new OO.ui.ButtonWidget( {
                        label: mw.message( 'mwe-upwiz-copy-metadata-button' 
).text(),
                        flags: [ 'constructive' ]
@@ -63,7 +55,7 @@
 
                this.undoButton.toggle( false );
                $copyMetadataDiv.append(
-                       fieldset.$element,
+                       this.checkboxesWidget.$element,
                        this.copyButton.$element,
                        this.undoButton.$element,
                        this.$success
@@ -106,14 +98,7 @@
         * @private
         */
        uw.CopyMetadataWidget.prototype.onCopyClick = function () {
-               var metadataType,
-                       metadataTypes = [];
-               for ( metadataType in 
uw.CopyMetadataWidget.static.copyMetadataTypes ) {
-                       if ( this.checkboxes[ metadataType ].isSelected() ) {
-                               metadataTypes.push( metadataType );
-                       }
-               }
-
+               var metadataTypes = 
this.checkboxesWidget.getSelectedItemsData();
                this.copyMetadata( metadataTypes );
 
                this.undoButton.toggle( true );
diff --git a/resources/uw.CopyMetadataWidget.less 
b/resources/uw.CopyMetadataWidget.less
index 545d571..2d49fcc 100644
--- a/resources/uw.CopyMetadataWidget.less
+++ b/resources/uw.CopyMetadataWidget.less
@@ -9,14 +9,4 @@
                margin-left: 134px;
                padding-left: 1em;
        }
-
-       // Style the checkboxes af if they were a single widget
-       .oo-ui-fieldsetLayout {
-               padding-top: 0.25em;
-               padding-bottom: 0.5em;
-
-               .oo-ui-fieldLayout {
-                       margin-bottom: 0;
-               }
-       }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0de5e1ec18a839815dc2e9dcd7ed2f3befe6af27
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UploadWizard
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <[email protected]>

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

Reply via email to