@wordpress/media-utils 4.16.0 → 4.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/media-upload/index.js +24 -5
- package/build/components/media-upload/index.js.map +1 -1
- package/build-module/components/media-upload/index.js +24 -5
- package/build-module/components/media-upload/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/media-upload/index.js +13 -4
package/CHANGELOG.md
CHANGED
|
@@ -12,17 +12,17 @@ var _i18n = require("@wordpress/i18n");
|
|
|
12
12
|
/**
|
|
13
13
|
* WordPress dependencies
|
|
14
14
|
*/
|
|
15
|
-
const {
|
|
16
|
-
wp
|
|
17
|
-
} = window;
|
|
18
15
|
const DEFAULT_EMPTY_GALLERY = [];
|
|
19
16
|
/**
|
|
20
17
|
* Prepares the Featured Image toolbars and frames.
|
|
21
18
|
*
|
|
22
|
-
* @return {wp.media.view.MediaFrame.Select} The default media workflow.
|
|
19
|
+
* @return {window.wp.media.view.MediaFrame.Select} The default media workflow.
|
|
23
20
|
*/
|
|
24
21
|
|
|
25
22
|
const getFeaturedImageMediaFrame = () => {
|
|
23
|
+
const {
|
|
24
|
+
wp
|
|
25
|
+
} = window;
|
|
26
26
|
return wp.media.view.MediaFrame.Select.extend({
|
|
27
27
|
/**
|
|
28
28
|
* Enables the Set Featured Image Button.
|
|
@@ -71,11 +71,14 @@ const getFeaturedImageMediaFrame = () => {
|
|
|
71
71
|
/**
|
|
72
72
|
* Prepares the Gallery toolbars and frames.
|
|
73
73
|
*
|
|
74
|
-
* @return {wp.media.view.MediaFrame.Post} The default media workflow.
|
|
74
|
+
* @return {window.wp.media.view.MediaFrame.Post} The default media workflow.
|
|
75
75
|
*/
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
const getGalleryDetailsMediaFrame = () => {
|
|
79
|
+
const {
|
|
80
|
+
wp
|
|
81
|
+
} = window;
|
|
79
82
|
/**
|
|
80
83
|
* Custom gallery details frame.
|
|
81
84
|
*
|
|
@@ -83,6 +86,7 @@ const getGalleryDetailsMediaFrame = () => {
|
|
|
83
86
|
* @class GalleryDetailsMediaFrame
|
|
84
87
|
* @class
|
|
85
88
|
*/
|
|
89
|
+
|
|
86
90
|
return wp.media.view.MediaFrame.Post.extend({
|
|
87
91
|
/**
|
|
88
92
|
* Set up gallery toolbar.
|
|
@@ -184,6 +188,9 @@ const slimImageObject = img => {
|
|
|
184
188
|
};
|
|
185
189
|
|
|
186
190
|
const getAttachmentsCollection = ids => {
|
|
191
|
+
const {
|
|
192
|
+
wp
|
|
193
|
+
} = window;
|
|
187
194
|
return wp.media.query({
|
|
188
195
|
order: 'ASC',
|
|
189
196
|
orderby: 'post__in',
|
|
@@ -210,6 +217,9 @@ class MediaUpload extends _element.Component {
|
|
|
210
217
|
this.onSelect = this.onSelect.bind(this);
|
|
211
218
|
this.onUpdate = this.onUpdate.bind(this);
|
|
212
219
|
this.onClose = this.onClose.bind(this);
|
|
220
|
+
const {
|
|
221
|
+
wp
|
|
222
|
+
} = window;
|
|
213
223
|
|
|
214
224
|
if (gallery) {
|
|
215
225
|
this.buildAndSetGalleryFrame();
|
|
@@ -266,6 +276,9 @@ class MediaUpload extends _element.Component {
|
|
|
266
276
|
return;
|
|
267
277
|
}
|
|
268
278
|
|
|
279
|
+
const {
|
|
280
|
+
wp
|
|
281
|
+
} = window;
|
|
269
282
|
this.lastGalleryValue = value; // If a frame already existed remove it.
|
|
270
283
|
|
|
271
284
|
if (this.frame) {
|
|
@@ -307,6 +320,9 @@ class MediaUpload extends _element.Component {
|
|
|
307
320
|
|
|
308
321
|
|
|
309
322
|
buildAndSetFeatureImageFrame() {
|
|
323
|
+
const {
|
|
324
|
+
wp
|
|
325
|
+
} = window;
|
|
310
326
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
311
327
|
const attachments = getAttachmentsCollection(this.props.value);
|
|
312
328
|
const selection = new wp.media.model.Selection(attachments.models, {
|
|
@@ -356,6 +372,9 @@ class MediaUpload extends _element.Component {
|
|
|
356
372
|
}
|
|
357
373
|
|
|
358
374
|
onOpen() {
|
|
375
|
+
const {
|
|
376
|
+
wp
|
|
377
|
+
} = window;
|
|
359
378
|
const {
|
|
360
379
|
value
|
|
361
380
|
} = this.props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"names":["wp","window","DEFAULT_EMPTY_GALLERY","getFeaturedImageMediaFrame","media","view","MediaFrame","Select","extend","featuredImageToolbar","toolbar","createSelectToolbar","text","l10n","setFeaturedImage","state","options","editState","selection","get","EditImage","model","single","controller","render","content","set","loadEditor","createStates","on","states","add","FeaturedImage","editImage","getGalleryDetailsMediaFrame","Post","galleryToolbar","editing","Toolbar","items","insert","style","updateGallery","insertGallery","priority","requires","library","click","close","trigger","setState","reset","Library","id","title","createGalleryTitle","filterable","multiple","editable","query","type","GalleryEdit","menu","displaySettings","GalleryAdd","slimImageObject","img","attrSet","reduce","result","key","hasOwnProperty","getAttachmentsCollection","ids","order","orderby","post__in","posts_per_page","MediaUpload","Component","constructor","allowedTypes","gallery","unstableFeaturedImageFlow","modalClass","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","buildAndSetGalleryFrame","frameConfig","frame","$el","addClass","buildAndSetFeatureImageFrame","initializeListeners","addToGallery","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","open"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nconst { wp } = window;\n\nconst DEFAULT_EMPTY_GALLERY = [];\n\n/**\n * Prepares the Featured Image toolbars and frames.\n *\n * @return {wp.media.view.MediaFrame.Select} The default media workflow.\n */\nconst getFeaturedImageMediaFrame = () => {\n\treturn wp.media.view.MediaFrame.Select.extend( {\n\t\t/**\n\t\t * Enables the Set Featured Image Button.\n\t\t *\n\t\t * @param {Object} toolbar toolbar for featured image state\n\t\t * @return {void}\n\t\t */\n\t\tfeaturedImageToolbar( toolbar ) {\n\t\t\tthis.createSelectToolbar( toolbar, {\n\t\t\t\ttext: wp.media.view.l10n.setFeaturedImage,\n\t\t\t\tstate: this.options.state,\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'featured-image' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on(\n\t\t\t\t'toolbar:create:featured-image',\n\t\t\t\tthis.featuredImageToolbar,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.FeaturedImage(),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n/**\n * Prepares the Gallery toolbars and frames.\n *\n * @return {wp.media.view.MediaFrame.Post} The default media workflow.\n */\nconst getGalleryDetailsMediaFrame = () => {\n\t/**\n\t * Custom gallery details frame.\n\t *\n\t * @see https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js\n\t * @class GalleryDetailsMediaFrame\n\t * @class\n\t */\n\treturn wp.media.view.MediaFrame.Post.extend( {\n\t\t/**\n\t\t * Set up gallery toolbar.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tgalleryToolbar() {\n\t\t\tconst editing = this.state().get( 'editing' );\n\t\t\tthis.toolbar.set(\n\t\t\t\tnew wp.media.view.Toolbar( {\n\t\t\t\t\tcontroller: this,\n\t\t\t\t\titems: {\n\t\t\t\t\t\tinsert: {\n\t\t\t\t\t\t\tstyle: 'primary',\n\t\t\t\t\t\t\ttext: editing\n\t\t\t\t\t\t\t\t? wp.media.view.l10n.updateGallery\n\t\t\t\t\t\t\t\t: wp.media.view.l10n.insertGallery,\n\t\t\t\t\t\t\tpriority: 80,\n\t\t\t\t\t\t\trequires: { library: true },\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * @fires wp.media.controller.State#update\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tclick() {\n\t\t\t\t\t\t\t\tconst controller = this.controller,\n\t\t\t\t\t\t\t\t\tstate = controller.state();\n\n\t\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\t\tstate.trigger(\n\t\t\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t\t\tstate.get( 'library' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t// Restore and reset the default state.\n\t\t\t\t\t\t\t\tcontroller.setState( controller.options.state );\n\t\t\t\t\t\t\t\tcontroller.reset();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'gallery' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on( 'toolbar:create:main-gallery', this.galleryToolbar, this );\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tid: 'gallery',\n\t\t\t\t\ttitle: wp.media.view.l10n.createGalleryTitle,\n\t\t\t\t\tpriority: 40,\n\t\t\t\t\ttoolbar: 'main-gallery',\n\t\t\t\t\tfilterable: 'uploaded',\n\t\t\t\t\tmultiple: 'add',\n\t\t\t\t\teditable: false,\n\n\t\t\t\t\tlibrary: wp.media.query( {\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t...this.options.library,\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryEdit( {\n\t\t\t\t\tlibrary: this.options.selection,\n\t\t\t\t\tediting: this.options.editing,\n\t\t\t\t\tmenu: 'gallery',\n\t\t\t\t\tdisplaySettings: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryAdd(),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n// The media library image object contains numerous attributes\n// we only need this set to display the image in the library.\nconst slimImageObject = ( img ) => {\n\tconst attrSet = [\n\t\t'sizes',\n\t\t'mime',\n\t\t'type',\n\t\t'subtype',\n\t\t'id',\n\t\t'url',\n\t\t'alt',\n\t\t'link',\n\t\t'caption',\n\t];\n\treturn attrSet.reduce( ( result, key ) => {\n\t\tif ( img?.hasOwnProperty( key ) ) {\n\t\t\tresult[ key ] = img[ key ];\n\t\t}\n\t\treturn result;\n\t}, {} );\n};\n\nconst getAttachmentsCollection = ( ids ) => {\n\treturn wp.media.query( {\n\t\torder: 'ASC',\n\t\torderby: 'post__in',\n\t\tpost__in: ids,\n\t\tposts_per_page: -1,\n\t\tquery: true,\n\t\ttype: 'image',\n\t} );\n};\n\nclass MediaUpload extends Component {\n\tconstructor( {\n\t\tallowedTypes,\n\t\tgallery = false,\n\t\tunstableFeaturedImageFlow = false,\n\t\tmodalClass,\n\t\tmultiple = false,\n\t\ttitle = __( 'Select or Upload Media' ),\n\t} ) {\n\t\tsuper( ...arguments );\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.onOpen = this.onOpen.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUpdate = this.onUpdate.bind( this );\n\t\tthis.onClose = this.onClose.bind( this );\n\n\t\tif ( gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t} else {\n\t\t\tconst frameConfig = {\n\t\t\t\ttitle,\n\t\t\t\tmultiple,\n\t\t\t};\n\t\t\tif ( !! allowedTypes ) {\n\t\t\t\tframeConfig.library = { type: allowedTypes };\n\t\t\t}\n\n\t\t\tthis.frame = wp.media( frameConfig );\n\t\t}\n\n\t\tif ( modalClass ) {\n\t\t\tthis.frame.$el.addClass( modalClass );\n\t\t}\n\n\t\tif ( unstableFeaturedImageFlow ) {\n\t\t\tthis.buildAndSetFeatureImageFrame();\n\t\t}\n\t\tthis.initializeListeners();\n\t}\n\n\tinitializeListeners() {\n\t\t// When an image is selected in the media frame...\n\t\tthis.frame.on( 'select', this.onSelect );\n\t\tthis.frame.on( 'update', this.onUpdate );\n\t\tthis.frame.on( 'open', this.onOpen );\n\t\tthis.frame.on( 'close', this.onClose );\n\t}\n\n\t/**\n\t * Sets the Gallery frame and initializes listeners.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetGalleryFrame() {\n\t\tconst {\n\t\t\taddToGallery = false,\n\t\t\tallowedTypes,\n\t\t\tmultiple = false,\n\t\t\tvalue = DEFAULT_EMPTY_GALLERY,\n\t\t} = this.props;\n\n\t\t// If the value did not changed there is no need to rebuild the frame,\n\t\t// we can continue to use the existing one.\n\t\tif ( value === this.lastGalleryValue ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.lastGalleryValue = value;\n\n\t\t// If a frame already existed remove it.\n\t\tif ( this.frame ) {\n\t\t\tthis.frame.remove();\n\t\t}\n\t\tlet currentState;\n\t\tif ( addToGallery ) {\n\t\t\tcurrentState = 'gallery-library';\n\t\t} else {\n\t\t\tcurrentState = value && value.length ? 'gallery-edit' : 'gallery';\n\t\t}\n\t\tif ( ! this.GalleryDetailsMediaFrame ) {\n\t\t\tthis.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame();\n\t\t}\n\t\tconst attachments = getAttachmentsCollection( value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t\tmultiple,\n\t\t} );\n\t\tthis.frame = new this.GalleryDetailsMediaFrame( {\n\t\t\tmimeType: allowedTypes,\n\t\t\tstate: currentState,\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: value && value.length ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\tthis.initializeListeners();\n\t}\n\n\t/**\n\t * Initializes the Media Library requirements for the featured image flow.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetFeatureImageFrame() {\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( this.props.value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t} );\n\t\tthis.frame = new featuredImageFrame( {\n\t\t\tmimeType: this.props.allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple: this.props.multiple,\n\t\t\tselection,\n\t\t\tediting: this.props.value ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.frame.remove();\n\t}\n\n\tonUpdate( selections ) {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\tconst state = this.frame.state();\n\t\tconst selectedImages = selections || state.get( 'selection' );\n\n\t\tif ( ! selectedImages || ! selectedImages.models.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( multiple ) {\n\t\t\tonSelect(\n\t\t\t\tselectedImages.models.map( ( model ) =>\n\t\t\t\t\tslimImageObject( model.toJSON() )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tonSelect( slimImageObject( selectedImages.models[ 0 ].toJSON() ) );\n\t\t}\n\t}\n\n\tonSelect() {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\t// Get media attachment details from the frame state.\n\t\tconst attachment = this.frame.state().get( 'selection' ).toJSON();\n\t\tonSelect( multiple ? attachment : attachment[ 0 ] );\n\t}\n\n\tonOpen() {\n\t\tconst { value } = this.props;\n\t\tthis.updateCollection();\n\n\t\t//Handle active tab in media model on model open.\n\t\tif ( this.props.mode ) {\n\t\t\tthis.frame.content.mode( this.props.mode );\n\t\t}\n\n\t\t// Handle both this.props.value being either (number[]) multiple ids\n\t\t// (for galleries) or a (number) singular id (e.g. image block).\n\t\tconst hasMedia = Array.isArray( value ) ? !! value?.length : !! value;\n\n\t\tif ( ! hasMedia ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isGallery = this.props.gallery;\n\t\tconst selection = this.frame.state().get( 'selection' );\n\t\tconst valueArray = Array.isArray( value ) ? value : [ value ];\n\n\t\tif ( ! isGallery ) {\n\t\t\tvalueArray.forEach( ( id ) => {\n\t\t\t\tselection.add( wp.media.attachment( id ) );\n\t\t\t} );\n\t\t}\n\n\t\t// Load the images so they are available in the media modal.\n\t\tconst attachments = getAttachmentsCollection( valueArray );\n\n\t\t// Once attachments are loaded, set the current selection.\n\t\tattachments.more().done( function () {\n\t\t\tif ( isGallery && attachments?.models?.length ) {\n\t\t\t\tselection.add( attachments.models );\n\t\t\t}\n\t\t} );\n\t}\n\n\tonClose() {\n\t\tconst { onClose } = this.props;\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tupdateCollection() {\n\t\tconst frameContent = this.frame.content.get();\n\t\tif ( frameContent && frameContent.collection ) {\n\t\t\tconst collection = frameContent.collection;\n\n\t\t\t// Clean all attachments we have in memory.\n\t\t\tcollection\n\t\t\t\t.toArray()\n\t\t\t\t.forEach( ( model ) => model.trigger( 'destroy', model ) );\n\n\t\t\t// Reset has more flag, if library had small amount of items all items may have been loaded before.\n\t\t\tcollection.mirroring._hasMore = true;\n\n\t\t\t// Request items.\n\t\t\tcollection.more();\n\t\t}\n\t}\n\n\topenModal() {\n\t\tif ( this.props.gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t}\n\t\tthis.frame.open();\n\t}\n\n\trender() {\n\t\treturn this.props.render( { open: this.openModal } );\n\t}\n}\n\nexport default MediaUpload;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"names":["DEFAULT_EMPTY_GALLERY","getFeaturedImageMediaFrame","wp","window","media","view","MediaFrame","Select","extend","featuredImageToolbar","toolbar","createSelectToolbar","text","l10n","setFeaturedImage","state","options","editState","selection","get","EditImage","model","single","controller","render","content","set","loadEditor","createStates","on","states","add","FeaturedImage","editImage","getGalleryDetailsMediaFrame","Post","galleryToolbar","editing","Toolbar","items","insert","style","updateGallery","insertGallery","priority","requires","library","click","close","trigger","setState","reset","Library","id","title","createGalleryTitle","filterable","multiple","editable","query","type","GalleryEdit","menu","displaySettings","GalleryAdd","slimImageObject","img","attrSet","reduce","result","key","hasOwnProperty","getAttachmentsCollection","ids","order","orderby","post__in","posts_per_page","MediaUpload","Component","constructor","allowedTypes","gallery","unstableFeaturedImageFlow","modalClass","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","buildAndSetGalleryFrame","frameConfig","frame","$el","addClass","buildAndSetFeatureImageFrame","initializeListeners","addToGallery","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","open"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_EMPTY_GALLERY = [];\n\n/**\n * Prepares the Featured Image toolbars and frames.\n *\n * @return {window.wp.media.view.MediaFrame.Select} The default media workflow.\n */\nconst getFeaturedImageMediaFrame = () => {\n\tconst { wp } = window;\n\n\treturn wp.media.view.MediaFrame.Select.extend( {\n\t\t/**\n\t\t * Enables the Set Featured Image Button.\n\t\t *\n\t\t * @param {Object} toolbar toolbar for featured image state\n\t\t * @return {void}\n\t\t */\n\t\tfeaturedImageToolbar( toolbar ) {\n\t\t\tthis.createSelectToolbar( toolbar, {\n\t\t\t\ttext: wp.media.view.l10n.setFeaturedImage,\n\t\t\t\tstate: this.options.state,\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'featured-image' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on(\n\t\t\t\t'toolbar:create:featured-image',\n\t\t\t\tthis.featuredImageToolbar,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.FeaturedImage(),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n/**\n * Prepares the Gallery toolbars and frames.\n *\n * @return {window.wp.media.view.MediaFrame.Post} The default media workflow.\n */\nconst getGalleryDetailsMediaFrame = () => {\n\tconst { wp } = window;\n\t/**\n\t * Custom gallery details frame.\n\t *\n\t * @see https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js\n\t * @class GalleryDetailsMediaFrame\n\t * @class\n\t */\n\treturn wp.media.view.MediaFrame.Post.extend( {\n\t\t/**\n\t\t * Set up gallery toolbar.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tgalleryToolbar() {\n\t\t\tconst editing = this.state().get( 'editing' );\n\t\t\tthis.toolbar.set(\n\t\t\t\tnew wp.media.view.Toolbar( {\n\t\t\t\t\tcontroller: this,\n\t\t\t\t\titems: {\n\t\t\t\t\t\tinsert: {\n\t\t\t\t\t\t\tstyle: 'primary',\n\t\t\t\t\t\t\ttext: editing\n\t\t\t\t\t\t\t\t? wp.media.view.l10n.updateGallery\n\t\t\t\t\t\t\t\t: wp.media.view.l10n.insertGallery,\n\t\t\t\t\t\t\tpriority: 80,\n\t\t\t\t\t\t\trequires: { library: true },\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * @fires wp.media.controller.State#update\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tclick() {\n\t\t\t\t\t\t\t\tconst controller = this.controller,\n\t\t\t\t\t\t\t\t\tstate = controller.state();\n\n\t\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\t\tstate.trigger(\n\t\t\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t\t\tstate.get( 'library' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t// Restore and reset the default state.\n\t\t\t\t\t\t\t\tcontroller.setState( controller.options.state );\n\t\t\t\t\t\t\t\tcontroller.reset();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'gallery' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on( 'toolbar:create:main-gallery', this.galleryToolbar, this );\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tid: 'gallery',\n\t\t\t\t\ttitle: wp.media.view.l10n.createGalleryTitle,\n\t\t\t\t\tpriority: 40,\n\t\t\t\t\ttoolbar: 'main-gallery',\n\t\t\t\t\tfilterable: 'uploaded',\n\t\t\t\t\tmultiple: 'add',\n\t\t\t\t\teditable: false,\n\n\t\t\t\t\tlibrary: wp.media.query( {\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t...this.options.library,\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryEdit( {\n\t\t\t\t\tlibrary: this.options.selection,\n\t\t\t\t\tediting: this.options.editing,\n\t\t\t\t\tmenu: 'gallery',\n\t\t\t\t\tdisplaySettings: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryAdd(),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n// The media library image object contains numerous attributes\n// we only need this set to display the image in the library.\nconst slimImageObject = ( img ) => {\n\tconst attrSet = [\n\t\t'sizes',\n\t\t'mime',\n\t\t'type',\n\t\t'subtype',\n\t\t'id',\n\t\t'url',\n\t\t'alt',\n\t\t'link',\n\t\t'caption',\n\t];\n\treturn attrSet.reduce( ( result, key ) => {\n\t\tif ( img?.hasOwnProperty( key ) ) {\n\t\t\tresult[ key ] = img[ key ];\n\t\t}\n\t\treturn result;\n\t}, {} );\n};\n\nconst getAttachmentsCollection = ( ids ) => {\n\tconst { wp } = window;\n\n\treturn wp.media.query( {\n\t\torder: 'ASC',\n\t\torderby: 'post__in',\n\t\tpost__in: ids,\n\t\tposts_per_page: -1,\n\t\tquery: true,\n\t\ttype: 'image',\n\t} );\n};\n\nclass MediaUpload extends Component {\n\tconstructor( {\n\t\tallowedTypes,\n\t\tgallery = false,\n\t\tunstableFeaturedImageFlow = false,\n\t\tmodalClass,\n\t\tmultiple = false,\n\t\ttitle = __( 'Select or Upload Media' ),\n\t} ) {\n\t\tsuper( ...arguments );\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.onOpen = this.onOpen.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUpdate = this.onUpdate.bind( this );\n\t\tthis.onClose = this.onClose.bind( this );\n\n\t\tconst { wp } = window;\n\n\t\tif ( gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t} else {\n\t\t\tconst frameConfig = {\n\t\t\t\ttitle,\n\t\t\t\tmultiple,\n\t\t\t};\n\t\t\tif ( !! allowedTypes ) {\n\t\t\t\tframeConfig.library = { type: allowedTypes };\n\t\t\t}\n\n\t\t\tthis.frame = wp.media( frameConfig );\n\t\t}\n\n\t\tif ( modalClass ) {\n\t\t\tthis.frame.$el.addClass( modalClass );\n\t\t}\n\n\t\tif ( unstableFeaturedImageFlow ) {\n\t\t\tthis.buildAndSetFeatureImageFrame();\n\t\t}\n\t\tthis.initializeListeners();\n\t}\n\n\tinitializeListeners() {\n\t\t// When an image is selected in the media frame...\n\t\tthis.frame.on( 'select', this.onSelect );\n\t\tthis.frame.on( 'update', this.onUpdate );\n\t\tthis.frame.on( 'open', this.onOpen );\n\t\tthis.frame.on( 'close', this.onClose );\n\t}\n\n\t/**\n\t * Sets the Gallery frame and initializes listeners.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetGalleryFrame() {\n\t\tconst {\n\t\t\taddToGallery = false,\n\t\t\tallowedTypes,\n\t\t\tmultiple = false,\n\t\t\tvalue = DEFAULT_EMPTY_GALLERY,\n\t\t} = this.props;\n\n\t\t// If the value did not changed there is no need to rebuild the frame,\n\t\t// we can continue to use the existing one.\n\t\tif ( value === this.lastGalleryValue ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { wp } = window;\n\n\t\tthis.lastGalleryValue = value;\n\n\t\t// If a frame already existed remove it.\n\t\tif ( this.frame ) {\n\t\t\tthis.frame.remove();\n\t\t}\n\t\tlet currentState;\n\t\tif ( addToGallery ) {\n\t\t\tcurrentState = 'gallery-library';\n\t\t} else {\n\t\t\tcurrentState = value && value.length ? 'gallery-edit' : 'gallery';\n\t\t}\n\t\tif ( ! this.GalleryDetailsMediaFrame ) {\n\t\t\tthis.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame();\n\t\t}\n\t\tconst attachments = getAttachmentsCollection( value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t\tmultiple,\n\t\t} );\n\t\tthis.frame = new this.GalleryDetailsMediaFrame( {\n\t\t\tmimeType: allowedTypes,\n\t\t\tstate: currentState,\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: value && value.length ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\tthis.initializeListeners();\n\t}\n\n\t/**\n\t * Initializes the Media Library requirements for the featured image flow.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetFeatureImageFrame() {\n\t\tconst { wp } = window;\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( this.props.value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t} );\n\t\tthis.frame = new featuredImageFrame( {\n\t\t\tmimeType: this.props.allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple: this.props.multiple,\n\t\t\tselection,\n\t\t\tediting: this.props.value ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.frame.remove();\n\t}\n\n\tonUpdate( selections ) {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\tconst state = this.frame.state();\n\t\tconst selectedImages = selections || state.get( 'selection' );\n\n\t\tif ( ! selectedImages || ! selectedImages.models.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( multiple ) {\n\t\t\tonSelect(\n\t\t\t\tselectedImages.models.map( ( model ) =>\n\t\t\t\t\tslimImageObject( model.toJSON() )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tonSelect( slimImageObject( selectedImages.models[ 0 ].toJSON() ) );\n\t\t}\n\t}\n\n\tonSelect() {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\t// Get media attachment details from the frame state.\n\t\tconst attachment = this.frame.state().get( 'selection' ).toJSON();\n\t\tonSelect( multiple ? attachment : attachment[ 0 ] );\n\t}\n\n\tonOpen() {\n\t\tconst { wp } = window;\n\t\tconst { value } = this.props;\n\t\tthis.updateCollection();\n\n\t\t//Handle active tab in media model on model open.\n\t\tif ( this.props.mode ) {\n\t\t\tthis.frame.content.mode( this.props.mode );\n\t\t}\n\n\t\t// Handle both this.props.value being either (number[]) multiple ids\n\t\t// (for galleries) or a (number) singular id (e.g. image block).\n\t\tconst hasMedia = Array.isArray( value ) ? !! value?.length : !! value;\n\n\t\tif ( ! hasMedia ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isGallery = this.props.gallery;\n\t\tconst selection = this.frame.state().get( 'selection' );\n\t\tconst valueArray = Array.isArray( value ) ? value : [ value ];\n\n\t\tif ( ! isGallery ) {\n\t\t\tvalueArray.forEach( ( id ) => {\n\t\t\t\tselection.add( wp.media.attachment( id ) );\n\t\t\t} );\n\t\t}\n\n\t\t// Load the images so they are available in the media modal.\n\t\tconst attachments = getAttachmentsCollection( valueArray );\n\n\t\t// Once attachments are loaded, set the current selection.\n\t\tattachments.more().done( function () {\n\t\t\tif ( isGallery && attachments?.models?.length ) {\n\t\t\t\tselection.add( attachments.models );\n\t\t\t}\n\t\t} );\n\t}\n\n\tonClose() {\n\t\tconst { onClose } = this.props;\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tupdateCollection() {\n\t\tconst frameContent = this.frame.content.get();\n\t\tif ( frameContent && frameContent.collection ) {\n\t\t\tconst collection = frameContent.collection;\n\n\t\t\t// Clean all attachments we have in memory.\n\t\t\tcollection\n\t\t\t\t.toArray()\n\t\t\t\t.forEach( ( model ) => model.trigger( 'destroy', model ) );\n\n\t\t\t// Reset has more flag, if library had small amount of items all items may have been loaded before.\n\t\t\tcollection.mirroring._hasMore = true;\n\n\t\t\t// Request items.\n\t\t\tcollection.more();\n\t\t}\n\t}\n\n\topenModal() {\n\t\tif ( this.props.gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t}\n\t\tthis.frame.open();\n\t}\n\n\trender() {\n\t\treturn this.props.render( { open: this.openModal } );\n\t}\n}\n\nexport default MediaUpload;\n"]}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '@wordpress/element';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
const {
|
|
7
|
-
wp
|
|
8
|
-
} = window;
|
|
9
6
|
const DEFAULT_EMPTY_GALLERY = [];
|
|
10
7
|
/**
|
|
11
8
|
* Prepares the Featured Image toolbars and frames.
|
|
12
9
|
*
|
|
13
|
-
* @return {wp.media.view.MediaFrame.Select} The default media workflow.
|
|
10
|
+
* @return {window.wp.media.view.MediaFrame.Select} The default media workflow.
|
|
14
11
|
*/
|
|
15
12
|
|
|
16
13
|
const getFeaturedImageMediaFrame = () => {
|
|
14
|
+
const {
|
|
15
|
+
wp
|
|
16
|
+
} = window;
|
|
17
17
|
return wp.media.view.MediaFrame.Select.extend({
|
|
18
18
|
/**
|
|
19
19
|
* Enables the Set Featured Image Button.
|
|
@@ -62,11 +62,14 @@ const getFeaturedImageMediaFrame = () => {
|
|
|
62
62
|
/**
|
|
63
63
|
* Prepares the Gallery toolbars and frames.
|
|
64
64
|
*
|
|
65
|
-
* @return {wp.media.view.MediaFrame.Post} The default media workflow.
|
|
65
|
+
* @return {window.wp.media.view.MediaFrame.Post} The default media workflow.
|
|
66
66
|
*/
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
const getGalleryDetailsMediaFrame = () => {
|
|
70
|
+
const {
|
|
71
|
+
wp
|
|
72
|
+
} = window;
|
|
70
73
|
/**
|
|
71
74
|
* Custom gallery details frame.
|
|
72
75
|
*
|
|
@@ -74,6 +77,7 @@ const getGalleryDetailsMediaFrame = () => {
|
|
|
74
77
|
* @class GalleryDetailsMediaFrame
|
|
75
78
|
* @class
|
|
76
79
|
*/
|
|
80
|
+
|
|
77
81
|
return wp.media.view.MediaFrame.Post.extend({
|
|
78
82
|
/**
|
|
79
83
|
* Set up gallery toolbar.
|
|
@@ -175,6 +179,9 @@ const slimImageObject = img => {
|
|
|
175
179
|
};
|
|
176
180
|
|
|
177
181
|
const getAttachmentsCollection = ids => {
|
|
182
|
+
const {
|
|
183
|
+
wp
|
|
184
|
+
} = window;
|
|
178
185
|
return wp.media.query({
|
|
179
186
|
order: 'ASC',
|
|
180
187
|
orderby: 'post__in',
|
|
@@ -201,6 +208,9 @@ class MediaUpload extends Component {
|
|
|
201
208
|
this.onSelect = this.onSelect.bind(this);
|
|
202
209
|
this.onUpdate = this.onUpdate.bind(this);
|
|
203
210
|
this.onClose = this.onClose.bind(this);
|
|
211
|
+
const {
|
|
212
|
+
wp
|
|
213
|
+
} = window;
|
|
204
214
|
|
|
205
215
|
if (gallery) {
|
|
206
216
|
this.buildAndSetGalleryFrame();
|
|
@@ -257,6 +267,9 @@ class MediaUpload extends Component {
|
|
|
257
267
|
return;
|
|
258
268
|
}
|
|
259
269
|
|
|
270
|
+
const {
|
|
271
|
+
wp
|
|
272
|
+
} = window;
|
|
260
273
|
this.lastGalleryValue = value; // If a frame already existed remove it.
|
|
261
274
|
|
|
262
275
|
if (this.frame) {
|
|
@@ -298,6 +311,9 @@ class MediaUpload extends Component {
|
|
|
298
311
|
|
|
299
312
|
|
|
300
313
|
buildAndSetFeatureImageFrame() {
|
|
314
|
+
const {
|
|
315
|
+
wp
|
|
316
|
+
} = window;
|
|
301
317
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
302
318
|
const attachments = getAttachmentsCollection(this.props.value);
|
|
303
319
|
const selection = new wp.media.model.Selection(attachments.models, {
|
|
@@ -347,6 +363,9 @@ class MediaUpload extends Component {
|
|
|
347
363
|
}
|
|
348
364
|
|
|
349
365
|
onOpen() {
|
|
366
|
+
const {
|
|
367
|
+
wp
|
|
368
|
+
} = window;
|
|
350
369
|
const {
|
|
351
370
|
value
|
|
352
371
|
} = this.props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"names":["Component","__","wp","window","DEFAULT_EMPTY_GALLERY","getFeaturedImageMediaFrame","media","view","MediaFrame","Select","extend","featuredImageToolbar","toolbar","createSelectToolbar","text","l10n","setFeaturedImage","state","options","editState","selection","get","EditImage","model","single","controller","render","content","set","loadEditor","createStates","on","states","add","FeaturedImage","editImage","getGalleryDetailsMediaFrame","Post","galleryToolbar","editing","Toolbar","items","insert","style","updateGallery","insertGallery","priority","requires","library","click","close","trigger","setState","reset","Library","id","title","createGalleryTitle","filterable","multiple","editable","query","type","GalleryEdit","menu","displaySettings","GalleryAdd","slimImageObject","img","attrSet","reduce","result","key","hasOwnProperty","getAttachmentsCollection","ids","order","orderby","post__in","posts_per_page","MediaUpload","constructor","allowedTypes","gallery","unstableFeaturedImageFlow","modalClass","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","buildAndSetGalleryFrame","frameConfig","frame","$el","addClass","buildAndSetFeatureImageFrame","initializeListeners","addToGallery","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","open"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nconst { wp } = window;\n\nconst DEFAULT_EMPTY_GALLERY = [];\n\n/**\n * Prepares the Featured Image toolbars and frames.\n *\n * @return {wp.media.view.MediaFrame.Select} The default media workflow.\n */\nconst getFeaturedImageMediaFrame = () => {\n\treturn wp.media.view.MediaFrame.Select.extend( {\n\t\t/**\n\t\t * Enables the Set Featured Image Button.\n\t\t *\n\t\t * @param {Object} toolbar toolbar for featured image state\n\t\t * @return {void}\n\t\t */\n\t\tfeaturedImageToolbar( toolbar ) {\n\t\t\tthis.createSelectToolbar( toolbar, {\n\t\t\t\ttext: wp.media.view.l10n.setFeaturedImage,\n\t\t\t\tstate: this.options.state,\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'featured-image' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on(\n\t\t\t\t'toolbar:create:featured-image',\n\t\t\t\tthis.featuredImageToolbar,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.FeaturedImage(),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n/**\n * Prepares the Gallery toolbars and frames.\n *\n * @return {wp.media.view.MediaFrame.Post} The default media workflow.\n */\nconst getGalleryDetailsMediaFrame = () => {\n\t/**\n\t * Custom gallery details frame.\n\t *\n\t * @see https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js\n\t * @class GalleryDetailsMediaFrame\n\t * @class\n\t */\n\treturn wp.media.view.MediaFrame.Post.extend( {\n\t\t/**\n\t\t * Set up gallery toolbar.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tgalleryToolbar() {\n\t\t\tconst editing = this.state().get( 'editing' );\n\t\t\tthis.toolbar.set(\n\t\t\t\tnew wp.media.view.Toolbar( {\n\t\t\t\t\tcontroller: this,\n\t\t\t\t\titems: {\n\t\t\t\t\t\tinsert: {\n\t\t\t\t\t\t\tstyle: 'primary',\n\t\t\t\t\t\t\ttext: editing\n\t\t\t\t\t\t\t\t? wp.media.view.l10n.updateGallery\n\t\t\t\t\t\t\t\t: wp.media.view.l10n.insertGallery,\n\t\t\t\t\t\t\tpriority: 80,\n\t\t\t\t\t\t\trequires: { library: true },\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * @fires wp.media.controller.State#update\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tclick() {\n\t\t\t\t\t\t\t\tconst controller = this.controller,\n\t\t\t\t\t\t\t\t\tstate = controller.state();\n\n\t\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\t\tstate.trigger(\n\t\t\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t\t\tstate.get( 'library' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t// Restore and reset the default state.\n\t\t\t\t\t\t\t\tcontroller.setState( controller.options.state );\n\t\t\t\t\t\t\t\tcontroller.reset();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'gallery' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on( 'toolbar:create:main-gallery', this.galleryToolbar, this );\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tid: 'gallery',\n\t\t\t\t\ttitle: wp.media.view.l10n.createGalleryTitle,\n\t\t\t\t\tpriority: 40,\n\t\t\t\t\ttoolbar: 'main-gallery',\n\t\t\t\t\tfilterable: 'uploaded',\n\t\t\t\t\tmultiple: 'add',\n\t\t\t\t\teditable: false,\n\n\t\t\t\t\tlibrary: wp.media.query( {\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t...this.options.library,\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryEdit( {\n\t\t\t\t\tlibrary: this.options.selection,\n\t\t\t\t\tediting: this.options.editing,\n\t\t\t\t\tmenu: 'gallery',\n\t\t\t\t\tdisplaySettings: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryAdd(),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n// The media library image object contains numerous attributes\n// we only need this set to display the image in the library.\nconst slimImageObject = ( img ) => {\n\tconst attrSet = [\n\t\t'sizes',\n\t\t'mime',\n\t\t'type',\n\t\t'subtype',\n\t\t'id',\n\t\t'url',\n\t\t'alt',\n\t\t'link',\n\t\t'caption',\n\t];\n\treturn attrSet.reduce( ( result, key ) => {\n\t\tif ( img?.hasOwnProperty( key ) ) {\n\t\t\tresult[ key ] = img[ key ];\n\t\t}\n\t\treturn result;\n\t}, {} );\n};\n\nconst getAttachmentsCollection = ( ids ) => {\n\treturn wp.media.query( {\n\t\torder: 'ASC',\n\t\torderby: 'post__in',\n\t\tpost__in: ids,\n\t\tposts_per_page: -1,\n\t\tquery: true,\n\t\ttype: 'image',\n\t} );\n};\n\nclass MediaUpload extends Component {\n\tconstructor( {\n\t\tallowedTypes,\n\t\tgallery = false,\n\t\tunstableFeaturedImageFlow = false,\n\t\tmodalClass,\n\t\tmultiple = false,\n\t\ttitle = __( 'Select or Upload Media' ),\n\t} ) {\n\t\tsuper( ...arguments );\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.onOpen = this.onOpen.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUpdate = this.onUpdate.bind( this );\n\t\tthis.onClose = this.onClose.bind( this );\n\n\t\tif ( gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t} else {\n\t\t\tconst frameConfig = {\n\t\t\t\ttitle,\n\t\t\t\tmultiple,\n\t\t\t};\n\t\t\tif ( !! allowedTypes ) {\n\t\t\t\tframeConfig.library = { type: allowedTypes };\n\t\t\t}\n\n\t\t\tthis.frame = wp.media( frameConfig );\n\t\t}\n\n\t\tif ( modalClass ) {\n\t\t\tthis.frame.$el.addClass( modalClass );\n\t\t}\n\n\t\tif ( unstableFeaturedImageFlow ) {\n\t\t\tthis.buildAndSetFeatureImageFrame();\n\t\t}\n\t\tthis.initializeListeners();\n\t}\n\n\tinitializeListeners() {\n\t\t// When an image is selected in the media frame...\n\t\tthis.frame.on( 'select', this.onSelect );\n\t\tthis.frame.on( 'update', this.onUpdate );\n\t\tthis.frame.on( 'open', this.onOpen );\n\t\tthis.frame.on( 'close', this.onClose );\n\t}\n\n\t/**\n\t * Sets the Gallery frame and initializes listeners.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetGalleryFrame() {\n\t\tconst {\n\t\t\taddToGallery = false,\n\t\t\tallowedTypes,\n\t\t\tmultiple = false,\n\t\t\tvalue = DEFAULT_EMPTY_GALLERY,\n\t\t} = this.props;\n\n\t\t// If the value did not changed there is no need to rebuild the frame,\n\t\t// we can continue to use the existing one.\n\t\tif ( value === this.lastGalleryValue ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.lastGalleryValue = value;\n\n\t\t// If a frame already existed remove it.\n\t\tif ( this.frame ) {\n\t\t\tthis.frame.remove();\n\t\t}\n\t\tlet currentState;\n\t\tif ( addToGallery ) {\n\t\t\tcurrentState = 'gallery-library';\n\t\t} else {\n\t\t\tcurrentState = value && value.length ? 'gallery-edit' : 'gallery';\n\t\t}\n\t\tif ( ! this.GalleryDetailsMediaFrame ) {\n\t\t\tthis.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame();\n\t\t}\n\t\tconst attachments = getAttachmentsCollection( value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t\tmultiple,\n\t\t} );\n\t\tthis.frame = new this.GalleryDetailsMediaFrame( {\n\t\t\tmimeType: allowedTypes,\n\t\t\tstate: currentState,\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: value && value.length ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\tthis.initializeListeners();\n\t}\n\n\t/**\n\t * Initializes the Media Library requirements for the featured image flow.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetFeatureImageFrame() {\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( this.props.value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t} );\n\t\tthis.frame = new featuredImageFrame( {\n\t\t\tmimeType: this.props.allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple: this.props.multiple,\n\t\t\tselection,\n\t\t\tediting: this.props.value ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.frame.remove();\n\t}\n\n\tonUpdate( selections ) {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\tconst state = this.frame.state();\n\t\tconst selectedImages = selections || state.get( 'selection' );\n\n\t\tif ( ! selectedImages || ! selectedImages.models.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( multiple ) {\n\t\t\tonSelect(\n\t\t\t\tselectedImages.models.map( ( model ) =>\n\t\t\t\t\tslimImageObject( model.toJSON() )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tonSelect( slimImageObject( selectedImages.models[ 0 ].toJSON() ) );\n\t\t}\n\t}\n\n\tonSelect() {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\t// Get media attachment details from the frame state.\n\t\tconst attachment = this.frame.state().get( 'selection' ).toJSON();\n\t\tonSelect( multiple ? attachment : attachment[ 0 ] );\n\t}\n\n\tonOpen() {\n\t\tconst { value } = this.props;\n\t\tthis.updateCollection();\n\n\t\t//Handle active tab in media model on model open.\n\t\tif ( this.props.mode ) {\n\t\t\tthis.frame.content.mode( this.props.mode );\n\t\t}\n\n\t\t// Handle both this.props.value being either (number[]) multiple ids\n\t\t// (for galleries) or a (number) singular id (e.g. image block).\n\t\tconst hasMedia = Array.isArray( value ) ? !! value?.length : !! value;\n\n\t\tif ( ! hasMedia ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isGallery = this.props.gallery;\n\t\tconst selection = this.frame.state().get( 'selection' );\n\t\tconst valueArray = Array.isArray( value ) ? value : [ value ];\n\n\t\tif ( ! isGallery ) {\n\t\t\tvalueArray.forEach( ( id ) => {\n\t\t\t\tselection.add( wp.media.attachment( id ) );\n\t\t\t} );\n\t\t}\n\n\t\t// Load the images so they are available in the media modal.\n\t\tconst attachments = getAttachmentsCollection( valueArray );\n\n\t\t// Once attachments are loaded, set the current selection.\n\t\tattachments.more().done( function () {\n\t\t\tif ( isGallery && attachments?.models?.length ) {\n\t\t\t\tselection.add( attachments.models );\n\t\t\t}\n\t\t} );\n\t}\n\n\tonClose() {\n\t\tconst { onClose } = this.props;\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tupdateCollection() {\n\t\tconst frameContent = this.frame.content.get();\n\t\tif ( frameContent && frameContent.collection ) {\n\t\t\tconst collection = frameContent.collection;\n\n\t\t\t// Clean all attachments we have in memory.\n\t\t\tcollection\n\t\t\t\t.toArray()\n\t\t\t\t.forEach( ( model ) => model.trigger( 'destroy', model ) );\n\n\t\t\t// Reset has more flag, if library had small amount of items all items may have been loaded before.\n\t\t\tcollection.mirroring._hasMore = true;\n\n\t\t\t// Request items.\n\t\t\tcollection.more();\n\t\t}\n\t}\n\n\topenModal() {\n\t\tif ( this.props.gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t}\n\t\tthis.frame.open();\n\t}\n\n\trender() {\n\t\treturn this.props.render( { open: this.openModal } );\n\t}\n}\n\nexport default MediaUpload;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"names":["Component","__","DEFAULT_EMPTY_GALLERY","getFeaturedImageMediaFrame","wp","window","media","view","MediaFrame","Select","extend","featuredImageToolbar","toolbar","createSelectToolbar","text","l10n","setFeaturedImage","state","options","editState","selection","get","EditImage","model","single","controller","render","content","set","loadEditor","createStates","on","states","add","FeaturedImage","editImage","getGalleryDetailsMediaFrame","Post","galleryToolbar","editing","Toolbar","items","insert","style","updateGallery","insertGallery","priority","requires","library","click","close","trigger","setState","reset","Library","id","title","createGalleryTitle","filterable","multiple","editable","query","type","GalleryEdit","menu","displaySettings","GalleryAdd","slimImageObject","img","attrSet","reduce","result","key","hasOwnProperty","getAttachmentsCollection","ids","order","orderby","post__in","posts_per_page","MediaUpload","constructor","allowedTypes","gallery","unstableFeaturedImageFlow","modalClass","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","buildAndSetGalleryFrame","frameConfig","frame","$el","addClass","buildAndSetFeatureImageFrame","initializeListeners","addToGallery","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","open"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_EMPTY_GALLERY = [];\n\n/**\n * Prepares the Featured Image toolbars and frames.\n *\n * @return {window.wp.media.view.MediaFrame.Select} The default media workflow.\n */\nconst getFeaturedImageMediaFrame = () => {\n\tconst { wp } = window;\n\n\treturn wp.media.view.MediaFrame.Select.extend( {\n\t\t/**\n\t\t * Enables the Set Featured Image Button.\n\t\t *\n\t\t * @param {Object} toolbar toolbar for featured image state\n\t\t * @return {void}\n\t\t */\n\t\tfeaturedImageToolbar( toolbar ) {\n\t\t\tthis.createSelectToolbar( toolbar, {\n\t\t\t\ttext: wp.media.view.l10n.setFeaturedImage,\n\t\t\t\tstate: this.options.state,\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'featured-image' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on(\n\t\t\t\t'toolbar:create:featured-image',\n\t\t\t\tthis.featuredImageToolbar,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.FeaturedImage(),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n/**\n * Prepares the Gallery toolbars and frames.\n *\n * @return {window.wp.media.view.MediaFrame.Post} The default media workflow.\n */\nconst getGalleryDetailsMediaFrame = () => {\n\tconst { wp } = window;\n\t/**\n\t * Custom gallery details frame.\n\t *\n\t * @see https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js\n\t * @class GalleryDetailsMediaFrame\n\t * @class\n\t */\n\treturn wp.media.view.MediaFrame.Post.extend( {\n\t\t/**\n\t\t * Set up gallery toolbar.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tgalleryToolbar() {\n\t\t\tconst editing = this.state().get( 'editing' );\n\t\t\tthis.toolbar.set(\n\t\t\t\tnew wp.media.view.Toolbar( {\n\t\t\t\t\tcontroller: this,\n\t\t\t\t\titems: {\n\t\t\t\t\t\tinsert: {\n\t\t\t\t\t\t\tstyle: 'primary',\n\t\t\t\t\t\t\ttext: editing\n\t\t\t\t\t\t\t\t? wp.media.view.l10n.updateGallery\n\t\t\t\t\t\t\t\t: wp.media.view.l10n.insertGallery,\n\t\t\t\t\t\t\tpriority: 80,\n\t\t\t\t\t\t\trequires: { library: true },\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * @fires wp.media.controller.State#update\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tclick() {\n\t\t\t\t\t\t\t\tconst controller = this.controller,\n\t\t\t\t\t\t\t\t\tstate = controller.state();\n\n\t\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\t\tstate.trigger(\n\t\t\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t\t\tstate.get( 'library' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t// Restore and reset the default state.\n\t\t\t\t\t\t\t\tcontroller.setState( controller.options.state );\n\t\t\t\t\t\t\t\tcontroller.reset();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Handle the edit state requirements of selected media item.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\teditState() {\n\t\t\tconst selection = this.state( 'gallery' ).get( 'selection' );\n\t\t\tconst view = new wp.media.view.EditImage( {\n\t\t\t\tmodel: selection.single(),\n\t\t\t\tcontroller: this,\n\t\t\t} ).render();\n\n\t\t\t// Set the view to the EditImage frame using the selected image.\n\t\t\tthis.content.set( view );\n\n\t\t\t// After bringing in the frame, load the actual editor via an ajax call.\n\t\t\tview.loadEditor();\n\t\t},\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.on( 'toolbar:create:main-gallery', this.galleryToolbar, this );\n\t\t\tthis.on( 'content:render:edit-image', this.editState, this );\n\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tid: 'gallery',\n\t\t\t\t\ttitle: wp.media.view.l10n.createGalleryTitle,\n\t\t\t\t\tpriority: 40,\n\t\t\t\t\ttoolbar: 'main-gallery',\n\t\t\t\t\tfilterable: 'uploaded',\n\t\t\t\t\tmultiple: 'add',\n\t\t\t\t\teditable: false,\n\n\t\t\t\t\tlibrary: wp.media.query( {\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t...this.options.library,\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\t\tnew wp.media.controller.EditImage( {\n\t\t\t\t\tmodel: this.options.editImage,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryEdit( {\n\t\t\t\t\tlibrary: this.options.selection,\n\t\t\t\t\tediting: this.options.editing,\n\t\t\t\t\tmenu: 'gallery',\n\t\t\t\t\tdisplaySettings: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryAdd(),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n// The media library image object contains numerous attributes\n// we only need this set to display the image in the library.\nconst slimImageObject = ( img ) => {\n\tconst attrSet = [\n\t\t'sizes',\n\t\t'mime',\n\t\t'type',\n\t\t'subtype',\n\t\t'id',\n\t\t'url',\n\t\t'alt',\n\t\t'link',\n\t\t'caption',\n\t];\n\treturn attrSet.reduce( ( result, key ) => {\n\t\tif ( img?.hasOwnProperty( key ) ) {\n\t\t\tresult[ key ] = img[ key ];\n\t\t}\n\t\treturn result;\n\t}, {} );\n};\n\nconst getAttachmentsCollection = ( ids ) => {\n\tconst { wp } = window;\n\n\treturn wp.media.query( {\n\t\torder: 'ASC',\n\t\torderby: 'post__in',\n\t\tpost__in: ids,\n\t\tposts_per_page: -1,\n\t\tquery: true,\n\t\ttype: 'image',\n\t} );\n};\n\nclass MediaUpload extends Component {\n\tconstructor( {\n\t\tallowedTypes,\n\t\tgallery = false,\n\t\tunstableFeaturedImageFlow = false,\n\t\tmodalClass,\n\t\tmultiple = false,\n\t\ttitle = __( 'Select or Upload Media' ),\n\t} ) {\n\t\tsuper( ...arguments );\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.onOpen = this.onOpen.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUpdate = this.onUpdate.bind( this );\n\t\tthis.onClose = this.onClose.bind( this );\n\n\t\tconst { wp } = window;\n\n\t\tif ( gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t} else {\n\t\t\tconst frameConfig = {\n\t\t\t\ttitle,\n\t\t\t\tmultiple,\n\t\t\t};\n\t\t\tif ( !! allowedTypes ) {\n\t\t\t\tframeConfig.library = { type: allowedTypes };\n\t\t\t}\n\n\t\t\tthis.frame = wp.media( frameConfig );\n\t\t}\n\n\t\tif ( modalClass ) {\n\t\t\tthis.frame.$el.addClass( modalClass );\n\t\t}\n\n\t\tif ( unstableFeaturedImageFlow ) {\n\t\t\tthis.buildAndSetFeatureImageFrame();\n\t\t}\n\t\tthis.initializeListeners();\n\t}\n\n\tinitializeListeners() {\n\t\t// When an image is selected in the media frame...\n\t\tthis.frame.on( 'select', this.onSelect );\n\t\tthis.frame.on( 'update', this.onUpdate );\n\t\tthis.frame.on( 'open', this.onOpen );\n\t\tthis.frame.on( 'close', this.onClose );\n\t}\n\n\t/**\n\t * Sets the Gallery frame and initializes listeners.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetGalleryFrame() {\n\t\tconst {\n\t\t\taddToGallery = false,\n\t\t\tallowedTypes,\n\t\t\tmultiple = false,\n\t\t\tvalue = DEFAULT_EMPTY_GALLERY,\n\t\t} = this.props;\n\n\t\t// If the value did not changed there is no need to rebuild the frame,\n\t\t// we can continue to use the existing one.\n\t\tif ( value === this.lastGalleryValue ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { wp } = window;\n\n\t\tthis.lastGalleryValue = value;\n\n\t\t// If a frame already existed remove it.\n\t\tif ( this.frame ) {\n\t\t\tthis.frame.remove();\n\t\t}\n\t\tlet currentState;\n\t\tif ( addToGallery ) {\n\t\t\tcurrentState = 'gallery-library';\n\t\t} else {\n\t\t\tcurrentState = value && value.length ? 'gallery-edit' : 'gallery';\n\t\t}\n\t\tif ( ! this.GalleryDetailsMediaFrame ) {\n\t\t\tthis.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame();\n\t\t}\n\t\tconst attachments = getAttachmentsCollection( value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t\tmultiple,\n\t\t} );\n\t\tthis.frame = new this.GalleryDetailsMediaFrame( {\n\t\t\tmimeType: allowedTypes,\n\t\t\tstate: currentState,\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: value && value.length ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\tthis.initializeListeners();\n\t}\n\n\t/**\n\t * Initializes the Media Library requirements for the featured image flow.\n\t *\n\t * @return {void}\n\t */\n\tbuildAndSetFeatureImageFrame() {\n\t\tconst { wp } = window;\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( this.props.value );\n\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\tprops: attachments.props.toJSON(),\n\t\t} );\n\t\tthis.frame = new featuredImageFrame( {\n\t\t\tmimeType: this.props.allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple: this.props.multiple,\n\t\t\tselection,\n\t\t\tediting: this.props.value ? true : false,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.frame.remove();\n\t}\n\n\tonUpdate( selections ) {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\tconst state = this.frame.state();\n\t\tconst selectedImages = selections || state.get( 'selection' );\n\n\t\tif ( ! selectedImages || ! selectedImages.models.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( multiple ) {\n\t\t\tonSelect(\n\t\t\t\tselectedImages.models.map( ( model ) =>\n\t\t\t\t\tslimImageObject( model.toJSON() )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tonSelect( slimImageObject( selectedImages.models[ 0 ].toJSON() ) );\n\t\t}\n\t}\n\n\tonSelect() {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\t// Get media attachment details from the frame state.\n\t\tconst attachment = this.frame.state().get( 'selection' ).toJSON();\n\t\tonSelect( multiple ? attachment : attachment[ 0 ] );\n\t}\n\n\tonOpen() {\n\t\tconst { wp } = window;\n\t\tconst { value } = this.props;\n\t\tthis.updateCollection();\n\n\t\t//Handle active tab in media model on model open.\n\t\tif ( this.props.mode ) {\n\t\t\tthis.frame.content.mode( this.props.mode );\n\t\t}\n\n\t\t// Handle both this.props.value being either (number[]) multiple ids\n\t\t// (for galleries) or a (number) singular id (e.g. image block).\n\t\tconst hasMedia = Array.isArray( value ) ? !! value?.length : !! value;\n\n\t\tif ( ! hasMedia ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isGallery = this.props.gallery;\n\t\tconst selection = this.frame.state().get( 'selection' );\n\t\tconst valueArray = Array.isArray( value ) ? value : [ value ];\n\n\t\tif ( ! isGallery ) {\n\t\t\tvalueArray.forEach( ( id ) => {\n\t\t\t\tselection.add( wp.media.attachment( id ) );\n\t\t\t} );\n\t\t}\n\n\t\t// Load the images so they are available in the media modal.\n\t\tconst attachments = getAttachmentsCollection( valueArray );\n\n\t\t// Once attachments are loaded, set the current selection.\n\t\tattachments.more().done( function () {\n\t\t\tif ( isGallery && attachments?.models?.length ) {\n\t\t\t\tselection.add( attachments.models );\n\t\t\t}\n\t\t} );\n\t}\n\n\tonClose() {\n\t\tconst { onClose } = this.props;\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tupdateCollection() {\n\t\tconst frameContent = this.frame.content.get();\n\t\tif ( frameContent && frameContent.collection ) {\n\t\t\tconst collection = frameContent.collection;\n\n\t\t\t// Clean all attachments we have in memory.\n\t\t\tcollection\n\t\t\t\t.toArray()\n\t\t\t\t.forEach( ( model ) => model.trigger( 'destroy', model ) );\n\n\t\t\t// Reset has more flag, if library had small amount of items all items may have been loaded before.\n\t\t\tcollection.mirroring._hasMore = true;\n\n\t\t\t// Request items.\n\t\t\tcollection.more();\n\t\t}\n\t}\n\n\topenModal() {\n\t\tif ( this.props.gallery ) {\n\t\t\tthis.buildAndSetGalleryFrame();\n\t\t}\n\t\tthis.frame.open();\n\t}\n\n\trender() {\n\t\treturn this.props.render( { open: this.openModal } );\n\t}\n}\n\nexport default MediaUpload;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/media-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.1",
|
|
4
4
|
"description": "WordPress Media Upload Utils.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"module": "build-module/index.js",
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@babel/runtime": "^7.16.0",
|
|
29
|
-
"@wordpress/api-fetch": "^6.
|
|
30
|
-
"@wordpress/blob": "^3.
|
|
31
|
-
"@wordpress/element": "^5.
|
|
32
|
-
"@wordpress/i18n": "^4.
|
|
29
|
+
"@wordpress/api-fetch": "^6.23.1",
|
|
30
|
+
"@wordpress/blob": "^3.26.1",
|
|
31
|
+
"@wordpress/element": "^5.3.1",
|
|
32
|
+
"@wordpress/i18n": "^4.26.1"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "e9ff92d836928aba65dde94d9d193bc401a934d7"
|
|
38
38
|
}
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
import { Component } from '@wordpress/element';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
6
|
|
|
7
|
-
const { wp } = window;
|
|
8
|
-
|
|
9
7
|
const DEFAULT_EMPTY_GALLERY = [];
|
|
10
8
|
|
|
11
9
|
/**
|
|
12
10
|
* Prepares the Featured Image toolbars and frames.
|
|
13
11
|
*
|
|
14
|
-
* @return {wp.media.view.MediaFrame.Select} The default media workflow.
|
|
12
|
+
* @return {window.wp.media.view.MediaFrame.Select} The default media workflow.
|
|
15
13
|
*/
|
|
16
14
|
const getFeaturedImageMediaFrame = () => {
|
|
15
|
+
const { wp } = window;
|
|
16
|
+
|
|
17
17
|
return wp.media.view.MediaFrame.Select.extend( {
|
|
18
18
|
/**
|
|
19
19
|
* Enables the Set Featured Image Button.
|
|
@@ -73,9 +73,10 @@ const getFeaturedImageMediaFrame = () => {
|
|
|
73
73
|
/**
|
|
74
74
|
* Prepares the Gallery toolbars and frames.
|
|
75
75
|
*
|
|
76
|
-
* @return {wp.media.view.MediaFrame.Post} The default media workflow.
|
|
76
|
+
* @return {window.wp.media.view.MediaFrame.Post} The default media workflow.
|
|
77
77
|
*/
|
|
78
78
|
const getGalleryDetailsMediaFrame = () => {
|
|
79
|
+
const { wp } = window;
|
|
79
80
|
/**
|
|
80
81
|
* Custom gallery details frame.
|
|
81
82
|
*
|
|
@@ -210,6 +211,8 @@ const slimImageObject = ( img ) => {
|
|
|
210
211
|
};
|
|
211
212
|
|
|
212
213
|
const getAttachmentsCollection = ( ids ) => {
|
|
214
|
+
const { wp } = window;
|
|
215
|
+
|
|
213
216
|
return wp.media.query( {
|
|
214
217
|
order: 'ASC',
|
|
215
218
|
orderby: 'post__in',
|
|
@@ -236,6 +239,8 @@ class MediaUpload extends Component {
|
|
|
236
239
|
this.onUpdate = this.onUpdate.bind( this );
|
|
237
240
|
this.onClose = this.onClose.bind( this );
|
|
238
241
|
|
|
242
|
+
const { wp } = window;
|
|
243
|
+
|
|
239
244
|
if ( gallery ) {
|
|
240
245
|
this.buildAndSetGalleryFrame();
|
|
241
246
|
} else {
|
|
@@ -287,6 +292,8 @@ class MediaUpload extends Component {
|
|
|
287
292
|
return;
|
|
288
293
|
}
|
|
289
294
|
|
|
295
|
+
const { wp } = window;
|
|
296
|
+
|
|
290
297
|
this.lastGalleryValue = value;
|
|
291
298
|
|
|
292
299
|
// If a frame already existed remove it.
|
|
@@ -324,6 +331,7 @@ class MediaUpload extends Component {
|
|
|
324
331
|
* @return {void}
|
|
325
332
|
*/
|
|
326
333
|
buildAndSetFeatureImageFrame() {
|
|
334
|
+
const { wp } = window;
|
|
327
335
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
328
336
|
const attachments = getAttachmentsCollection( this.props.value );
|
|
329
337
|
const selection = new wp.media.model.Selection( attachments.models, {
|
|
@@ -371,6 +379,7 @@ class MediaUpload extends Component {
|
|
|
371
379
|
}
|
|
372
380
|
|
|
373
381
|
onOpen() {
|
|
382
|
+
const { wp } = window;
|
|
374
383
|
const { value } = this.props;
|
|
375
384
|
this.updateCollection();
|
|
376
385
|
|