Media: Make the upload state a dedicated screen, instead of including its own library view. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22781 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5ee8582b7a
commit
b5335a5d24
|
@ -444,29 +444,37 @@
|
||||||
|
|
||||||
// wp.media.controller.Upload
|
// wp.media.controller.Upload
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
media.controller.Upload = media.controller.Library.extend({
|
media.controller.Upload = media.controller.State.extend({
|
||||||
defaults: _.defaults({
|
defaults: _.defaults({
|
||||||
id: 'upload',
|
id: 'upload',
|
||||||
upload: { text: l10n.uploadMoreFiles },
|
content: 'upload',
|
||||||
searchable: false,
|
sidebar: 'empty',
|
||||||
sortable: true
|
toolbar: 'empty',
|
||||||
}, media.controller.Library.prototype.defaults ),
|
|
||||||
|
// The state to navigate to when files are uploading.
|
||||||
|
libraryState: 'library'
|
||||||
|
}, media.controller.State.prototype.defaults ),
|
||||||
|
|
||||||
initialize: function() {
|
initialize: function() {
|
||||||
var library = this.get('library');
|
media.controller.State.prototype.initialize.apply( this, arguments );
|
||||||
|
},
|
||||||
|
|
||||||
// If a `library` attribute isn't provided, create a new
|
activate: function() {
|
||||||
// `Attachments` collection that observes (and thereby receives
|
wp.Uploader.queue.on( 'add', this.uploading, this );
|
||||||
// all uploading) attachments.
|
media.controller.State.prototype.activate.apply( this, arguments );
|
||||||
if ( ! library ) {
|
},
|
||||||
library = new Attachments();
|
|
||||||
library.observe( wp.Uploader.queue );
|
deactivate: function() {
|
||||||
this.set( 'library', library );
|
wp.Uploader.queue.off( null, null, this );
|
||||||
|
media.controller.State.prototype.deactivate.apply( this, arguments );
|
||||||
|
},
|
||||||
|
|
||||||
|
uploading: function( attachment ) {
|
||||||
|
var library = this.get('libraryState');
|
||||||
|
|
||||||
|
this.frame.get( library ).get('selection').add( attachment );
|
||||||
|
this.frame.state( library );
|
||||||
}
|
}
|
||||||
|
|
||||||
media.controller.Library.prototype.initialize.apply( this, arguments );
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// wp.media.controller.Gallery
|
// wp.media.controller.Gallery
|
||||||
|
@ -1175,24 +1183,22 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
createStates: function() {
|
createStates: function() {
|
||||||
var options = this.options,
|
var options = this.options;
|
||||||
attributes;
|
|
||||||
|
|
||||||
attributes = {
|
|
||||||
multiple: this.options.multiple,
|
|
||||||
menu: 'main',
|
|
||||||
toolbar: 'select'
|
|
||||||
};
|
|
||||||
|
|
||||||
// Add the default states.
|
// Add the default states.
|
||||||
this.states.add([
|
this.states.add([
|
||||||
// Main states.
|
// Main states.
|
||||||
new media.controller.Library( _.defaults({
|
new media.controller.Library( _.defaults({
|
||||||
selection: options.selection,
|
selection: options.selection,
|
||||||
library: media.query( options.library )
|
library: media.query( options.library ),
|
||||||
|
multiple: this.options.multiple,
|
||||||
|
menu: 'main',
|
||||||
|
toolbar: 'select'
|
||||||
}, attributes ) ),
|
}, attributes ) ),
|
||||||
|
|
||||||
new media.controller.Upload( attributes )
|
new media.controller.Upload({
|
||||||
|
menu: 'main'
|
||||||
|
})
|
||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -1245,7 +1251,8 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
uploadContent: function() {
|
uploadContent: function() {
|
||||||
// In the meantime, render an inline uploader.
|
this.$el.addClass('hide-sidebar hide-toolbar');
|
||||||
|
|
||||||
this.content.view( new media.view.UploaderInline({
|
this.content.view( new media.view.UploaderInline({
|
||||||
controller: this
|
controller: this
|
||||||
}) );
|
}) );
|
||||||
|
@ -1342,10 +1349,16 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
createStates: function() {
|
createStates: function() {
|
||||||
var options = this.options,
|
var options = this.options;
|
||||||
main, gallery;
|
|
||||||
|
|
||||||
main = {
|
// Add the default states.
|
||||||
|
this.states.add([
|
||||||
|
// Main states.
|
||||||
|
new media.controller.Library({
|
||||||
|
selection: options.selection,
|
||||||
|
library: media.query( options.library ),
|
||||||
|
editable: true,
|
||||||
|
filterable: 'all',
|
||||||
multiple: this.options.multiple,
|
multiple: this.options.multiple,
|
||||||
menu: 'main',
|
menu: 'main',
|
||||||
sidebar: 'attachment-settings',
|
sidebar: 'attachment-settings',
|
||||||
|
@ -1353,26 +1366,11 @@
|
||||||
// Update user settings when users adjust the
|
// Update user settings when users adjust the
|
||||||
// attachment display settings.
|
// attachment display settings.
|
||||||
displayUserSettings: true
|
displayUserSettings: true
|
||||||
};
|
}),
|
||||||
|
|
||||||
gallery = {
|
new media.controller.Upload({
|
||||||
multiple: true,
|
menu: 'main'
|
||||||
menu: 'gallery',
|
}),
|
||||||
toolbar: 'gallery-add',
|
|
||||||
excludeState: 'gallery-edit'
|
|
||||||
};
|
|
||||||
|
|
||||||
// Add the default states.
|
|
||||||
this.states.add([
|
|
||||||
// Main states.
|
|
||||||
new media.controller.Library( _.defaults({
|
|
||||||
selection: options.selection,
|
|
||||||
library: media.query( options.library ),
|
|
||||||
editable: true,
|
|
||||||
filterable: 'all'
|
|
||||||
}, main ) ),
|
|
||||||
|
|
||||||
new media.controller.Upload( main ),
|
|
||||||
|
|
||||||
// Embed states.
|
// Embed states.
|
||||||
new media.controller.Embed(),
|
new media.controller.Embed(),
|
||||||
|
@ -1384,15 +1382,21 @@
|
||||||
menu: 'gallery'
|
menu: 'gallery'
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new media.controller.Library( _.defaults({
|
new media.controller.Library({
|
||||||
id: 'gallery-library',
|
id: 'gallery-library',
|
||||||
library: media.query({ type: 'image' }),
|
library: media.query({ type: 'image' }),
|
||||||
filterable: 'uploaded'
|
filterable: 'uploaded',
|
||||||
}, gallery ) ),
|
multiple: true,
|
||||||
|
menu: 'gallery',
|
||||||
|
toolbar: 'gallery-add',
|
||||||
|
excludeState: 'gallery-edit'
|
||||||
|
}),
|
||||||
|
|
||||||
new media.controller.Upload( _.defaults({
|
new media.controller.Upload({
|
||||||
id: 'gallery-upload'
|
id: 'gallery-upload',
|
||||||
}, gallery ) )
|
menu: 'gallery',
|
||||||
|
libraryState: 'gallery-edit'
|
||||||
|
})
|
||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue