@wordpress/media-utils 4.44.0 → 4.46.0
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 +4 -0
- package/build/components/media-upload/index.js +17 -4
- package/build/components/media-upload/index.js.map +1 -1
- package/build-module/components/media-upload/index.js +17 -4
- 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
|
@@ -271,19 +271,32 @@ class MediaUpload extends _element.Component {
|
|
|
271
271
|
const {
|
|
272
272
|
wp
|
|
273
273
|
} = window;
|
|
274
|
+
const {
|
|
275
|
+
value: featuredImageId,
|
|
276
|
+
multiple,
|
|
277
|
+
allowedTypes
|
|
278
|
+
} = this.props;
|
|
274
279
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
275
|
-
const attachments = getAttachmentsCollection(
|
|
280
|
+
const attachments = getAttachmentsCollection(featuredImageId);
|
|
276
281
|
const selection = new wp.media.model.Selection(attachments.models, {
|
|
277
282
|
props: attachments.props.toJSON()
|
|
278
283
|
});
|
|
279
284
|
this.frame = new featuredImageFrame({
|
|
280
|
-
mimeType:
|
|
285
|
+
mimeType: allowedTypes,
|
|
281
286
|
state: 'featured-image',
|
|
282
|
-
multiple
|
|
287
|
+
multiple,
|
|
283
288
|
selection,
|
|
284
|
-
editing:
|
|
289
|
+
editing: featuredImageId
|
|
285
290
|
});
|
|
286
291
|
wp.media.frame = this.frame;
|
|
292
|
+
// In order to select the current featured image when opening
|
|
293
|
+
// the media library we have to set the appropriate settings.
|
|
294
|
+
// Currently they are set in php for the post editor, but
|
|
295
|
+
// not for site editor.
|
|
296
|
+
wp.media.view.settings.post = {
|
|
297
|
+
...wp.media.view.settings.post,
|
|
298
|
+
featuredImageId: featuredImageId || -1
|
|
299
|
+
};
|
|
287
300
|
}
|
|
288
301
|
componentWillUnmount() {
|
|
289
302
|
this.frame?.remove();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","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","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","initializeListeners","frame","buildAndSetGalleryFrame","addToGallery","allowedTypes","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","buildAndSetFeatureImageFrame","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","gallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","unstableFeaturedImageFlow","modalClass","__","frameConfig","$el","addClass","open","_default","exports","default"],"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"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\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\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\tconst {\n\t\t\tallowedTypes,\n\t\t\tgallery = false,\n\t\t\tunstableFeaturedImageFlow = false,\n\t\t\tmodalClass,\n\t\t\tmultiple = false,\n\t\t\ttitle = __( 'Select or Upload Media' ),\n\t\t} = this.props;\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\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","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","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","initializeListeners","frame","buildAndSetGalleryFrame","addToGallery","allowedTypes","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","buildAndSetFeatureImageFrame","featuredImageId","featuredImageFrame","settings","post","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","gallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","unstableFeaturedImageFlow","modalClass","__","frameConfig","$el","addClass","open","_default","exports","default"],"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"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\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\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 { value: featuredImageId, multiple, allowedTypes } = this.props;\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( featuredImageId );\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: allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: featuredImageId,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\t// In order to select the current featured image when opening\n\t\t// the media library we have to set the appropriate settings.\n\t\t// Currently they are set in php for the post editor, but\n\t\t// not for site editor.\n\t\twp.media.view.settings.post = {\n\t\t\t...wp.media.view.settings.post,\n\t\t\tfeaturedImageId: featuredImageId || -1,\n\t\t};\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\tconst {\n\t\t\tallowedTypes,\n\t\t\tgallery = false,\n\t\t\tunstableFeaturedImageFlow = false,\n\t\t\tmodalClass,\n\t\t\tmultiple = false,\n\t\t\ttitle = __( 'Select or Upload Media' ),\n\t\t} = this.props;\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\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"],"mappings":"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"}
|
|
@@ -264,19 +264,32 @@ class MediaUpload extends Component {
|
|
|
264
264
|
const {
|
|
265
265
|
wp
|
|
266
266
|
} = window;
|
|
267
|
+
const {
|
|
268
|
+
value: featuredImageId,
|
|
269
|
+
multiple,
|
|
270
|
+
allowedTypes
|
|
271
|
+
} = this.props;
|
|
267
272
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
268
|
-
const attachments = getAttachmentsCollection(
|
|
273
|
+
const attachments = getAttachmentsCollection(featuredImageId);
|
|
269
274
|
const selection = new wp.media.model.Selection(attachments.models, {
|
|
270
275
|
props: attachments.props.toJSON()
|
|
271
276
|
});
|
|
272
277
|
this.frame = new featuredImageFrame({
|
|
273
|
-
mimeType:
|
|
278
|
+
mimeType: allowedTypes,
|
|
274
279
|
state: 'featured-image',
|
|
275
|
-
multiple
|
|
280
|
+
multiple,
|
|
276
281
|
selection,
|
|
277
|
-
editing:
|
|
282
|
+
editing: featuredImageId
|
|
278
283
|
});
|
|
279
284
|
wp.media.frame = this.frame;
|
|
285
|
+
// In order to select the current featured image when opening
|
|
286
|
+
// the media library we have to set the appropriate settings.
|
|
287
|
+
// Currently they are set in php for the post editor, but
|
|
288
|
+
// not for site editor.
|
|
289
|
+
wp.media.view.settings.post = {
|
|
290
|
+
...wp.media.view.settings.post,
|
|
291
|
+
featuredImageId: featuredImageId || -1
|
|
292
|
+
};
|
|
280
293
|
}
|
|
281
294
|
componentWillUnmount() {
|
|
282
295
|
this.frame?.remove();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","initializeListeners","frame","buildAndSetGalleryFrame","addToGallery","allowedTypes","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","buildAndSetFeatureImageFrame","featuredImageFrame","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","gallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","unstableFeaturedImageFlow","modalClass","frameConfig","$el","addClass","open"],"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"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\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\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\tconst {\n\t\t\tallowedTypes,\n\t\t\tgallery = false,\n\t\t\tunstableFeaturedImageFlow = false,\n\t\t\tmodalClass,\n\t\t\tmultiple = false,\n\t\t\ttitle = __( 'Select or Upload Media' ),\n\t\t} = this.props;\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\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"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","arguments","openModal","bind","onOpen","onSelect","onUpdate","onClose","initializeListeners","frame","buildAndSetGalleryFrame","addToGallery","allowedTypes","value","props","lastGalleryValue","remove","currentState","length","GalleryDetailsMediaFrame","attachments","Selection","models","toJSON","mimeType","buildAndSetFeatureImageFrame","featuredImageId","featuredImageFrame","settings","post","componentWillUnmount","selections","selectedImages","map","attachment","updateCollection","mode","hasMedia","Array","isArray","isGallery","gallery","valueArray","forEach","more","done","frameContent","collection","toArray","mirroring","_hasMore","unstableFeaturedImageFlow","modalClass","frameConfig","$el","addClass","open"],"sources":["@wordpress/media-utils/src/components/media-upload/index.js"],"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\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\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 { value: featuredImageId, multiple, allowedTypes } = this.props;\n\t\tconst featuredImageFrame = getFeaturedImageMediaFrame();\n\t\tconst attachments = getAttachmentsCollection( featuredImageId );\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: allowedTypes,\n\t\t\tstate: 'featured-image',\n\t\t\tmultiple,\n\t\t\tselection,\n\t\t\tediting: featuredImageId,\n\t\t} );\n\t\twp.media.frame = this.frame;\n\t\t// In order to select the current featured image when opening\n\t\t// the media library we have to set the appropriate settings.\n\t\t// Currently they are set in php for the post editor, but\n\t\t// not for site editor.\n\t\twp.media.view.settings.post = {\n\t\t\t...wp.media.view.settings.post,\n\t\t\tfeaturedImageId: featuredImageId || -1,\n\t\t};\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\tconst {\n\t\t\tallowedTypes,\n\t\t\tgallery = false,\n\t\t\tunstableFeaturedImageFlow = false,\n\t\t\tmodalClass,\n\t\t\tmultiple = false,\n\t\t\ttitle = __( 'Select or Upload Media' ),\n\t\t} = this.props;\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\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"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/media-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.46.0",
|
|
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.52.0",
|
|
30
|
+
"@wordpress/blob": "^3.55.0",
|
|
31
|
+
"@wordpress/element": "^5.32.0",
|
|
32
|
+
"@wordpress/i18n": "^4.55.0"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "ac2b13783c28f959770cf029a797a712f59e1958"
|
|
38
38
|
}
|
|
@@ -300,19 +300,28 @@ class MediaUpload extends Component {
|
|
|
300
300
|
*/
|
|
301
301
|
buildAndSetFeatureImageFrame() {
|
|
302
302
|
const { wp } = window;
|
|
303
|
+
const { value: featuredImageId, multiple, allowedTypes } = this.props;
|
|
303
304
|
const featuredImageFrame = getFeaturedImageMediaFrame();
|
|
304
|
-
const attachments = getAttachmentsCollection(
|
|
305
|
+
const attachments = getAttachmentsCollection( featuredImageId );
|
|
305
306
|
const selection = new wp.media.model.Selection( attachments.models, {
|
|
306
307
|
props: attachments.props.toJSON(),
|
|
307
308
|
} );
|
|
308
309
|
this.frame = new featuredImageFrame( {
|
|
309
|
-
mimeType:
|
|
310
|
+
mimeType: allowedTypes,
|
|
310
311
|
state: 'featured-image',
|
|
311
|
-
multiple
|
|
312
|
+
multiple,
|
|
312
313
|
selection,
|
|
313
|
-
editing:
|
|
314
|
+
editing: featuredImageId,
|
|
314
315
|
} );
|
|
315
316
|
wp.media.frame = this.frame;
|
|
317
|
+
// In order to select the current featured image when opening
|
|
318
|
+
// the media library we have to set the appropriate settings.
|
|
319
|
+
// Currently they are set in php for the post editor, but
|
|
320
|
+
// not for site editor.
|
|
321
|
+
wp.media.view.settings.post = {
|
|
322
|
+
...wp.media.view.settings.post,
|
|
323
|
+
featuredImageId: featuredImageId || -1,
|
|
324
|
+
};
|
|
316
325
|
}
|
|
317
326
|
|
|
318
327
|
componentWillUnmount() {
|