diff --git a/wp-includes/js/media/audio-video.js b/wp-includes/js/media/audio-video.js index ace5919144..cf9d7550bf 100644 --- a/wp-includes/js/media/audio-video.js +++ b/wp-includes/js/media/audio-video.js @@ -345,7 +345,7 @@ module.exports = PostMedia; * @augments wp.Backbone.View * @augments Backbone.View */ -var MediaDetails = require( './media-details' ), +var MediaDetails = wp.media.view.MediaDetails, AudioDetails; AudioDetails = MediaDetails.extend({ @@ -371,7 +371,7 @@ AudioDetails = MediaDetails.extend({ module.exports = AudioDetails; -},{"./media-details":9}],6:[function(require,module,exports){ +},{}],6:[function(require,module,exports){ /*globals wp */ /** @@ -389,9 +389,7 @@ module.exports = AudioDetails; */ var MediaDetails = wp.media.view.MediaFrame.MediaDetails, MediaLibrary = wp.media.controller.MediaLibrary, - - AudioDetailsView = require( '../audio-details.js' ), - AudioDetailsController = require( '../../controllers/audio-details.js' ), + l10n = wp.media.view.l10n, AudioDetails; @@ -408,7 +406,7 @@ AudioDetails = MediaDetails.extend({ }, initialize: function( options ) { - options.DetailsView = AudioDetailsView; + options.DetailsView = wp.media.view.AudioDetails; options.cancelText = l10n.audioDetailsCancel; options.addText = l10n.audioAddSourceTitle; @@ -424,7 +422,7 @@ AudioDetails = MediaDetails.extend({ createStates: function() { this.states.add([ - new AudioDetailsController( { + new wp.media.controller.AudioDetails( { media: this.media } ), @@ -451,7 +449,7 @@ AudioDetails = MediaDetails.extend({ module.exports = AudioDetails; -},{"../../controllers/audio-details.js":2,"../audio-details.js":5}],7:[function(require,module,exports){ +},{}],7:[function(require,module,exports){ /*globals wp */ /** @@ -466,9 +464,7 @@ module.exports = AudioDetails; * @augments Backbone.View * @mixes wp.media.controller.StateMachine */ -var View = wp.media.View, - Toolbar = wp.media.view.Toolbar, - Select = wp.media.view.MediaFrame.Select, +var Select = wp.media.view.MediaFrame.Select, l10n = wp.media.view.l10n, MediaDetails; @@ -531,7 +527,7 @@ MediaDetails = Select.extend({ } } }, - separateCancel: new View({ + separateCancel: new wp.media.View({ className: 'separator', priority: 40 }) @@ -540,7 +536,7 @@ MediaDetails = Select.extend({ }, setPrimaryButton: function(text, handler) { - this.toolbar.set( new Toolbar({ + this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { button: { @@ -603,8 +599,6 @@ module.exports = MediaDetails; */ var MediaDetails = wp.media.view.MediaFrame.MediaDetails, MediaLibrary = wp.media.controller.MediaLibrary, - VideoDetailsView = require( '../video-details.js' ), - VideoDetailsController = require( '../../controllers/video-details.js' ), l10n = wp.media.view.l10n, VideoDetails; @@ -621,7 +615,7 @@ VideoDetails = MediaDetails.extend({ }, initialize: function( options ) { - options.DetailsView = VideoDetailsView; + options.DetailsView = wp.media.view.VideoDetails; options.cancelText = l10n.videoDetailsCancel; options.addText = l10n.videoAddSourceTitle; @@ -639,7 +633,7 @@ VideoDetails = MediaDetails.extend({ createStates: function() { this.states.add([ - new VideoDetailsController({ + new wp.media.controller.VideoDetails({ media: this.media }), @@ -724,7 +718,7 @@ VideoDetails = MediaDetails.extend({ module.exports = VideoDetails; -},{"../../controllers/video-details.js":3,"../video-details.js":10}],9:[function(require,module,exports){ +},{}],9:[function(require,module,exports){ /*global wp, jQuery, _, MediaElementPlayer */ /** @@ -906,7 +900,7 @@ module.exports = MediaDetails; * @augments wp.Backbone.View * @augments Backbone.View */ -var MediaDetails = require( './media-details' ), +var MediaDetails = wp.media.view.MediaDetails, VideoDetails; VideoDetails = MediaDetails.extend({ @@ -937,4 +931,4 @@ VideoDetails = MediaDetails.extend({ module.exports = VideoDetails; -},{"./media-details":9}]},{},[1]); +},{}]},{},[1]); diff --git a/wp-includes/js/media/audio-video.min.js b/wp-includes/js/media/audio-video.min.js index afbd7e4bfb..d8b88bb82a 100644 --- a/wp-includes/js/media/audio-video.min.js +++ b/wp-includes/js/media/audio-video.min.js @@ -1 +1 @@ -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),b.exports=c},{"../../controllers/video-details.js":3,"../video-details.js":10}],9:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({initialize:function(){_.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",wp.media.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",wp.media.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=_.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),d.prototype.initialize.apply(this,arguments)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(a){var b,c=e(a.currentTarget).parent();b=c.find("input").data("setting"),b&&(this.model.unset(b),this.trigger("media:setting:remove",this)),c.remove()},setTracks:function(){var a="";_.each(this.$(".content-track"),function(b){a+=e(b).val()}),this.model.set("content",a),this.trigger("media:setting:remove",this)},addSource:function(a){this.controller.lastMime=e(a.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},loadPlayer:function(){this.players.push(new MediaElementPlayer(this.media,this.settings)),this.scriptXhr=!1},setPlayer:function(){var a;this.players.length||!this.media||this.scriptXhr||(this.model.get("src").indexOf("vimeo")>-1&&!("Froogaloop"in window)?(a=wp.media.mixin.mejsSettings,this.scriptXhr=e.getScript(a.pluginPath+"froogaloop.min.js",_.bind(this.loadPlayer,this))):this.loadPlayer())},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){return d.prototype.render.apply(this,arguments),setTimeout(_.bind(function(){this.resetFocus()},this),10),this.settings=_.defaults({success:this.success},wp.media.mixin.mejsSettings),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(a){var b=c.instances++;return _.each(e(a).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",b].join("")}),a}}),b.exports=c},{}],10:[function(a,b){var c,d=a("./media-details");c=d.extend({className:"video-details",template:wp.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")||a.hasClass("vimeo-video")?a.get(0):d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{"./media-details":9}]},{},[1]); \ No newline at end of file +!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({initialize:function(){_.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",wp.media.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",wp.media.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=_.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),d.prototype.initialize.apply(this,arguments)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(a){var b,c=e(a.currentTarget).parent();b=c.find("input").data("setting"),b&&(this.model.unset(b),this.trigger("media:setting:remove",this)),c.remove()},setTracks:function(){var a="";_.each(this.$(".content-track"),function(b){a+=e(b).val()}),this.model.set("content",a),this.trigger("media:setting:remove",this)},addSource:function(a){this.controller.lastMime=e(a.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},loadPlayer:function(){this.players.push(new MediaElementPlayer(this.media,this.settings)),this.scriptXhr=!1},setPlayer:function(){var a;this.players.length||!this.media||this.scriptXhr||(this.model.get("src").indexOf("vimeo")>-1&&!("Froogaloop"in window)?(a=wp.media.mixin.mejsSettings,this.scriptXhr=e.getScript(a.pluginPath+"froogaloop.min.js",_.bind(this.loadPlayer,this))):this.loadPlayer())},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){return d.prototype.render.apply(this,arguments),setTimeout(_.bind(function(){this.resetFocus()},this),10),this.settings=_.defaults({success:this.success},wp.media.mixin.mejsSettings),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(a){var b=c.instances++;return _.each(e(a).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",b].join("")}),a}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaDetails;c=d.extend({className:"video-details",template:wp.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")||a.hasClass("vimeo-video")?a.get(0):d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{}]},{},[1]); \ No newline at end of file diff --git a/wp-includes/js/media/controllers/collection-add.js b/wp-includes/js/media/controllers/collection-add.js index e166f0e015..07c96cfb02 100644 --- a/wp-includes/js/media/controllers/collection-add.js +++ b/wp-includes/js/media/controllers/collection-add.js @@ -34,7 +34,7 @@ * @param {string} attributes.collectionType The collection type. (e.g. 'playlist'). */ var Selection = wp.media.model.Selection, - Library = require( './library.js' ), + Library = wp.media.controller.Library, CollectionAdd; CollectionAdd = Library.extend({ diff --git a/wp-includes/js/media/controllers/collection-edit.js b/wp-includes/js/media/controllers/collection-edit.js index 28ce858153..a715faf70f 100644 --- a/wp-includes/js/media/controllers/collection-edit.js +++ b/wp-includes/js/media/controllers/collection-edit.js @@ -34,9 +34,7 @@ * @param {string} attributes.type The collection's media type. (e.g. 'video'). * @param {string} attributes.collectionType The collection type. (e.g. 'playlist'). */ -var Library = require( './library.js' ), - View = require( '../views/view.js' ), - EditLibraryView = require( '../views/attachment/edit-library.js' ), +var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, $ = jQuery, CollectionEdit; @@ -75,7 +73,7 @@ CollectionEdit = Library.extend({ } // The single `Attachment` view to be used in the `Attachments` view. if ( ! this.get('AttachmentView') ) { - this.set( 'AttachmentView', EditLibraryView ); + this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary ); } Library.prototype.initialize.apply( this, arguments ); }, @@ -141,7 +139,7 @@ CollectionEdit = Library.extend({ attachmentsBrowserView.sidebar.set( obj ); if ( dragInfoText ) { - attachmentsBrowserView.toolbar.set( 'dragInfo', new View({ + attachmentsBrowserView.toolbar.set( 'dragInfo', new wp.media.View({ el: $( '
' + dragInfoText + '
' )[0], priority: -40 }) ); diff --git a/wp-includes/js/media/controllers/cropper.js b/wp-includes/js/media/controllers/cropper.js index 0de436252a..10f8020808 100644 --- a/wp-includes/js/media/controllers/cropper.js +++ b/wp-includes/js/media/controllers/cropper.js @@ -9,13 +9,10 @@ * @augments wp.media.controller.State * @augments Backbone.Model */ -var State = require( './state.js' ), - ToolbarView = require( '../views/toolbar.js' ), - CropperView = require( '../views/cropper.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, Cropper; -Cropper = State.extend({ +Cropper = wp.media.controller.State.extend({ defaults: { id: 'cropper', title: l10n.cropImage, @@ -38,7 +35,7 @@ Cropper = State.extend({ }, createCropContent: function() { - this.cropperView = new CropperView({ + this.cropperView = new wp.media.view.Cropper({ controller: this, attachment: this.get('selection').first() }); @@ -104,7 +101,7 @@ Cropper = State.extend({ }); } - this.frame.toolbar.set( new ToolbarView(toolbarOptions) ); + this.frame.toolbar.set( new wp.media.view.Toolbar(toolbarOptions) ); }, doCrop: function( attachment ) { diff --git a/wp-includes/js/media/controllers/edit-attachment-metadata.js b/wp-includes/js/media/controllers/edit-attachment-metadata.js index f2d2aa1c32..31dc001adc 100644 --- a/wp-includes/js/media/controllers/edit-attachment-metadata.js +++ b/wp-includes/js/media/controllers/edit-attachment-metadata.js @@ -9,11 +9,10 @@ * @augments wp.media.controller.State * @augments Backbone.Model */ -var State = wp.media.controller.State, - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, EditAttachmentMetadata; -EditAttachmentMetadata = State.extend({ +EditAttachmentMetadata = wp.media.controller.State.extend({ defaults: { id: 'edit-attachment', // Title string passed to the frame's title region view. diff --git a/wp-includes/js/media/controllers/edit-image.js b/wp-includes/js/media/controllers/edit-image.js index d80195fce9..426114b53a 100644 --- a/wp-includes/js/media/controllers/edit-image.js +++ b/wp-includes/js/media/controllers/edit-image.js @@ -18,12 +18,10 @@ * @param {string} [attributes.menu=false] Initial mode for the menu region. * @param {string} [attributes.url] Unused. @todo Consider removal. */ -var State = require( './state.js' ), - ToolbarView = require( '../views/toolbar.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, EditImage; -EditImage = State.extend({ +EditImage = wp.media.controller.State.extend({ defaults: { id: 'edit-image', title: l10n.editImage, @@ -55,7 +53,7 @@ EditImage = State.extend({ lastState = frame.lastState(), previous = lastState && lastState.id; - frame.toolbar.set( new ToolbarView({ + frame.toolbar.set( new wp.media.view.Toolbar({ controller: frame, items: { back: { diff --git a/wp-includes/js/media/controllers/embed.js b/wp-includes/js/media/controllers/embed.js index ca43d42f44..7426d2cde5 100644 --- a/wp-includes/js/media/controllers/embed.js +++ b/wp-includes/js/media/controllers/embed.js @@ -21,12 +21,11 @@ * @param {string} [attributes.url] The embed URL. * @param {object} [attributes.metadata={}] Properties of the embed, which will override attributes.url if set. */ -var State = require( './state.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, $ = Backbone.$, Embed; -Embed = State.extend({ +Embed = wp.media.controller.State.extend({ defaults: { id: 'embed', title: l10n.insertFromUrlTitle, diff --git a/wp-includes/js/media/controllers/featured-image.js b/wp-includes/js/media/controllers/featured-image.js index 9ed2b93e1c..f6cdce3472 100644 --- a/wp-includes/js/media/controllers/featured-image.js +++ b/wp-includes/js/media/controllers/featured-image.js @@ -32,7 +32,7 @@ * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ var Attachment = wp.media.model.Attachment, - Library = require( './library.js' ), + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, FeaturedImage; diff --git a/wp-includes/js/media/controllers/gallery-add.js b/wp-includes/js/media/controllers/gallery-add.js index 4e06591099..a9b1f630d6 100644 --- a/wp-includes/js/media/controllers/gallery-add.js +++ b/wp-includes/js/media/controllers/gallery-add.js @@ -32,7 +32,7 @@ * Defaults to false because for this state, because the library of the Edit Gallery state is the selection. */ var Selection = wp.media.model.Selection, - Library = require( './library.js' ), + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryAdd; diff --git a/wp-includes/js/media/controllers/gallery-edit.js b/wp-includes/js/media/controllers/gallery-edit.js index b8a5306433..da9b2e1708 100644 --- a/wp-includes/js/media/controllers/gallery-edit.js +++ b/wp-includes/js/media/controllers/gallery-edit.js @@ -31,9 +31,7 @@ * @param {view} [attributes.AttachmentView] The single `Attachment` view to be used in the `Attachments`. * If none supplied, defaults to wp.media.view.Attachment.EditLibrary. */ -var Library = require( './library.js' ), - EditLibraryView = require( '../views/attachment/edit-library.js' ), - GallerySettingsView = require( '../views/settings/gallery.js' ), +var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryEdit; @@ -67,7 +65,7 @@ GalleryEdit = Library.extend({ // The single `Attachment` view to be used in the `Attachments` view. if ( ! this.get('AttachmentView') ) { - this.set( 'AttachmentView', EditLibraryView ); + this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary ); } Library.prototype.initialize.apply( this, arguments ); @@ -121,7 +119,7 @@ GalleryEdit = Library.extend({ library.gallery = library.gallery || new Backbone.Model(); browser.sidebar.set({ - gallery: new GallerySettingsView({ + gallery: new wp.media.view.Settings.Gallery({ controller: this, model: library.gallery, priority: 40 diff --git a/wp-includes/js/media/controllers/image-details.js b/wp-includes/js/media/controllers/image-details.js index 21eb7ce141..ab7d6c9191 100644 --- a/wp-includes/js/media/controllers/image-details.js +++ b/wp-includes/js/media/controllers/image-details.js @@ -24,8 +24,8 @@ * @todo This state inherits some defaults from media.controller.Library.prototype.defaults, * however this may not do anything. */ -var State = require( './state.js' ), - Library = require( './library.js' ), +var State = wp.media.controller.State, + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ImageDetails; diff --git a/wp-includes/js/media/controllers/library.js b/wp-includes/js/media/controllers/library.js index 265831d8f0..d089adfb64 100644 --- a/wp-includes/js/media/controllers/library.js +++ b/wp-includes/js/media/controllers/library.js @@ -34,14 +34,12 @@ * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ -var selectionSync = require( '../utils/selection-sync.js' ), - State = require( './state.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, getUserSetting = window.getUserSetting, setUserSetting = window.setUserSetting, Library; -Library = State.extend({ +Library = wp.media.controller.State.extend({ defaults: { id: 'library', title: l10n.mediaLibraryTitle, @@ -269,6 +267,6 @@ Library = State.extend({ }); // Make selectionSync available on any Media Library state. -_.extend( Library.prototype, selectionSync ); +_.extend( Library.prototype, wp.media.selectionSync ); module.exports = Library; diff --git a/wp-includes/js/media/controllers/media-library.js b/wp-includes/js/media/controllers/media-library.js index 2e890b7dcd..ae04550530 100644 --- a/wp-includes/js/media/controllers/media-library.js +++ b/wp-includes/js/media/controllers/media-library.js @@ -8,7 +8,7 @@ * @augments wp.media.controller.State * @augments Backbone.Model */ -var Library = require( './library.js' ), +var Library = wp.media.controller.Library, MediaLibrary; MediaLibrary = Library.extend({ diff --git a/wp-includes/js/media/controllers/replace-image.js b/wp-includes/js/media/controllers/replace-image.js index 206aa904c3..cd33e75e28 100644 --- a/wp-includes/js/media/controllers/replace-image.js +++ b/wp-includes/js/media/controllers/replace-image.js @@ -31,7 +31,7 @@ * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ -var Library = require( './library.js' ), +var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ReplaceImage; diff --git a/wp-includes/js/media/grid.js b/wp-includes/js/media/grid.js index dff1832d75..6c8faa5a82 100644 --- a/wp-includes/js/media/grid.js +++ b/wp-includes/js/media/grid.js @@ -10,11 +10,10 @@ * @augments wp.media.controller.State * @augments Backbone.Model */ -var State = wp.media.controller.State, - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, EditAttachmentMetadata; -EditAttachmentMetadata = State.extend({ +EditAttachmentMetadata = wp.media.controller.State.extend({ defaults: { id: 'edit-attachment', // Title string passed to the frame's title region view. @@ -140,6 +139,8 @@ TwoColumn = Details.extend({ module.exports = TwoColumn; },{}],5:[function(require,module,exports){ +/*globals wp */ + /** * wp.media.view.DeleteSelectedPermanentlyButton * @@ -153,7 +154,7 @@ module.exports = TwoColumn; * @augments Backbone.View */ var Button = wp.media.view.Button, - DeleteSelected = require( './delete-selected.js' ), + DeleteSelected = wp.media.view.DeleteSelectedButton, DeleteSelectedPermanently; DeleteSelectedPermanently = DeleteSelected.extend({ @@ -186,7 +187,7 @@ DeleteSelectedPermanently = DeleteSelected.extend({ module.exports = DeleteSelectedPermanently; -},{"./delete-selected.js":6}],6:[function(require,module,exports){ +},{}],6:[function(require,module,exports){ /*globals wp */ /** @@ -365,13 +366,6 @@ module.exports = Details; */ var Frame = wp.media.view.Frame, MediaFrame = wp.media.view.MediaFrame, - Modal = wp.media.view.Modal, - AttachmentCompat = wp.media.view.AttachmentCompat, - EditImageController = wp.media.controller.EditImage, - - EditAttachmentMetadata = require( '../../controllers/edit-attachment-metadata.js' ), - TwoColumn = require( '../attachment/details-two-column.js' ), - DetailsView = require( '../edit-image-details.js' ), $ = jQuery, EditAttachments; @@ -427,7 +421,7 @@ EditAttachments = MediaFrame.extend({ createModal: function() { // Initialize modal container view. if ( this.options.modal ) { - this.modal = new Modal({ + this.modal = new wp.media.view.Modal({ controller: this, title: this.options.title }); @@ -456,7 +450,7 @@ EditAttachments = MediaFrame.extend({ */ createStates: function() { this.states.add([ - new EditAttachmentMetadata( { model: this.model } ) + new wp.media.controller.EditAttachmentMetadata( { model: this.model } ) ]); }, @@ -467,7 +461,7 @@ EditAttachments = MediaFrame.extend({ * should be set with the proper region view. */ editMetadataMode: function( contentRegion ) { - contentRegion.view = new TwoColumn({ + contentRegion.view = new wp.media.view.Attachment.Details.TwoColumn({ controller: this, model: this.model }); @@ -476,7 +470,7 @@ EditAttachments = MediaFrame.extend({ * Attach a subview to display fields added via the * `attachment_fields_to_edit` filter. */ - contentRegion.view.views.set( '.attachment-compat', new AttachmentCompat({ + contentRegion.view.views.set( '.attachment-compat', new wp.media.view.AttachmentCompat({ controller: this, model: this.model }) ); @@ -494,7 +488,7 @@ EditAttachments = MediaFrame.extend({ * should be set with the proper region view. */ editImageMode: function( contentRegion ) { - var editImageController = new EditImageController( { + var editImageController = new wp.media.controller.EditImage( { model: this.model, frame: this } ); @@ -503,7 +497,7 @@ EditAttachments = MediaFrame.extend({ editImageController._router = function() {}; editImageController._menu = function() {}; - contentRegion.view = new DetailsView( { + contentRegion.view = new wp.media.view.EditImage.Details( { model: this.model, frame: this, controller: editImageController @@ -596,7 +590,7 @@ EditAttachments = MediaFrame.extend({ module.exports = EditAttachments; -},{"../../controllers/edit-attachment-metadata.js":1,"../attachment/details-two-column.js":4,"../edit-image-details.js":8}],10:[function(require,module,exports){ +},{}],10:[function(require,module,exports){ /*globals wp, _, Backbone */ /** @@ -615,12 +609,8 @@ module.exports = EditAttachments; * @mixes wp.media.controller.StateMachine */ var MediaFrame = wp.media.view.MediaFrame, - UploaderWindow = wp.media.view.UploaderWindow, - AttachmentsBrowser = wp.media.view.AttachmentsBrowser, Library = wp.media.controller.Library, - Router = require( '../../routers/manage.js' ), - $ = Backbone.$, Manage; @@ -657,7 +647,7 @@ Manage = MediaFrame.extend({ // Initialize a window-wide uploader. if ( this.options.uploader ) { - this.uploader = new UploaderWindow({ + this.uploader = new wp.media.view.UploaderWindow({ controller: this, uploader: { dropzone: document.body, @@ -670,7 +660,7 @@ Manage = MediaFrame.extend({ this.options.uploader = false; } - this.gridRouter = new Router(); + this.gridRouter = new wp.media.view.MediaFrame.Manage.Router(); // Call 'initialize' directly on the parent class. MediaFrame.prototype.initialize.apply( this, arguments ); @@ -820,7 +810,7 @@ Manage = MediaFrame.extend({ var state = this.state(); // Browse our library of attachments. - this.browserView = contentRegion.view = new AttachmentsBrowser({ + this.browserView = contentRegion.view = new wp.media.view.AttachmentsBrowser({ controller: this, collection: state.get('library'), selection: state.get('selection'), @@ -870,4 +860,4 @@ Manage = MediaFrame.extend({ module.exports = Manage; -},{"../../routers/manage.js":3}]},{},[2]); +},{}]},{},[2]); diff --git a/wp-includes/js/media/grid.min.js b/wp-includes/js/media/grid.min.js index f650de8c76..a985a70ff7 100644 --- a/wp-includes/js/media/grid.min.js +++ b/wp-includes/js/media/grid.min.js @@ -1 +1 @@ -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .media-button").show(),this.controller.state().get("selection").reset())}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.View,e=wp.media.view.EditImage;c=e.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){this.model.fetch().done(_.bind(function(){this.frame.content.mode("edit-metadata")},this))}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Frame,e=wp.media.view.MediaFrame,f=wp.media.view.Modal,g=wp.media.view.AttachmentCompat,h=wp.media.controller.EditImage,i=a("../../controllers/edit-attachment-metadata.js"),j=a("../attachment/details-two-column.js"),k=a("../edit-image-details.js"),l=jQuery;c=e.extend({className:"edit-attachment-frame",template:wp.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){this.options.modal&&(this.modal=new f({controller:this,title:this.options.title}),this.modal.on("open",_.bind(function(){l("body").on("keydown.media-modal",_.bind(this.keyEvent,this))},this)),this.modal.on("close",_.bind(function(){this.modal.remove(),l("body").off("keydown.media-modal"),l('li.attachment[data-id="'+this.model.get("id")+'"]').focus(),this.resetRoute()},this)),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new i({model:this.model})])},editMetadataMode:function(a){a.view=new j({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new g({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new h({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new k({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),b.exports=c},{"../../controllers/edit-attachment-metadata.js":1,"../attachment/details-two-column.js":4,"../edit-image-details.js":8}],10:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.view.UploaderWindow,f=wp.media.view.AttachmentsBrowser,g=wp.media.controller.Library,h=a("../../routers/manage.js"),i=Backbone.$;c=d.extend({initialize:function(){_.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=i(document.body),this.$window=i(window),this.$adminBar=i("#wpadminbar"),this.$window.on("scroll resize",_.debounce(_.bind(this.fixPosition,this),15)),i(document).on("click",".add-new-h2",_.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new e({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),i("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new h,d.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),this.bindSearchHandler()},bindSearchHandler:function(){var a=this.$("#media-search-input"),b=this.options.container.data("search"),c=this.browserView.toolbar.get("search").$el,d=this.$(".view-list"),e=_.debounce(function(a){var b=i(a.currentTarget).val(),c="";b&&(c+="?search="+b),this.gridRouter.navigate(this.gridRouter.baseUrl(c))},1e3);a.on("input",_.bind(e,this)),c.val(b).trigger("input"),this.gridRouter.on("route:search",function(){var a=window.location.href;a.indexOf("mode=")>-1?a=a.replace(/mode=[^&]+/g,"mode=list"):a+=a.indexOf("?")>-1?"&mode=list":"?mode=list",a=a.replace("search=","s="),d.prop("href",a)})},createStates:function(){var a=this.options;this.options.states||this.states.add([new g({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",_.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16 *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .media-button").show(),this.controller.state().get("selection").reset())}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.View,e=wp.media.view.EditImage;c=e.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){this.model.fetch().done(_.bind(function(){this.frame.content.mode("edit-metadata")},this))}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Frame,e=wp.media.view.MediaFrame,f=jQuery;c=e.extend({className:"edit-attachment-frame",template:wp.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",_.bind(function(){f("body").on("keydown.media-modal",_.bind(this.keyEvent,this))},this)),this.modal.on("close",_.bind(function(){this.modal.remove(),f("body").off("keydown.media-modal"),f('li.attachment[data-id="'+this.model.get("id")+'"]').focus(),this.resetRoute()},this)),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new wp.media.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new wp.media.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new wp.media.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new wp.media.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new wp.media.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.controller.Library,f=Backbone.$;c=d.extend({initialize:function(){_.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=f(document.body),this.$window=f(window),this.$adminBar=f("#wpadminbar"),this.$window.on("scroll resize",_.debounce(_.bind(this.fixPosition,this),15)),f(document).on("click",".add-new-h2",_.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),f("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new wp.media.view.MediaFrame.Manage.Router,d.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),this.bindSearchHandler()},bindSearchHandler:function(){var a=this.$("#media-search-input"),b=this.options.container.data("search"),c=this.browserView.toolbar.get("search").$el,d=this.$(".view-list"),e=_.debounce(function(a){var b=f(a.currentTarget).val(),c="";b&&(c+="?search="+b),this.gridRouter.navigate(this.gridRouter.baseUrl(c))},1e3);a.on("input",_.bind(e,this)),c.val(b).trigger("input"),this.gridRouter.on("route:search",function(){var a=window.location.href;a.indexOf("mode=")>-1?a=a.replace(/mode=[^&]+/g,"mode=list"):a+=a.indexOf("?")>-1?"&mode=list":"?mode=list",a=a.replace("search=","s="),d.prop("href",a)})},createStates:function(){var a=this.options;this.options.states||this.states.add([new e({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",_.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16d?-1:1:a>b?-1:1},_.extend(e,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"…",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),e.attachment=function(a){return b.get(a)},c.all=new c,e.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},f(window).on("unload",function(){window.wp=null})},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(b){var c=a("./attachments.js");return c.all.push(b)},get:_.memoize(function(b,c){var d=a("./attachments.js");return d.all.push(c||{id:b})})}),b.exports=c},{"./attachments.js":3}],3:[function(a,b){var c,d=a("./attachment.js");c=Backbone.Collection.extend({model:d,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,e,f;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,e=d.get(c),f=e.parse(a,b),_.isEqual(e.attributes,f)||e.set(f),e})},_requery:function(b){var c,d;this.props.get("query")&&(d=a("./query.js"),c=this.props.toJSON(),c.cache=!0!==b,this.mirror(d.get(c)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}}),b.exports=c},{"./attachment.js":2,"./query.js":5}],4:[function(a,b){var c,d=a("./attachment");c=Backbone.Model.extend({initialize:function(a){this.attachment=!1,a.attachment_id&&(this.attachment=d.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}}),b.exports=c},{"./attachment":2}],5:[function(a,b){var c,d=a("./attachments.js");c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.lengthd?-1:1:a>b?-1:1},_.extend(e,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"…",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),e.attachment=function(a){return b.get(a)},c.all=new c,e.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},f(window).on("unload",function(){window.wp=null})},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),b.exports=c},{}],3:[function(a,b){var c=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}});b.exports=c},{}],4:[function(a,b){var c=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});b.exports=c},{}],5:[function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length' + dragInfoText + '' )[0], priority: -40 }) ); @@ -265,7 +263,7 @@ CollectionEdit = Library.extend({ module.exports = CollectionEdit; -},{"../views/attachment/edit-library.js":25,"../views/view.js":71,"./library.js":10}],3:[function(require,module,exports){ +},{}],3:[function(require,module,exports){ /*globals wp, _, Backbone */ /** @@ -277,13 +275,10 @@ module.exports = CollectionEdit; * @augments wp.media.controller.State * @augments Backbone.Model */ -var State = require( './state.js' ), - ToolbarView = require( '../views/toolbar.js' ), - CropperView = require( '../views/cropper.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, Cropper; -Cropper = State.extend({ +Cropper = wp.media.controller.State.extend({ defaults: { id: 'cropper', title: l10n.cropImage, @@ -306,7 +301,7 @@ Cropper = State.extend({ }, createCropContent: function() { - this.cropperView = new CropperView({ + this.cropperView = new wp.media.view.Cropper({ controller: this, attachment: this.get('selection').first() }); @@ -372,7 +367,7 @@ Cropper = State.extend({ }); } - this.frame.toolbar.set( new ToolbarView(toolbarOptions) ); + this.frame.toolbar.set( new wp.media.view.Toolbar(toolbarOptions) ); }, doCrop: function( attachment ) { @@ -386,7 +381,7 @@ Cropper = State.extend({ module.exports = Cropper; -},{"../views/cropper.js":34,"../views/toolbar.js":63,"./state.js":15}],4:[function(require,module,exports){ +},{}],4:[function(require,module,exports){ /*globals wp */ /** @@ -407,12 +402,10 @@ module.exports = Cropper; * @param {string} [attributes.menu=false] Initial mode for the menu region. * @param {string} [attributes.url] Unused. @todo Consider removal. */ -var State = require( './state.js' ), - ToolbarView = require( '../views/toolbar.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, EditImage; -EditImage = State.extend({ +EditImage = wp.media.controller.State.extend({ defaults: { id: 'edit-image', title: l10n.editImage, @@ -444,7 +437,7 @@ EditImage = State.extend({ lastState = frame.lastState(), previous = lastState && lastState.id; - frame.toolbar.set( new ToolbarView({ + frame.toolbar.set( new wp.media.view.Toolbar({ controller: frame, items: { back: { @@ -466,7 +459,7 @@ EditImage = State.extend({ module.exports = EditImage; -},{"../views/toolbar.js":63,"./state.js":15}],5:[function(require,module,exports){ +},{}],5:[function(require,module,exports){ /*globals wp, _, Backbone */ /** @@ -490,12 +483,11 @@ module.exports = EditImage; * @param {string} [attributes.url] The embed URL. * @param {object} [attributes.metadata={}] Properties of the embed, which will override attributes.url if set. */ -var State = require( './state.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, $ = Backbone.$, Embed; -Embed = State.extend({ +Embed = wp.media.controller.State.extend({ defaults: { id: 'embed', title: l10n.insertFromUrlTitle, @@ -605,7 +597,7 @@ Embed = State.extend({ module.exports = Embed; -},{"./state.js":15}],6:[function(require,module,exports){ +},{}],6:[function(require,module,exports){ /*globals wp, _ */ /** @@ -640,7 +632,7 @@ module.exports = Embed; * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ var Attachment = wp.media.model.Attachment, - Library = require( './library.js' ), + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, FeaturedImage; @@ -729,7 +721,7 @@ FeaturedImage = Library.extend({ module.exports = FeaturedImage; -},{"./library.js":10}],7:[function(require,module,exports){ +},{}],7:[function(require,module,exports){ /*globals wp, _ */ /** @@ -764,7 +756,7 @@ module.exports = FeaturedImage; * Defaults to false because for this state, because the library of the Edit Gallery state is the selection. */ var Selection = wp.media.model.Selection, - Library = require( './library.js' ), + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryAdd; @@ -822,7 +814,7 @@ GalleryAdd = Library.extend({ module.exports = GalleryAdd; -},{"./library.js":10}],8:[function(require,module,exports){ +},{}],8:[function(require,module,exports){ /*globals wp */ /** @@ -856,9 +848,7 @@ module.exports = GalleryAdd; * @param {view} [attributes.AttachmentView] The single `Attachment` view to be used in the `Attachments`. * If none supplied, defaults to wp.media.view.Attachment.EditLibrary. */ -var Library = require( './library.js' ), - EditLibraryView = require( '../views/attachment/edit-library.js' ), - GallerySettingsView = require( '../views/settings/gallery.js' ), +var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryEdit; @@ -892,7 +882,7 @@ GalleryEdit = Library.extend({ // The single `Attachment` view to be used in the `Attachments` view. if ( ! this.get('AttachmentView') ) { - this.set( 'AttachmentView', EditLibraryView ); + this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary ); } Library.prototype.initialize.apply( this, arguments ); @@ -946,7 +936,7 @@ GalleryEdit = Library.extend({ library.gallery = library.gallery || new Backbone.Model(); browser.sidebar.set({ - gallery: new GallerySettingsView({ + gallery: new wp.media.view.Settings.Gallery({ controller: this, model: library.gallery, priority: 40 @@ -966,7 +956,7 @@ GalleryEdit = Library.extend({ module.exports = GalleryEdit; -},{"../views/attachment/edit-library.js":25,"../views/settings/gallery.js":59,"./library.js":10}],9:[function(require,module,exports){ +},{}],9:[function(require,module,exports){ /*globals wp, _ */ /** @@ -993,8 +983,8 @@ module.exports = GalleryEdit; * @todo This state inherits some defaults from media.controller.Library.prototype.defaults, * however this may not do anything. */ -var State = require( './state.js' ), - Library = require( './library.js' ), +var State = wp.media.controller.State, + Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ImageDetails; @@ -1030,7 +1020,7 @@ ImageDetails = State.extend({ module.exports = ImageDetails; -},{"./library.js":10,"./state.js":15}],10:[function(require,module,exports){ +},{}],10:[function(require,module,exports){ /*globals wp, _, Backbone */ /** @@ -1067,14 +1057,12 @@ module.exports = ImageDetails; * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ -var selectionSync = require( '../utils/selection-sync.js' ), - State = require( './state.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, getUserSetting = window.getUserSetting, setUserSetting = window.setUserSetting, Library; -Library = State.extend({ +Library = wp.media.controller.State.extend({ defaults: { id: 'library', title: l10n.mediaLibraryTitle, @@ -1302,11 +1290,11 @@ Library = State.extend({ }); // Make selectionSync available on any Media Library state. -_.extend( Library.prototype, selectionSync ); +_.extend( Library.prototype, wp.media.selectionSync ); module.exports = Library; -},{"../utils/selection-sync.js":16,"./state.js":15}],11:[function(require,module,exports){ +},{}],11:[function(require,module,exports){ /*globals wp, _ */ /** @@ -1317,7 +1305,7 @@ module.exports = Library; * @augments wp.media.controller.State * @augments Backbone.Model */ -var Library = require( './library.js' ), +var Library = wp.media.controller.Library, MediaLibrary; MediaLibrary = Library.extend({ @@ -1358,7 +1346,7 @@ MediaLibrary = Library.extend({ module.exports = MediaLibrary; -},{"./library.js":10}],12:[function(require,module,exports){ +},{}],12:[function(require,module,exports){ /*globals Backbone, _ */ /** @@ -1573,7 +1561,7 @@ module.exports = Region; * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ -var Library = require( './library.js' ), +var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ReplaceImage; @@ -1649,7 +1637,7 @@ ReplaceImage = Library.extend({ module.exports = ReplaceImage; -},{"./library.js":10}],14:[function(require,module,exports){ +},{}],14:[function(require,module,exports){ /*globals _, Backbone */ /** @@ -2248,7 +2236,7 @@ media.view.Spinner = require( './views/spinner.js' ); * @augments wp.Backbone.View * @augments Backbone.View */ -var View = require( './view.js' ), +var View = wp.media.View, AttachmentCompat; AttachmentCompat = View.extend({ @@ -2322,7 +2310,7 @@ AttachmentCompat = View.extend({ module.exports = AttachmentCompat; -},{"./view.js":71}],19:[function(require,module,exports){ +},{}],19:[function(require,module,exports){ /*globals _, jQuery */ /** @@ -2333,11 +2321,10 @@ module.exports = AttachmentCompat; * @augments wp.Backbone.View * @augments Backbone.View */ -var View = require( './view.js' ), - $ = jQuery, +var $ = jQuery, AttachmentFilters; -AttachmentFilters = View.extend({ +AttachmentFilters = wp.media.View.extend({ tagName: 'select', className: 'attachment-filters', id: 'media-attachment-filters', @@ -2402,7 +2389,7 @@ AttachmentFilters = View.extend({ module.exports = AttachmentFilters; -},{"./view.js":71}],20:[function(require,module,exports){ +},{}],20:[function(require,module,exports){ /*globals wp */ /** @@ -2414,11 +2401,10 @@ module.exports = AttachmentFilters; * @augments wp.Backbone.View * @augments Backbone.View */ -var AttachmentFilters = require( '../attachment-filters.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, All; -All = AttachmentFilters.extend({ +All = wp.media.view.AttachmentFilters.extend({ createFilters: function() { var filters = {}; @@ -2495,7 +2481,7 @@ All = AttachmentFilters.extend({ module.exports = All; -},{"../attachment-filters.js":19}],21:[function(require,module,exports){ +},{}],21:[function(require,module,exports){ /*globals wp, _ */ /** @@ -2507,11 +2493,10 @@ module.exports = All; * @augments wp.Backbone.View * @augments Backbone.View */ -var AttachmentFilters = require( '../attachment-filters.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, DateFilter; -DateFilter = AttachmentFilters.extend({ +DateFilter = wp.media.view.AttachmentFilters.extend({ id: 'media-attachment-date-filters', createFilters: function() { @@ -2539,7 +2524,7 @@ DateFilter = AttachmentFilters.extend({ module.exports = DateFilter; -},{"../attachment-filters.js":19}],22:[function(require,module,exports){ +},{}],22:[function(require,module,exports){ /*globals wp */ /** @@ -2551,11 +2536,10 @@ module.exports = DateFilter; * @augments wp.Backbone.View * @augments Backbone.View */ -var AttachmentFilters = require( '../attachment-filters.js' ), - l10n = wp.media.view.l10n, +var l10n = wp.media.view.l10n, Uploaded; -Uploaded = AttachmentFilters.extend({ +Uploaded = wp.media.view.AttachmentFilters.extend({ createFilters: function() { var type = this.model.get('type'), types = wp.media.view.settings.mimeTypes, @@ -2601,7 +2585,7 @@ Uploaded = AttachmentFilters.extend({ module.exports = Uploaded; -},{"../attachment-filters.js":19}],23:[function(require,module,exports){ +},{}],23:[function(require,module,exports){ /*globals wp, _, jQuery */ /** @@ -2612,7 +2596,7 @@ module.exports = Uploaded; * @augments wp.Backbone.View * @augments Backbone.View */ -var View = require( './view.js' ), +var View = wp.media.View, $ = jQuery, Attachment; @@ -3158,7 +3142,7 @@ _.each({ module.exports = Attachment; -},{"./view.js":71}],24:[function(require,module,exports){ +},{}],24:[function(require,module,exports){ /*globals wp, _ */ /** @@ -3170,7 +3154,7 @@ module.exports = Attachment; * @augments wp.Backbone.View * @augments Backbone.View */ -var Attachment = require( '../attachment.js' ), +var Attachment = wp.media.view.Attachment, l10n = wp.media.view.l10n, Details; @@ -3315,7 +3299,9 @@ Details = Attachment.extend({ module.exports = Details; -},{"../attachment.js":23}],25:[function(require,module,exports){ +},{}],25:[function(require,module,exports){ +/*globals wp */ + /** * wp.media.view.Attachment.EditLibrary * @@ -3325,10 +3311,7 @@ module.exports = Details; * @augments wp.Backbone.View * @augments Backbone.View */ -var Attachment = require( '../attachment.js' ), - EditLibrary; - -EditLibrary = Attachment.extend({ +var EditLibrary = wp.media.view.Attachment.extend({ buttons: { close: true } @@ -3336,7 +3319,9 @@ EditLibrary = Attachment.extend({ module.exports = EditLibrary; -},{"../attachment.js":23}],26:[function(require,module,exports){ +},{}],26:[function(require,module,exports){ +/*globals wp */ + /** * wp.media.view.Attachments.EditSelection * @@ -3347,10 +3332,7 @@ module.exports = EditLibrary; * @augments wp.Backbone.View * @augments Backbone.View */ -var Selection = require( './selection.js' ), - EditSelection; - -EditSelection = Selection.extend({ +var EditSelection = wp.media.view.Attachment.Selection.extend({ buttons: { close: true } @@ -3358,7 +3340,9 @@ EditSelection = Selection.extend({ module.exports = EditSelection; -},{"./selection.js":28}],27:[function(require,module,exports){ +},{}],27:[function(require,module,exports){ +/*globals wp */ + /** * wp.media.view.Attachment.Library * @@ -3368,10 +3352,7 @@ module.exports = EditSelection; * @augments wp.Backbone.View * @augments Backbone.View */ -var Attachment = require( '../attachment.js' ), - Library; - -Library = Attachment.extend({ +var Library = wp.media.view.Attachment.extend({ buttons: { check: true } @@ -3379,7 +3360,9 @@ Library = Attachment.extend({ module.exports = Library; -},{"../attachment.js":23}],28:[function(require,module,exports){ +},{}],28:[function(require,module,exports){ +/*globals wp */ + /** * wp.media.view.Attachment.Selection * @@ -3389,10 +3372,7 @@ module.exports = Library; * @augments wp.Backbone.View * @augments Backbone.View */ -var Attachment = require( '../attachment.js' ), - Selection; - -Selection = Attachment.extend({ +var Selection = wp.media.view.Attachment.extend({ className: 'attachment selection', // On click, just select the model, instead of removing the model from @@ -3404,7 +3384,7 @@ Selection = Attachment.extend({ module.exports = Selection; -},{"../attachment.js":23}],29:[function(require,module,exports){ +},{}],29:[function(require,module,exports){ /*globals wp, _, jQuery */ /** @@ -3415,8 +3395,7 @@ module.exports = Selection; * @augments wp.Backbone.View * @augments Backbone.View */ -var View = require( './view.js' ), - Attachment = require( './attachment.js' ), +var View = wp.media.View, $ = jQuery, Attachments; @@ -3434,7 +3413,7 @@ Attachments = View.extend({ _.defaults( this.options, { refreshSensitivity: wp.media.isTouchDevice ? 300 : 200, refreshThreshold: 3, - AttachmentView: Attachment, + AttachmentView: wp.media.view.Attachment, sortable: false, resize: true, idealColumnWidth: $( window ).width() < 640 ? 135 : 150 @@ -3706,7 +3685,7 @@ Attachments = View.extend({ module.exports = Attachments; -},{"./attachment.js":23,"./view.js":71}],30:[function(require,module,exports){ +},{}],30:[function(require,module,exports){ /*globals wp, _, jQuery */ /** @@ -3729,22 +3708,7 @@ module.exports = Attachments; * @param {bool|string} [options.sidebar=true] Whether to create a sidebar for the browser. * Accepts true, false, and 'errors'. */ -var View = require( '../view.js' ), - Library = require( '../attachment/library.js' ), - Toolbar = require( '../toolbar.js' ), - Spinner = require( '../spinner.js' ), - Search = require( '../search.js' ), - Label = require( '../label.js' ), - Uploaded = require( '../attachment-filters/uploaded.js' ), - All = require( '../attachment-filters/all.js' ), - DateFilter = require( '../attachment-filters/date.js' ), - UploaderInline = require( '../uploader/inline.js' ), - Attachments = require( '../attachments.js' ), - Sidebar = require( '../sidebar.js' ), - UploaderStatus = require( '../uploader/status.js' ), - Details = require( '../attachment/details.js' ), - AttachmentCompat = require( '../attachment-compat.js' ), - AttachmentDisplay = require( '../settings/attachment-display.js' ), +var View = wp.media.View, mediaTrash = wp.media.view.settings.mediaTrash, l10n = wp.media.view.l10n, $ = jQuery, @@ -3761,7 +3725,7 @@ AttachmentsBrowser = View.extend({ date: true, display: false, sidebar: true, - AttachmentView: Library + AttachmentView: wp.media.view.Attachment.Library }); this.listenTo( this.controller, 'toggle:upload:attachment', _.bind( this.toggleUploader, this ) ); @@ -3812,18 +3776,18 @@ AttachmentsBrowser = View.extend({ /** * @member {wp.media.view.Toolbar} */ - this.toolbar = new Toolbar( toolbarOptions ); + this.toolbar = new wp.media.view.Toolbar( toolbarOptions ); this.views.add( this.toolbar ); - this.toolbar.set( 'spinner', new Spinner({ + this.toolbar.set( 'spinner', new wp.media.view.Spinner({ priority: -60 }) ); if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ) { // "Filters" will return a , screen reader text needs to be rendered before - this.toolbar.set( 'dateFilterLabel', new Label({ + this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ value: l10n.filterByDate, attributes: { 'for': 'media-attachment-date-filters' }, priority: -75 }).render() ); - this.toolbar.set( 'dateFilter', new DateFilter({ + this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ controller: this.controller, model: this.collection.props, priority: -75 @@ -3974,14 +3938,14 @@ AttachmentsBrowser = View.extend({ } else if ( this.options.date ) { // DateFilter is a ').val(this.model.get("url")),this.input=this.$input[0],this.spinner=e('')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),b.exports=c},{"../view.js":71}],40:[function(a,b){var c,d=a("./view.js");c=d.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}}),b.exports=c},{"./view.js":71}],41:[function(a,b){var c,d=a("../controllers/state-machine.js"),e=a("../controllers/state.js"),f=a("../controllers/region.js"),g=a("./view.js");c=g.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new f({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:e}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}}),_.extend(c.prototype,d.prototype),b.exports=c},{"../controllers/region.js":12,"../controllers/state-machine.js":14,"../controllers/state.js":15,"./view.js":71}],42:[function(a,b){var c,d=a("./select.js"),e=a("../toolbar.js"),f=a("../../controllers/image-details.js"),g=a("../../controllers/replace-image.js"),h=a("../../controllers/edit-image.js"),i=a("../image-details.js"),j=a("../edit-image.js"),k=wp.media.view.l10n;c=d.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:k.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new f({image:this.image,editable:!1}),new g({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:k.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new h({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new i({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new j({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new e({controller:this,items:{select:{style:"primary",text:k.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new e({controller:this,items:{back:{text:k.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:k.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),b.exports=c},{"../../controllers/edit-image.js":4,"../../controllers/image-details.js":9,"../../controllers/replace-image.js":13,"../edit-image.js":35,"../image-details.js":46,"../toolbar.js":63,"./select.js":44}],43:[function(a,b){var c,d=a("../view.js"),e=a("./select.js"),f=a("../../controllers/library.js"),g=a("../embed.js"),h=a("../edit-image.js"),i=a("../attachment/edit-selection.js"),j=a("../toolbar.js"),k=a("../toolbar/embed.js"),l=a("../settings/playlist.js"),m=a("../attachments/browser.js"),n=a("../selection.js"),o=a("../../controllers/embed.js"),p=a("../../controllers/edit-image.js"),q=a("../../controllers/gallery-edit.js"),r=a("../../controllers/gallery-add.js"),s=a("../../controllers/collection-edit.js"),t=a("../../controllers/collection-add.js"),u=a("../../controllers/featured-image.js"),v=wp.media.view.l10n;c=e.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),e.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new f({id:"insert",title:v.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new f({id:"gallery",title:v.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new o({metadata:a.metadata}),new p({model:a.editImage}),new q({library:a.selection,editing:a.editing,menu:"gallery"}),new r,new f({id:"playlist",title:v.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new s({type:"audio",collectionType:"playlist",title:v.editPlaylistTitle,SettingsView:l,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:v.playlistDragInfo,dragInfo:!1}),new t({type:"audio",collectionType:"playlist",title:v.addToPlaylistTitle}),new f({id:"video-playlist",title:v.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"video"},a.library))}),new s({type:"video",collectionType:"playlist",title:v.editVideoPlaylistTitle,SettingsView:l,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:v.videoPlaylistDragInfo,dragInfo:!1}),new t({type:"video",collectionType:"playlist",title:v.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new u) -},bindHandlers:function(){var a,b;e.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new d({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,e=this;a.set({cancel:{text:v.cancelGalleryTitle,priority:20,click:function(){c?e.setState(c):e.close(),this.controller.modal.focusManager.focus()}},separateCancel:new d({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,e=this;a.set({cancel:{text:v.cancelPlaylistTitle,priority:20,click:function(){c?e.setState(c):e.close()}},separateCancel:new d({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,e=this;a.set({cancel:{text:v.cancelVideoPlaylistTitle,priority:20,click:function(){c?e.setState(c):e.close()}},separateCancel:new d({className:"separator",priority:40})})},embedContent:function(){var a=new g({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new m({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:i}).render(),a.toolbar.set("backToLibrary",{text:v.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new h({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new n({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:v.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:v.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:v.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:v.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:v.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new k({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:a?v.updateGallery:v.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:v.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:a?v.updatePlaylist:v.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:v.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:a?v.updateVideoPlaylist:v.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new j({controller:this,items:{insert:{style:"primary",text:v.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),b.exports=c},{"../../controllers/collection-add.js":1,"../../controllers/collection-edit.js":2,"../../controllers/edit-image.js":4,"../../controllers/embed.js":5,"../../controllers/featured-image.js":6,"../../controllers/gallery-add.js":7,"../../controllers/gallery-edit.js":8,"../../controllers/library.js":10,"../attachment/edit-selection.js":26,"../attachments/browser.js":30,"../edit-image.js":35,"../embed.js":36,"../selection.js":56,"../settings/playlist.js":60,"../toolbar.js":63,"../toolbar/embed.js":64,"../view.js":71,"./select.js":44}],44:[function(a,b){var c,d=a("../media-frame.js"),e=a("../../controllers/library.js"),f=a("../attachments/browser.js"),g=a("../uploader/inline.js"),h=a("../toolbar/select.js"),i=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new e({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:i.uploadFilesTitle,priority:20},browse:{text:i.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new f({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),display:b.get(b.has("display")?"display":"displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new g({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new h(b)}}),b.exports=c},{"../../controllers/library.js":10,"../attachments/browser.js":30,"../media-frame.js":48,"../toolbar/select.js":65,"../uploader/inline.js":67}],45:[function(a,b){var c,d=a("./view.js");c=d.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('