jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/355201 )

Change subject: Don't use property before it's defined
......................................................................


Don't use property before it's defined

A recent performance improvement defers creation of a lot
of properties (mostly jQuery nodes) until we actually
need to display them. deedChooserDetailsField is one of
them, but - in the case of Flickr uploads - is being
used earlier.

Meanwhile also fixed some incorrect jsdoc.

Bug: T165930
Change-Id: Iec96eca6d9abe9e6357a02fcc489c3ca31c3bf87
---
M resources/controller/uw.controller.Details.js
M resources/mw.UploadWizardDetails.js
M tests/qunit/controller/uw.controller.Details.test.js
3 files changed, 11 insertions(+), 10 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/controller/uw.controller.Details.js 
b/resources/controller/uw.controller.Details.js
index 4f859d4..99355d5 100644
--- a/resources/controller/uw.controller.Details.js
+++ b/resources/controller/uw.controller.Details.js
@@ -65,10 +65,10 @@
                        serialized = upload.details ? 
upload.details.getSerialized() : null;
 
                        controller.createDetails( upload );
-
                        if ( upload.file.fromURL || ( upload.deedChooser && 
upload.deedChooser.deed.name === 'custom' ) ) {
                                upload.details.useCustomDeedChooser();
                        }
+                       upload.details.attach();
 
                        // restore earlier details (user may have started 
inputting details,
                        // then went back some steps, and now got here again)
@@ -139,7 +139,6 @@
         */
        uw.controller.Details.prototype.createDetails = function ( upload ) {
                upload.details = new mw.UploadWizardDetails( upload, $( 
'#mwe-upwiz-macro-files' ) );
-               upload.details.attach();
        };
 
        /**
diff --git a/resources/mw.UploadWizardDetails.js 
b/resources/mw.UploadWizardDetails.js
index 99a8afd..06bc9db 100644
--- a/resources/mw.UploadWizardDetails.js
+++ b/resources/mw.UploadWizardDetails.js
@@ -16,6 +16,9 @@
 
                this.mainFields = [];
 
+               this.deedChooserDetails = new uw.DeedChooserDetailsWidget();
+               this.customDeedChooser = false;
+
                this.div = $( '<div class="mwe-upwiz-info-file 
ui-helper-clearfix filled"></div>' );
        };
 
@@ -65,12 +68,11 @@
                        } );
                        this.mainFields.push( this.titleDetailsField );
 
-                       this.deedChooserDetails = new 
uw.DeedChooserDetailsWidget();
                        this.deedChooserDetailsField = new uw.FieldLayout( 
this.deedChooserDetails, {
                                label: mw.message( 'mwe-upwiz-copyright-info' 
).text(),
                                required: true
                        } );
-                       this.deedChooserDetailsField.toggle( false ); // See 
useCustomDeedChooser()
+                       this.deedChooserDetailsField.toggle( 
this.customDeedChooser ); // See useCustomDeedChooser()
                        this.mainFields.push( this.deedChooserDetailsField );
 
                        this.categoriesDetails = new 
uw.CategoriesDetailsWidget();
@@ -355,14 +357,12 @@
                 * toggles whether we use the 'macro' deed or our own
                 */
                useCustomDeedChooser: function () {
-                       this.deedChooserDetailsField.toggle( true );
+                       this.customDeedChooser = true;
                        this.deedChooserDetails.useCustomDeedChooser( 
this.upload );
                },
 
                /**
-                * Given the API result pull some info into the form ( for 
instance, extracted from EXIF, desired filename )
-                *
-                * @param {Object} result Upload API result object
+                * Pull some info into the form ( for instance, extracted from 
EXIF, desired filename )
                 */
                populate: function () {
                        var thumbnailDiv = this.thumbnailDiv;
diff --git a/tests/qunit/controller/uw.controller.Details.test.js 
b/tests/qunit/controller/uw.controller.Details.test.js
index 887399f..9e99cf5 100644
--- a/tests/qunit/controller/uw.controller.Details.test.js
+++ b/tests/qunit/controller/uw.controller.Details.test.js
@@ -22,7 +22,8 @@
                var stubs = {
                        ucdc: sandbox.stub(),
                        getSerialized: sandbox.stub(),
-                       SetSerialized: sandbox.stub()
+                       setSerialized: sandbox.stub(),
+                       attach: sandbox.stub()
                };
 
                return {
@@ -35,7 +36,8 @@
                        details: {
                                useCustomDeedChooser: stubs.ucdc,
                                getSerialized: stubs.getSerialized,
-                               SetSerialized: stubs.setSerialized
+                               setSerialized: stubs.setSerialized,
+                               attach: stubs.attach
                        },
 
                        state: aborted ? 'aborted' : 'stashed',

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iec96eca6d9abe9e6357a02fcc489c3ca31c3bf87
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/UploadWizard
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <[email protected]>
Gerrit-Reviewer: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: Matthias Mullie <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to