Use mw.Upload.Dialog to upload and insert file

Bug: T115748
Change-Id: I2427cd959f0d9b6872866e120e7bd0e7e298ec27
This commit is contained in:
Prateek Saxena 2015-10-20 19:18:31 +05:30 committed by Bartosz Dziewoński
parent 7532d832c1
commit 5ea5952cd1
5 changed files with 29 additions and 4 deletions

View file

@ -29,6 +29,7 @@
"globals": {
"mediaWiki": false,
"jQuery": false,
"QUnit": false
"QUnit": false,
"OO": true
}
}

View file

@ -84,6 +84,8 @@
"jquery.wikiEditor.dialogs",
"jquery.wikiEditor.toolbar.i18n",
"jquery.suggestions",
"mediawiki.Upload.Dialog",
"mediawiki.ForeignStructuredUpload.BookletLayout",
"mediawiki.api",
"mediawiki.RegExp",
"mediawiki.Title",
@ -99,7 +101,8 @@
"wikieditor-toolbar-file-format-none",
"wikieditor-toolbar-file-format",
"wikieditor-toolbar-tool-file-insert",
"wikieditor-toolbar-tool-file-cancel"
"wikieditor-toolbar-tool-file-cancel",
"wikieditor-toolbar-tool-file-upload"
],
"templates": {
"dialogInsertFile.html": "templates/dialogInsertFile.html",

View file

@ -69,6 +69,7 @@
"wikieditor-toolbar-file-format-none": "none",
"wikieditor-toolbar-tool-file-insert": "Insert",
"wikieditor-toolbar-tool-file-cancel": "Cancel",
"wikieditor-toolbar-tool-file-upload": "Upload",
"wikieditor-toolbar-tool-reference": "Reference",
"wikieditor-toolbar-tool-reference-example": "Insert footnote text here",
"wikieditor-toolbar-tool-reference-cancel": "Cancel",

View file

@ -91,6 +91,7 @@
"wikieditor-toolbar-file-format-none": "Option in file dialog for no format for the added image.\n{{Identical|None}}",
"wikieditor-toolbar-tool-file-insert": "{{Identical|Insert}}",
"wikieditor-toolbar-tool-file-cancel": "{{Identical|Cancel}}",
"wikieditor-toolbar-tool-file-upload": "Label for button that opens the upload dialog",
"wikieditor-toolbar-tool-reference": "{{Identical|Reference}}",
"wikieditor-toolbar-tool-reference-example": "Used as example text when inserting a reference into the editbox from the toolbar",
"wikieditor-toolbar-tool-reference-cancel": "{{Identical|Cancel}}",

View file

@ -3,7 +3,7 @@
*/
/*jshint curly:false, noarg:false, quotmark:false, onevar:false */
/*global alert */
( function ( $, mw ) {
( function ( $, mw, OO ) {
var hasOwn = Object.prototype.hasOwnProperty;
@ -781,6 +781,25 @@ $.wikiEditor.modules.dialogs.config = {
},
'wikieditor-toolbar-tool-file-cancel': function () {
$( this ).dialog( 'close' );
},
'wikieditor-toolbar-tool-file-upload': function () {
var windowManager = new OO.ui.WindowManager(),
uploadDialog = new mw.Upload.Dialog( {
bookletClass: mw.ForeignStructuredUpload.BookletLayout
} );
$( this ).dialog( 'close' );
$( 'body' ).append( windowManager.$element );
windowManager.addWindows( [ uploadDialog ] );
windowManager.openWindow( uploadDialog );
uploadDialog.uploadBooklet.on( 'fileSaved', function ( imageInfo ) {
uploadDialog.close();
windowManager.$element.remove();
$.wikiEditor.modules.dialogs.api.openDialog( this, 'insert-file' );
$( '#wikieditor-toolbar-file-target' ).val( imageInfo.canonicaltitle );
} );
}
},
open: function () {
@ -1224,4 +1243,4 @@ $.wikiEditor.modules.dialogs.config = {
};
}( jQuery, mediaWiki ) );
}( jQuery, mediaWiki, OO ) );