(function($){ var AstraImages = { init: function() { if ( undefined != wp && wp.media ) { var $ = jQuery, oldMediaFramePost = wp.media.view.MediaFrame.Post, oldMediaFrameSelect = wp.media.view.MediaFrame.Select; wp.media.view.AstraAttachmentsBrowser = require( './frame.js' ); const pixabayFrame = { // Tab / Router browseRouter( routerView ) { oldMediaFrameSelect.prototype.browseRouter.apply( this, arguments ); routerView.set( { astraimages: { text: astraImages.title, priority: 70, }, } ); }, // Handlers bindHandlers() { if ( astraImages.is_elementor_editor ) { oldMediaFramePost.prototype.bindHandlers.apply( this, arguments ); } else { oldMediaFrameSelect.prototype.bindHandlers.apply( this, arguments ); } this.on( 'content:create:astraimages', this.astraimages, this ); }, /** * Render callback for the content region in the `browse` mode. * * @param {wp.media.controller.Region} contentRegion */ astraimages( contentRegion ) { const state = this.state(); // Browse our library of attachments. let thisView = new wp.media.view.AstraAttachmentsBrowser({ controller: this, model: state, AttachmentView: state.get( 'AttachmentView' ) }); contentRegion.view = thisView wp.media.view.AstraAttachmentsBrowser.object = thisView setTimeout( function() { $( document ).trigger( 'ast-image__set-scope' ); }, 100 ); } } if ( astraImages.is_elementor_editor ) { wp.media.view.MediaFrame.Post = oldMediaFramePost.extend( pixabayFrame ); } else { wp.media.view.MediaFrame.Select = oldMediaFrameSelect.extend( pixabayFrame ); } } }, }; /** * Initialize AstraImages */ $( function(){ AstraImages.init(); if ( astraImages.is_bb_active && astraImages.is_bb_editor ) { if ( undefined !== FLBuilder ) { if ( null !== FLBuilder._singlePhotoSelector ) { FLBuilder._singlePhotoSelector.on( 'open', function( event ) { AstraImages.init(); } ); } } } }); })(jQuery);