jenkins-bot has submitted this change and it was merged.
Change subject: Move parts of detailsSubmit to details step
......................................................................
Move parts of detailsSubmit to details step
Bug: T90771
Change-Id: I67d65724ed0d8535a656087f26221ea71c06f203
---
M resources/controller/uw.controller.Details.js
M resources/mw.UploadWizard.js
M resources/mw.UploadWizardDetails.js
M resources/ui/uw.ui.Details.js
4 files changed, 73 insertions(+), 43 deletions(-)
Approvals:
Gilles: 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 f4aeba4..dc8a8f7 100644
--- a/resources/controller/uw.controller.Details.js
+++ b/resources/controller/uw.controller.Details.js
@@ -93,6 +93,7 @@
this.valid().done( function () {
details.ui.hideEndButtons();
+ details.submit();
details.emit( 'start-details' );
} ).fail( function () {
details.emit( 'details-error' );
@@ -195,5 +196,32 @@
upload.details.submit();
};
+ /**
+ * Submit details to the API.
+ * @TODO move the actual submission here - need to fiddle with
makeTransitioner first
+ */
+ DP.submit = function () {
+ $.each( this.uploads, function ( i, upload ) {
+ // Skip empty uploads
+ if ( upload === undefined ) {
+ return;
+ }
+
+ // Clear error state
+ if ( upload.state === 'error' ) {
+ upload.state = 'details';
+ }
+
+ // Set details view to have correct title
+ upload.details.setVisibleTitle( upload.title.getMain()
);
+ } );
+
+ // Disable edit interface
+ this.ui.disableEdits();
+
+ // Hide errors (maybe this submission fixes them)
+ this.ui.hideErrors();
+ };
+
uw.controller.Details = Details;
}( mediaWiki.uploadWizard, jQuery, OO ) );
diff --git a/resources/mw.UploadWizard.js b/resources/mw.UploadWizard.js
index c94214d..eb93da7 100644
--- a/resources/mw.UploadWizard.js
+++ b/resources/mw.UploadWizard.js
@@ -53,13 +53,13 @@
} )
.on( 'next-step', function () {
- wizard.removeErrorUploads( function () {
- if ( wizard.showDeed ) {
- wizard.moveToStep(
'deeds' );
- } else {
- wizard.moveToStep(
'details' );
- }
- } );
+ wizard.removeErrorUploads();
+
+ if ( wizard.showDeed ) {
+ wizard.moveToStep( 'deeds' );
+ } else {
+ wizard.moveToStep( 'details' );
+ }
} )
.on( 'reset', function () {
@@ -77,7 +77,7 @@
details: new uw.controller.Details( config )
.on( 'start-details', function () {
- wizard.detailsSubmit( function () {
+ wizard.detailsSubmit().done( function
() {
wizard.detailsErrorCount();
wizard.showNext( 'details',
'complete', finalizeDetails );
} );
@@ -88,7 +88,8 @@
} )
.on( 'finalize-details-after-removal', function
() {
- wizard.removeErrorUploads(
finalizeDetails );
+ wizard.removeErrorUploads();
+ finalizeDetails();
} )
.on( 'no-uploads', function () {
@@ -486,13 +487,11 @@
/**
* Clear out uploads that are in error mode, perhaps before
proceeding to the next step
- * @param {Function} to be called when done
*/
- removeErrorUploads: function ( endCallback ) {
+ removeErrorUploads: function () {
this.removeMatchingUploads( function ( upload ) {
return upload.state === 'error';
} );
- endCallback();
},
/**
@@ -658,43 +657,18 @@
/**
* Submit all edited details and other metadata
* Works just like startUploads -- parallel simultaneous
submits with progress bar.
- * @param {Function} endCallback - called when all uploads
complete. In our case is probably a move to the next step
+ * @return {jQuery.Promise}
*/
- detailsSubmit: function ( endCallback ) {
- $.each( this.uploads, function ( i, upload ) {
- if ( upload === undefined ) {
- return;
- }
- // clear out error states, so we don't end up
in an infinite loop
- if ( upload.state === 'error' ) {
- upload.state = 'details';
- }
-
- // set the "minimized" view of the details to
have the right title
- $( upload.details.submittingDiv )
- .find(
'.mwe-upwiz-visible-file-filename-text' )
- .html( upload.title.getMain() );
- } );
-
- // remove ability to edit details
- $( '#mwe-upwiz-stepdiv-details' )
- .find( '.mwe-upwiz-data' )
- .morphCrossfade( '.mwe-upwiz-submitting' );
-
- // hide errors ( assuming maybe this submission will
fix it, if it hadn't blocked )
- $( '#mwe-upwiz-stepdiv-details' )
- .find( 'label.mwe-error' )
- .hide().empty();
-
- $( '#mwe-upwiz-stepdiv-details' )
- .find( 'input.mwe-error' )
- .removeClass( 'mwe-error' );
+ detailsSubmit: function () {
+ var deferred = $.Deferred();
// add the upload progress bar, with ETA
// add in the upload count
this.steps.details.transitionAll().done( function () {
- endCallback();
+ deferred.resolve();
} );
+
+ return deferred.promise();
},
/**
diff --git a/resources/mw.UploadWizardDetails.js
b/resources/mw.UploadWizardDetails.js
index 950618f..2355376 100644
--- a/resources/mw.UploadWizardDetails.js
+++ b/resources/mw.UploadWizardDetails.js
@@ -1761,6 +1761,12 @@
this.upload.title =
mw.UploadWizardDetails.makeTitleInFileNS( cleaned + '.' + ext ) ||
this.upload.title;
return this.upload.title;
+ },
+
+ setVisibleTitle: function ( s ) {
+ $( this.submittingDiv )
+ .find( '.mwe-upwiz-visible-file-filename-text' )
+ .text( s );
}
};
diff --git a/resources/ui/uw.ui.Details.js b/resources/ui/uw.ui.Details.js
index eae634e..61bb44c 100644
--- a/resources/ui/uw.ui.Details.js
+++ b/resources/ui/uw.ui.Details.js
@@ -98,5 +98,27 @@
.hide();
};
+ /**
+ * Disable edits to the details.
+ */
+ DP.disableEdits = function () {
+ this.$div
+ .find( '.mwe-upwiz-data' )
+ .morphCrossfade( '.mwe-upwiz-submitting' );
+ };
+
+ /**
+ * Hide validation errors.
+ */
+ DP.hideErrors = function () {
+ this.$div
+ .find( 'label.mwe-error' )
+ .hide().empty();
+
+ this.$div
+ .find( 'input.mwe-error' )
+ .removeClass( 'mwe-error' );
+ };
+
ui.Details = Details;
}( mediaWiki, jQuery, mediaWiki.uploadWizard.ui, OO ) );
--
To view, visit https://gerrit.wikimedia.org/r/192873
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I67d65724ed0d8535a656087f26221ea71c06f203
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/UploadWizard
Gerrit-Branch: master
Gerrit-Owner: MarkTraceur <[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