/**
* AJAX Request Queue
*
* - add()
* - remove()
* - run()
* - stop()
*
* @since 1.0.0
*/
var AstraSitesAjaxQueue = ( function () {
var requests = [];
return {
/**
* Add AJAX request
*
* @since 1.0.0
*/
add: function ( opt ) {
requests.push( opt );
},
/**
* Remove AJAX request
*
* @since 1.0.0
*/
remove: function ( opt ) {
if ( jQuery.inArray( opt, requests ) > -1 )
requests.splice( $.inArray( opt, requests ), 1 );
},
/**
* Run / Process AJAX request
*
* @since 1.0.0
*/
run: function () {
var self = this,
oriSuc;
if ( requests.length ) {
oriSuc = requests[ 0 ].complete;
requests[ 0 ].complete = function () {
if ( typeof oriSuc === 'function' ) oriSuc();
requests.shift();
self.run.apply( self, [] );
};
jQuery.ajax( requests[ 0 ] );
} else {
self.tid = setTimeout( function () {
self.run.apply( self, [] );
}, 1000 );
}
},
/**
* Stop AJAX request
*
* @since 1.0.0
*/
stop: function () {
requests = [];
clearTimeout( this.tid );
},
};
} )();
( function ( $ ) {
$elscope = {};
$.fn.isInViewport = function () {
// If not have the element then return false!
if ( ! $( this ).length ) {
return false;
}
var elementTop = $( this ).offset().top;
var elementBottom = elementTop + $( this ).outerHeight();
var viewportTop = $( window ).scrollTop();
var viewportBottom = viewportTop + $( window ).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
AstraElementorSitesAdmin = {
visited_pages: [],
reset_remaining_posts: 0,
site_imported_data: null,
backup_taken: false,
templateData: {},
insertData: {},
log_file: '',
pages_list: '',
insertActionFlag: false,
page_id: '',
site_id: '',
block_id: '',
requiredPlugins: [],
canImport: false,
canInsert: false,
type: 'pages',
action: '',
masonryObj: [],
index: 0,
blockCategory: '',
blockColor: '',
processing: false,
siteType: '',
page: 1,
per_page: 20,
init: function () {
this._bind();
},
/**
* Binds events for the Astra Sites.
*
* @since 1.0.0
* @access private
* @method _bind
*/
_bind: function () {
if ( elementorCommon ) {
let add_section_tmpl = $( '#tmpl-elementor-add-section' );
if ( add_section_tmpl.length > 0 ) {
let action_for_add_section = add_section_tmpl.text();
let white_label_class = '';
let stylesheet = '';
if ( astraElementorSites.isWhiteLabeled ) {
white_label_class = ' ast-elementor-white-label';
stylesheet =
'";
}
action_for_add_section = action_for_add_section.replace(
'
=
$elscope
.find( '.astra-sites-library-template:last' )
.offset().top
) {
AstraElementorSitesAdmin.page =
AstraElementorSitesAdmin.page + 1;
// Set listing HTML.
AstraElementorSitesAdmin._appendPaginationBlocks(
astraElementorSites.astra_blocks
);
}
}
}
},
_changeType: function () {
AstraElementorSitesAdmin.siteType = $( this ).val();
$elscope.find( '#wp-filter-search-input' ).trigger( 'keyup' );
},
_categoryChange: function ( event ) {
AstraElementorSitesAdmin.blockCategory = $( this ).val();
$elscope.find( '#wp-filter-search-input' ).trigger( 'keyup' );
},
_blockColorChange: function ( event ) {
AstraElementorSitesAdmin.blockColor = $( this ).val();
$elscope.find( '#wp-filter-search-input' ).trigger( 'keyup' );
},
_dismiss: function () {
$( this )
.closest( '.ast-sites-floating-notice-wrap' )
.removeClass( 'slide-in' );
$( this )
.closest( '.ast-sites-floating-notice-wrap' )
.addClass( 'slide-out' );
setTimeout( function () {
$( this )
.closest( '.ast-sites-floating-notice-wrap' )
.removeClass( 'slide-out' );
}, 200 );
if (
$( this )
.closest( '.ast-sites-floating-notice-wrap' )
.hasClass( 'refreshed-notice' )
) {
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-update-library-complete',
_ajax_nonce: astraElementorSites._ajax_nonce,
},
} ).done( function ( response ) {
$( '#ast-sites-floating-notice-wrap-id' ).toggle();
} );
}
},
_done: function ( data ) {
console.groupEnd( 'Process Done.' );
var str =
AstraElementorSitesAdmin.type == 'pages'
? astraElementorSites.template
: astraElementorSites.block;
$elscope
.find( '.ast-import-elementor-template' )
.removeClass( 'installing' );
$elscope
.find( '.ast-import-elementor-template' )
.attr( 'data-demo-link', data.data.link );
setTimeout( function () {
$elscope
.find( '.ast-import-elementor-template' )
.text( 'View Saved ' + str );
$elscope
.find( '.ast-import-elementor-template' )
.addClass( 'action-done' );
}, 200 );
},
_beforeClose: function () {
if ( AstraElementorSitesAdmin.action == 'insert' ) {
$elscope
.find( '.ast-library-template-insert' )
.removeClass( 'installing' );
$elscope
.find( '.ast-library-template-insert' )
.text( 'Imported' );
$elscope
.find( '.ast-library-template-insert' )
.addClass( 'action-done' );
if (
$elscope
.find( '.ast-sites-floating-notice-wrap' )
.hasClass( 'slide-in' )
) {
$elscope
.find( '.ast-sites-floating-notice-wrap' )
.removeClass( 'slide-in' );
$elscope
.find( '.ast-sites-floating-notice-wrap' )
.addClass( 'slide-out' );
setTimeout( function () {
$elscope
.find( '.ast-sites-floating-notice-wrap' )
.removeClass( 'slide-out' );
}, 200 );
}
}
},
_closeTooltip: function ( event ) {
if (
event.target.className !== 'ast-tooltip-wrap' &&
event.target.className !== 'dashicons dashicons-editor-help'
) {
var wrap = $elscope.find( '.ast-tooltip-wrap' );
if ( wrap.hasClass( 'ast-show-tooltip' ) ) {
$elscope
.find( '.ast-tooltip-wrap' )
.removeClass( 'ast-show-tooltip' );
}
}
},
_sync: function ( event ) {
event.preventDefault();
var button = $( this ).find( '.astra-sites-sync-library-button' );
if ( button.hasClass( 'updating-message' ) ) {
return;
}
button.addClass( 'updating-message' );
$elscope
.find( '#ast-sites-floating-notice-wrap-id' )
.show()
.removeClass( 'error' );
$elscope
.find(
'#ast-sites-floating-notice-wrap-id .ast-sites-floating-notice'
)
.html(
'
Syncing template library in the background. The process can take anywhere between 2 to 3 minutes. We will notify you once done.'
);
$elscope
.find( '#ast-sites-floating-notice-wrap-id' )
.addClass( 'slide-in' )
.removeClass( 'refreshed-notice' );
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-update-library',
_ajax_nonce: astraElementorSites._ajax_nonce,
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
} )
.done( function ( response ) {
if ( response.success ) {
if ( 'updated' === response.data ) {
$elscope
.find( '#ast-sites-floating-notice-wrap-id' )
.addClass( 'refreshed-notice' )
.find( '.ast-sites-floating-notice' )
.html(
'' +
astraElementorSites.syncCompleteMessage +
''
);
button.removeClass( 'updating-message' );
console.log( 'Already sync all the sites.' );
} else {
// Import categories.
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-import-all-categories-and-tags',
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
} ).fail( function ( jqXHR ) {
console.log( jqXHR );
} );
// Import categories.
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-import-all-categories',
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
} ).fail( function ( jqXHR ) {
console.log( jqXHR );
} );
// Import Blocks.
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-get-blocks-request-count',
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed( 'Updating Blocks' );
console.log( 'Updating Blocks' );
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR, 'error' );
console.error(
jqXHR.status + jqXHR.statusText,
'Blocks Count Request Failed!',
jqXHR
);
console.groupEnd( 'Updating Blocks' );
} )
.done( function ( response ) {
console.log( response );
if ( response.success ) {
var total = response.data;
for ( let i = 1; i <= total; i++ ) {
AstraSitesAjaxQueue.add( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-import-blocks',
page_no: i,
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed(
'Importing Blocks - Page ' +
i
);
console.log(
'Importing Blocks - Page ' +
i
);
},
success: function ( response ) {
console.log( response );
console.groupEnd(
'Importing Blocks - Page ' +
i
);
},
} );
}
// Run the AJAX queue.
AstraSitesAjaxQueue.run();
} else {
console.error(
response.data,
'Blocks Count Request Failed!'
);
}
} );
// Import Block Categories.
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-import-block-categories',
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
} ).fail( function ( jqXHR ) {
console.log( jqXHR );
} );
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-get-sites-request-count',
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
} )
.done( function ( response ) {
if ( response.success ) {
var total = response.data;
for ( let i = 1; i <= total; i++ ) {
AstraSitesAjaxQueue.add( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-import-sites',
page_no: i,
_ajax_nonce:
astraElementorSites._ajax_nonce,
},
success: function ( result ) {
if (
i === total &&
astraElementorSites.syncCompleteMessage
) {
button.removeClass(
'updating-message'
);
$elscope
.find(
'#ast-sites-floating-notice-wrap-id'
)
.addClass(
'refreshed-notice'
)
.find(
'.ast-sites-floating-notice'
)
.html(
'' +
astraElementorSites.syncCompleteMessage +
''
);
}
},
} );
}
// Run the AJAX queue.
AstraSitesAjaxQueue.run();
}
} );
}
}
} );
},
_toggleTooltip: function ( e ) {
var wrap = $elscope.find( '.ast-tooltip-wrap' );
if ( wrap.hasClass( 'ast-show-tooltip' ) ) {
$elscope
.find( '.ast-tooltip-wrap' )
.removeClass( 'ast-show-tooltip' );
} else {
$elscope
.find( '.ast-tooltip-wrap' )
.addClass( 'ast-show-tooltip' );
}
},
_toggle: function ( e ) {
$elscope
.find( '.elementor-template-library-menu-item' )
.removeClass( 'elementor-active' );
$elscope.find( '.dialog-lightbox-content' ).hide();
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
$elscope.find( '.theme-preview-block' ).hide();
$elscope.find( '.theme-preview-block' ).html( '' );
$elscope.find( '.ast-template-library-toolbar' ).show();
$elscope.find( '.dialog-lightbox-content' ).hide();
$elscope.find( '.dialog-lightbox-content-block' ).hide();
$( this ).addClass( 'elementor-active' );
let data_type = $( this ).data( 'template-type' );
AstraElementorSitesAdmin.type = data_type;
AstraElementorSitesAdmin._switchTo( data_type );
},
_home: function () {
if ( AstraElementorSitesAdmin.processing ) {
return;
}
$elscope.find( '#wp-filter-search-input' ).val( '' );
// Hide Back button.
$elscope.find( '.back-to-layout' ).css( 'visibility', 'hidden' );
$elscope.find( '.back-to-layout' ).css( 'opacity', '0' );
$elscope
.find( '.elementor-template-library-menu-item:first-child' )
.trigger( 'click' );
},
_switchTo: function ( type ) {
if ( 'pages' == type ) {
AstraElementorSitesAdmin._initSites();
$elscope.find( '.dialog-lightbox-content' ).show();
$elscope.find( '.astra-blocks-category-inner-wrap' ).hide();
$elscope.find( '.astra-blocks-filter-inner-wrap' ).hide();
$elscope.find( '.elementor-template-library-order' ).show();
} else {
AstraElementorSitesAdmin._initBlocks();
$elscope.find( '.dialog-lightbox-content-block' ).show();
$elscope.find( '.astra-blocks-category-inner-wrap' ).show();
$elscope.find( '.astra-blocks-filter-inner-wrap' ).show();
$elscope.find( '.elementor-template-library-order' ).hide();
}
$elscope.find( '.astra-sites-content-wrap' ).trigger( 'scroll' );
},
_importWPForm: function ( wpforms_url, callback ) {
if ( ! wpforms_url ) {
if ( callback && typeof callback == 'function' ) {
callback( '' );
}
return;
}
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'astra-sites-import-wpforms',
screen: 'elementor',
id: AstraElementorSitesAdmin.templateData.id,
_ajax_nonce: astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed( 'Importing WP Forms' );
},
} )
.fail( function ( jqXHR ) {
console.log(
jqXHR.status + ' ' + jqXHR.responseText,
true
);
console.groupEnd();
} )
.done( function ( data ) {
// 1. Fail - Import WPForms Options.
if ( false === data.success ) {
console.log( data.data );
console.groupEnd();
} else {
if ( callback && typeof callback == 'function' ) {
callback( data );
}
}
} );
},
_createTemplate: function () {
console.groupEnd();
// Work with JSON page here
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'astra-sites-create-template',
id:
AstraElementorSitesAdmin.type == 'pages'
? AstraElementorSitesAdmin.page_id?.replace(
'id-',
''
)
: AstraElementorSitesAdmin.block_id?.replace(
'id-',
''
),
title:
AstraElementorSitesAdmin.templateData?.title
?.rendered || '',
type:
'blocks' == AstraElementorSitesAdmin.type
? 'astra-blocks'
: 'site-pages',
_ajax_nonce: astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed( 'Creating Template' );
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
} )
.done( function ( data ) {
AstraElementorSitesAdmin._done( data );
} );
},
/**
* Install All Plugins.
*/
_installAllPlugins: function ( not_installed ) {
$.each( not_installed, function ( index, single_plugin ) {
console.log( 'Installing Plugin - ' + single_plugin.name );
// Add each plugin activate request in Ajax queue.
// @see wp-admin/js/updates.js
wp.updates.queue.push( {
action: 'install-plugin', // Required action.
data: {
slug: single_plugin.slug,
},
} );
} );
// Required to set queue.
wp.updates.queueChecker();
},
/**
* Activate All Plugins.
*/
_activateAllPlugins: function ( activate_plugins ) {
$.each( activate_plugins, function ( index, single_plugin ) {
console.log( 'Activating Plugin - ' + single_plugin.name );
AstraSitesAjaxQueue.add( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-required_plugin_activate',
init: single_plugin.init,
_ajax_nonce: astraElementorSites._ajax_nonce,
},
success: function ( result ) {
if ( result.success ) {
var pluginsList =
AstraElementorSitesAdmin.requiredPlugins
.inactive;
// Reset not installed plugins list.
AstraElementorSitesAdmin.requiredPlugins.inactive =
AstraElementorSitesAdmin._removePluginFromQueue(
single_plugin.slug,
pluginsList
);
// Enable Demo Import Button
AstraElementorSitesAdmin._enableImport();
}
},
} );
} );
AstraSitesAjaxQueue.run();
},
/**
* Remove plugin from the queue.
*/
_removePluginFromQueue: function ( removeItem, pluginsList ) {
return jQuery.grep( pluginsList, function ( value ) {
return value.slug != removeItem;
} );
},
/**
* Get plugin from the queue.
*/
_getPluginFromQueue: function ( item, pluginsList ) {
var match = '';
for ( ind in pluginsList ) {
if ( item == pluginsList[ ind ].slug ) {
match = pluginsList[ ind ];
}
}
return match;
},
_bulkPluginInstallActivate: function () {
console.groupCollapsed( 'Bulk Plugin Install Process Started' );
// If has class the skip-plugins then,
// Avoid installing 3rd party plugins.
var not_installed =
AstraElementorSitesAdmin.requiredPlugins.notinstalled || '';
var activate_plugins =
AstraElementorSitesAdmin.requiredPlugins.inactive || '';
console.log( AstraElementorSitesAdmin.requiredPlugins );
// First Install Bulk.
if ( not_installed.length > 0 ) {
AstraElementorSitesAdmin._installAllPlugins( not_installed );
}
// Second Activate Bulk.
if ( activate_plugins.length > 0 ) {
AstraElementorSitesAdmin._activateAllPlugins(
activate_plugins
);
}
if ( activate_plugins.length <= 0 && not_installed.length <= 0 ) {
AstraElementorSitesAdmin._enableImport();
}
},
_importTemplate: function ( e ) {
if ( ! AstraElementorSitesAdmin.canImport ) {
if ( $( this ).attr( 'data-demo-link' ) != undefined ) {
window.open( $( this ).attr( 'data-demo-link' ), '_blank' );
}
return;
}
AstraElementorSitesAdmin.canImport = false;
var str =
AstraElementorSitesAdmin.type == 'pages'
? astraElementorSites.template
: astraElementorSites.block;
$( this ).addClass( 'installing' );
$( this ).text( 'Saving ' + str + '...' );
AstraElementorSitesAdmin.action = 'import';
AstraElementorSitesAdmin._bulkPluginInstallActivate();
},
_unescape: function ( input_string ) {
var title = _.unescape( input_string );
// @todo check why below character not escape with function _.unescape();
title = title.replace( '–', '-' );
return title;
},
_unescape_lower: function ( input_string ) {
input_string = $( '' ).html( input_string ).text();
var input_string =
AstraElementorSitesAdmin._unescape( input_string );
return input_string.toLowerCase();
},
_search: function () {
let search_term = $( this ).val() || '';
search_term = search_term.toLowerCase();
if ( 'pages' == AstraElementorSitesAdmin.type ) {
var items =
AstraElementorSitesAdmin._getSearchedPages( search_term );
if ( search_term.length ) {
$( this ).addClass( 'has-input' );
AstraElementorSitesAdmin._addSites( items );
} else {
$( this ).removeClass( 'has-input' );
AstraElementorSitesAdmin._appendSites(
astraElementorSites.default_page_builder_sites
);
}
} else {
var items =
AstraElementorSitesAdmin._getSearchedBlocks( search_term );
if ( search_term.length ) {
$( this ).addClass( 'has-input' );
AstraElementorSitesAdmin._appendBlocks( items );
} else {
$( this ).removeClass( 'has-input' );
AstraElementorSitesAdmin._appendBlocks(
astraElementorSites.astra_blocks
);
}
}
},
_getSearchedPages: function ( search_term ) {
var items = [];
search_term = search_term.toLowerCase();
for ( site_id in astraElementorSites.default_page_builder_sites ) {
var current_site =
astraElementorSites.default_page_builder_sites[ site_id ];
// Check in site title.
if ( current_site[ 'title' ] ) {
var site_title = AstraElementorSitesAdmin._unescape_lower(
current_site[ 'title' ]
);
if ( site_title.toLowerCase().includes( search_term ) ) {
for ( page_id in current_site[ 'pages' ] ) {
items[ page_id ] =
current_site[ 'pages' ][ page_id ];
items[ page_id ][ 'type' ] = 'page';
items[ page_id ][ 'site_id' ] = site_id;
items[ page_id ][ 'astra-sites-type' ] =
current_site[ 'astra-sites-type' ] || '';
items[ page_id ][ 'parent-site-name' ] =
current_site[ 'title' ] || '';
items[ page_id ][ 'pages-count' ] = 0;
}
}
}
// Check in page title.
if ( Object.keys( current_site[ 'pages' ] ).length ) {
var pages = current_site[ 'pages' ];
for ( page_id in pages ) {
// Check in site title.
if ( pages[ page_id ][ 'title' ] ) {
var page_title =
AstraElementorSitesAdmin._unescape_lower(
pages[ page_id ][ 'title' ]
);
if (
page_title.toLowerCase().includes( search_term )
) {
items[ page_id ] = pages[ page_id ];
items[ page_id ][ 'type' ] = 'page';
items[ page_id ][ 'site_id' ] = site_id;
items[ page_id ][ 'astra-sites-type' ] =
current_site[ 'astra-sites-type' ] || '';
items[ page_id ][ 'parent-site-name' ] =
current_site[ 'title' ] || '';
items[ page_id ][ 'pages-count' ] = 0;
}
}
}
}
}
return items;
},
_getSearchedBlocks: function ( search_term ) {
var items = [];
if ( search_term.length ) {
for ( block_id in astraElementorSites.astra_blocks ) {
var current_site =
astraElementorSites.astra_blocks[ block_id ];
// Check in site title.
if ( current_site[ 'title' ] ) {
var site_title =
AstraElementorSitesAdmin._unescape_lower(
current_site[ 'title' ]
);
if (
site_title.toLowerCase().includes( search_term )
) {
items[ block_id ] = current_site;
items[ block_id ][ 'type' ] = 'site';
items[ block_id ][ 'site_id' ] = block_id;
}
}
}
}
return items;
},
_addSites: function ( data ) {
if ( data ) {
let single_template = wp.template( 'astra-sites-search' );
pages_list = single_template( data );
$elscope.find( '.dialog-lightbox-content' ).html( pages_list );
AstraElementorSitesAdmin._loadLargeImages();
} else {
$elscope
.find( '.dialog-lightbox-content' )
.html( wp.template( 'astra-sites-no-sites' ) );
}
},
_appendSites: function ( data ) {
let single_template = wp.template( 'astra-sites-list' );
pages_list = single_template( data );
$elscope.find( '.dialog-lightbox-message-block' ).hide();
$elscope.find( '.dialog-lightbox-message' ).show();
$elscope.find( '.dialog-lightbox-content' ).html( pages_list );
AstraElementorSitesAdmin._loadLargeImages();
},
_appendBlocks: function ( data ) {
let single_template = wp.template( 'astra-blocks-list' );
let blocks_list = single_template( data );
$elscope.find( '.dialog-lightbox-message' ).hide();
$elscope.find( '.dialog-lightbox-message-block' ).show();
$elscope
.find( '.dialog-lightbox-content-block' )
.html( blocks_list );
AstraElementorSitesAdmin._masonry();
},
_appendPaginationBlocks: function ( data ) {
let single_template = wp.template( 'astra-blocks-list' );
let blocks_list = single_template( data );
$elscope.find( '.dialog-lightbox-message' ).hide();
$elscope.find( '.dialog-lightbox-message-block' ).show();
$elscope
.find( '.dialog-lightbox-content-block' )
.append( blocks_list );
AstraElementorSitesAdmin._masonry();
},
_masonry: function () {
//create empty var masonryObj
var masonryObj;
var container = document.querySelector(
'.dialog-lightbox-content-block'
);
// initialize Masonry after all images have loaded
imagesLoaded( container, function () {
masonryObj = new Masonry( container, {
itemSelector: '.astra-sites-library-template',
} );
} );
},
_enableImport: function () {
console.log( 'Required Plugins Process Done.' );
console.groupEnd();
if ( AstraElementorSitesAdmin[ 'initial-page-refresh' ] ) {
AstraElementorSitesAdmin.saveContentAndRefresh();
} else {
AstraElementorSitesAdmin.removeAddedParams();
}
let form_url = '';
if ( 'pages' == AstraElementorSitesAdmin.type ) {
form_url =
AstraElementorSitesAdmin.templateData[
'astra-site-wpforms-path'
];
} else {
form_url =
undefined !=
AstraElementorSitesAdmin.templateData[ 'post-meta' ]
? AstraElementorSitesAdmin.templateData[ 'post-meta' ][
'astra-site-wpforms-path'
]
: '';
}
if ( ! AstraElementorSitesAdmin[ 'initial-page-refresh' ] ) {
AstraElementorSitesAdmin._importWPForm( form_url, function () {
AstraElementorSitesAdmin.insertData =
AstraElementorSitesAdmin.templateData;
if ( 'insert' == AstraElementorSitesAdmin.action ) {
AstraElementorSitesAdmin._insertDemo();
} else {
AstraElementorSitesAdmin._createTemplate();
}
} );
}
},
_insert: function ( e ) {
if ( ! AstraElementorSitesAdmin.canInsert ) {
return;
}
AstraElementorSitesAdmin.canInsert = false;
var str =
AstraElementorSitesAdmin.type == 'pages'
? astraElementorSites.template
: astraElementorSites.block;
$( this ).addClass( 'installing' );
if ( ! AstraElementorSitesAdmin[ 'initial-page-refresh' ] ) {
$( this ).text( 'Importing ' + str + '...' );
}
AstraElementorSitesAdmin.action = 'insert';
AstraElementorSitesAdmin._bulkPluginInstallActivate();
},
requestInsert: function (
_id,
type,
templateModel,
afterInsert,
beforeInsert,
failedCallback
) {
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-page-elementor-insert-page',
id: _id,
type: type,
_ajax_nonce: astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed( 'Inserting Demo.' );
},
} )
.fail( function ( jqXHR ) {
failedCallback( jqXHR );
} )
.done( function ( response ) {
beforeInsert();
let page_content = response.data;
page_content = page_content.map( function ( item ) {
item.id = Math.random().toString( 36 ).substr( 2, 7 );
return item;
} );
console.log( page_content );
console.groupEnd();
if ( undefined !== page_content && '' !== page_content ) {
if (
undefined != $e &&
'undefined' != typeof $e.internal
) {
elementor.channels.data.trigger(
'document/import',
templateModel
);
elementor
.getPreviewView()
.addChildModel(
page_content,
{ at: AstraElementorSitesAdmin.index } || {}
);
elementor.channels.data.trigger(
'template:after:insert',
{}
);
$e.internal( 'document/save/set-is-modified', {
status: true,
} );
} else {
elementor.channels.data.trigger(
'document/import',
templateModel
);
elementor
.getPreviewView()
.addChildModel(
page_content,
{ at: AstraElementorSitesAdmin.index } || {}
);
elementor.channels.data.trigger(
'template:after:insert',
{}
);
elementor.saver.setFlagEditorChange( true );
}
}
afterInsert();
} );
},
beforeInsert: function () {
AstraElementorSitesAdmin.processing = false;
$elscope
.find( '.astra-sites-content-wrap' )
.removeClass( 'processing' );
},
afterInsert: function () {
AstraElementorSitesAdmin.insertActionFlag = true;
AstraElementorSitesAdmin._close();
},
failedCallback: function ( jqXHR ) {
console.log( jqXHR );
console.groupEnd();
},
_insertDemo: function () {
var data = AstraElementorSitesAdmin.templateData;
if ( undefined !== data ) {
let templateModel = new Backbone.Model( {
getTitle() {
return data[ 'title' ];
},
} );
let type =
'blocks' == AstraElementorSitesAdmin.type
? 'astra-blocks'
: 'site-pages';
this.requestInsert(
data[ 'id' ],
type,
templateModel,
this.afterInsert,
this.beforeInsert,
this.failedCallback
);
}
},
_goBack: function ( e ) {
if ( AstraElementorSitesAdmin.processing ) {
return;
}
let step = $( this ).attr( 'data-step' );
$elscope.find( '#ast-sites-floating-notice-wrap-id.error' ).hide();
$elscope.find( '.astra-sites-step-1-wrap' ).show();
$elscope.find( '.astra-preview-actions-wrap' ).remove();
$elscope.find( '.ast-template-library-toolbar' ).show();
$elscope
.find( '.ast-sites-modal__header' )
.removeClass( 'ast-preview-mode' );
let id =
'blocks' === AstraElementorSitesAdmin.type
? AstraElementorSitesAdmin.block_id?.replace( 'id-', '' )
: AstraElementorSitesAdmin.page_id?.replace( 'id-', '' );
if ( '' !== id ) {
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-elementor-flush-request',
id,
_ajax_nonce: astraElementorSites._ajax_nonce,
},
beforeSend: function () {
console.groupCollapsed(
'Deleting cached template data.'
);
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
console.groupEnd();
} )
.done( function ( response ) {
console.log( response );
} );
}
if ( 'pages' == AstraElementorSitesAdmin.type ) {
if ( 3 == step ) {
$( this ).attr( 'data-step', 2 );
$( document ).trigger(
'astra-sites__elementor-goback-step-2'
);
} else if ( 2 == step ) {
$( this ).attr( 'data-step', 1 );
$( document ).trigger(
'astra-sites__elementor-goback-step-1'
);
}
} else {
$( this ).attr( 'data-step', 1 );
$( document ).trigger( 'astra-sites__elementor-goback-step-1' );
}
$elscope.find( '.astra-sites-content-wrap' ).trigger( 'scroll' );
},
_goStep1: function ( e ) {
// Reset site and page ids to null.
AstraElementorSitesAdmin.site_id = '';
AstraElementorSitesAdmin.page_id = '';
AstraElementorSitesAdmin.block_id = '';
AstraElementorSitesAdmin.requiredPlugins = [];
AstraElementorSitesAdmin.templateData = {};
AstraElementorSitesAdmin.canImport = false;
AstraElementorSitesAdmin.canInsert = false;
// Hide Back button.
$elscope.find( '.back-to-layout' ).css( 'visibility', 'hidden' );
$elscope.find( '.back-to-layout' ).css( 'opacity', '0' );
// Hide Preview Page.
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
$elscope.find( '.theme-preview-block' ).hide();
$elscope.find( '.theme-preview-block' ).html( '' );
$elscope.find( '.ast-template-library-toolbar' ).show();
// Show listing page.
if ( AstraElementorSitesAdmin.type == 'pages' ) {
$elscope.find( '.dialog-lightbox-content' ).show();
$elscope.find( '.dialog-lightbox-content-block' ).hide();
// Set listing HTML.
AstraElementorSitesAdmin._appendSites(
astraElementorSites.default_page_builder_sites
);
} else {
// Set listing HTML.
AstraElementorSitesAdmin._appendBlocks(
astraElementorSites.astra_blocks
);
$elscope.find( '.dialog-lightbox-content-block' ).show();
$elscope.find( '.dialog-lightbox-content' ).hide();
if ( '' !== $elscope.find( '#wp-filter-search-input' ).val() ) {
$elscope
.find( '#wp-filter-search-input' )
.trigger( 'keyup' );
}
}
},
_goStep2: function ( e ) {
// Set page and site ids.
AstraElementorSitesAdmin.site_id = $elscope
.find( '#astra-blocks' )
.data( 'site-id' );
AstraElementorSitesAdmin.page_id = '';
if ( undefined === AstraElementorSitesAdmin.site_id ) {
return;
}
// Single Preview template.
let single_template = wp.template( 'astra-sites-list-search' );
let passing_data =
astraElementorSites.default_page_builder_sites[
AstraElementorSitesAdmin.site_id
][ 'pages' ];
passing_data[ 'site_id' ] = AstraElementorSitesAdmin.site_id;
pages_list = single_template( passing_data );
$elscope.find( '.dialog-lightbox-content' ).html( pages_list );
// Hide Preview page.
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
$elscope.find( '.ast-template-library-toolbar' ).show();
$elscope.find( '.theme-preview-block' ).hide();
$elscope.find( '.theme-preview-block' ).html( '' );
// Show listing page.
$elscope.find( '.dialog-lightbox-content' ).show();
$elscope.find( '.dialog-lightbox-content-block' ).hide();
AstraElementorSitesAdmin._loadLargeImages();
if ( '' !== $elscope.find( '#wp-filter-search-input' ).val() ) {
$elscope.find( '#wp-filter-search-input' ).trigger( 'keyup' );
}
},
_step1: function ( e ) {
if ( 'pages' == AstraElementorSitesAdmin.type ) {
let passing_data =
astraElementorSites.default_page_builder_sites[
AstraElementorSitesAdmin.site_id
][ 'pages' ];
var count = 0;
var one_page = [];
var one_page_id = '';
for ( key in passing_data ) {
if (
undefined == passing_data[ key ][ 'site-pages-type' ]
) {
continue;
}
if (
'gutenberg' ==
passing_data[ key ][ 'site-pages-page-builder' ]
) {
continue;
}
count++;
one_page = passing_data[ key ];
one_page_id = key;
}
if ( count == 1 ) {
// Logic for one page sites.
AstraElementorSitesAdmin.page_id = one_page_id;
$elscope
.find( '.back-to-layout' )
.css( 'visibility', 'visible' );
$elscope.find( '.back-to-layout' ).css( 'opacity', '1' );
$elscope.find( '.back-to-layout' ).attr( 'data-step', 2 );
$( document ).trigger( 'astra-sites__elementor-do-step-2' );
return;
}
let single_template = wp.template( 'astra-sites-list-search' );
passing_data[ 'site_id' ] = AstraElementorSitesAdmin.site_id;
pages_list = single_template( passing_data );
$elscope.find( '.dialog-lightbox-content-block' ).hide();
$elscope.find( '.astra-sites-step-1-wrap' ).show();
$elscope.find( '.astra-preview-actions-wrap' ).remove();
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
$elscope.find( '.ast-template-library-toolbar' ).show();
$elscope.find( '.theme-preview-block' ).hide();
$elscope.find( '.theme-preview-block' ).html( '' );
$elscope.find( '.dialog-lightbox-content' ).show();
$elscope.find( '.dialog-lightbox-content' ).html( pages_list );
AstraElementorSitesAdmin._loadLargeImages();
} else {
$elscope.find( '.dialog-lightbox-content' ).hide();
$elscope.find( '.dialog-lightbox-content-block' ).hide();
$elscope
.find( '.dialog-lightbox-message' )
.animate( { scrollTop: 0 }, 50 );
$elscope.find( '.theme-preview-block' ).show();
$elscope.find( '.ast-template-library-toolbar' ).hide();
$elscope
.find( '.ast-sites-modal__header' )
.addClass( 'ast-preview-mode' );
// Hide.
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
let import_template = wp.template(
'astra-sites-elementor-preview'
);
let import_template_header = wp.template(
'astra-sites-elementor-preview-actions'
);
let template_object =
astraElementorSites.astra_blocks[
AstraElementorSitesAdmin.block_id
];
template_object[ 'id' ] = AstraElementorSitesAdmin.block_id;
preview_page_html = import_template( template_object );
$elscope
.find( '.theme-preview-block' )
.html( preview_page_html );
$elscope.find( '.astra-sites-step-1-wrap' ).hide();
preview_action_html = import_template_header( template_object );
$elscope
.find( '.elementor-templates-modal__header__items-area' )
.append( preview_action_html );
AstraElementorSitesAdmin._masonry();
let actual_id = AstraElementorSitesAdmin.block_id.replace(
'id-',
''
);
$( document ).trigger( 'astra-sites__elementor-plugin-check', {
id: actual_id,
} );
}
},
_step2: function ( e ) {
$elscope.find( '.dialog-lightbox-content' ).hide();
$elscope
.find( '.dialog-lightbox-message' )
.animate( { scrollTop: 0 }, 50 );
$elscope.find( '.theme-preview' ).show();
$elscope
.find( '.ast-sites-modal__header' )
.addClass( 'ast-preview-mode' );
if ( undefined === AstraElementorSitesAdmin.site_id ) {
return;
}
let import_template = wp.template(
'astra-sites-elementor-preview'
);
let import_template_header = wp.template(
'astra-sites-elementor-preview-actions'
);
let template_object =
astraElementorSites.default_page_builder_sites[
AstraElementorSitesAdmin.site_id
][ 'pages' ][ AstraElementorSitesAdmin.page_id ];
if ( undefined === template_object ) {
return;
}
template_object[ 'id' ] = AstraElementorSitesAdmin.site_id;
preview_page_html = import_template( template_object );
$elscope.find( '.theme-preview' ).html( preview_page_html );
$elscope.find( '.astra-sites-step-1-wrap' ).hide();
preview_action_html = import_template_header( template_object );
$elscope
.find( '.elementor-templates-modal__header__items-area' )
.append( preview_action_html );
let actual_id = AstraElementorSitesAdmin.page_id.replace(
'id-',
''
);
$( document ).trigger( 'astra-sites__elementor-plugin-check', {
id: actual_id,
} );
},
_preview: function ( e ) {
if ( AstraElementorSitesAdmin.processing ) {
return;
}
let step = $( this ).attr( 'data-step' );
AstraElementorSitesAdmin.site_id = $( this )
.closest( '.astra-theme' )
.data( 'site-id' );
AstraElementorSitesAdmin.page_id = $( this )
.closest( '.astra-theme' )
.data( 'template-id' );
AstraElementorSitesAdmin.block_id = $( this )
.closest( '.astra-theme' )
.data( 'block-id' );
$elscope.find( '.back-to-layout' ).css( 'visibility', 'visible' );
$elscope.find( '.back-to-layout' ).css( 'opacity', '1' );
$elscope.find( '.ast-template-library-toolbar' ).hide();
$elscope
.find( '.ast-sites-modal__header' )
.removeClass( 'ast-preview-mode' );
if ( 1 == step ) {
$elscope.find( '.back-to-layout' ).attr( 'data-step', 2 );
$( document ).trigger( 'astra-sites__elementor-do-step-1' );
} else {
$elscope.find( '.back-to-layout' ).attr( 'data-step', 3 );
$( document ).trigger( 'astra-sites__elementor-do-step-2' );
}
},
_pluginCheck: function ( e, data ) {
var type =
'blocks' !== AstraElementorSitesAdmin.type
? 'site-pages'
: 'astra-blocks';
var id = data[ 'id' ];
const generateData = new FormData();
generateData.append(
'action',
'astra-sites-elementor-api-request'
);
generateData.append( 'id', id );
generateData.append( 'type', type );
generateData.append(
'_ajax_nonce',
astraElementorSites._ajax_nonce
);
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-elementor-api-request',
_ajax_nonce: astraElementorSites._ajax_nonce,
type: type,
id: id,
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
console.groupEnd();
} )
.done( function ( response ) {
if ( response.success === true ) {
var data = response.data;
if ( undefined !== data ) {
AstraElementorSitesAdmin.templateData = data;
if ( type == 'site-pages' ) {
if (
undefined !==
data[ 'site-pages-required-plugins' ]
) {
AstraElementorSitesAdmin._requiredPluginsMarkup(
data[ 'site-pages-required-plugins' ]
);
}
} else {
if (
undefined !==
data[ 'post-meta' ][
'astra-blocks-required-plugins'
]
) {
AstraElementorSitesAdmin._requiredPluginsMarkup(
PHP.parse(
data[ 'post-meta' ][
'astra-blocks-required-plugins'
]
)
);
}
}
}
}
} );
},
_requiredPluginsMarkup: function ( requiredPlugins ) {
if ( '' === requiredPlugins ) {
return;
}
if (
AstraElementorSitesAdmin.type == 'pages' &&
astraElementorSites.default_page_builder_sites[
AstraElementorSitesAdmin.site_id
][ 'astra-sites-type' ] != undefined &&
astraElementorSites.default_page_builder_sites[
AstraElementorSitesAdmin.site_id
][ 'astra-sites-type' ] != 'free'
) {
if ( ! astraElementorSites.license_status ) {
output =
'' +
astraElementorSites.license_msg +
'
';
$elscope.find( '.required-plugins-list' ).html( output );
$elscope.find( '.ast-tooltip-wrap' ).css( 'opacity', 1 );
$elscope.find( '.astra-sites-tooltip' ).css( 'opacity', 1 );
/**
* Enable Demo Import Button
* @type number
*/
AstraElementorSitesAdmin.requiredPlugins = [];
AstraElementorSitesAdmin.canImport = true;
AstraElementorSitesAdmin.canInsert = true;
$elscope
.find( '.astra-sites-import-template-action > div' )
.removeClass( 'disabled' );
return;
}
}
let id =
'blocks' === AstraElementorSitesAdmin.type
? AstraElementorSitesAdmin.block_id?.replace( 'id-', '' )
: AstraElementorSitesAdmin.page_id?.replace( 'id-', '' );
// Required Required.
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-required_plugins',
id,
screen: 'elementor',
_ajax_nonce: astraElementorSites._ajax_nonce,
required_plugins: requiredPlugins,
},
} )
.fail( function ( jqXHR ) {
console.log( jqXHR );
console.groupEnd();
} )
.done( function ( response ) {
if ( false === response.success ) {
$elscope = $( '#ast-sites-modal' );
$elscope
.find( '#ast-sites-floating-notice-wrap-id' )
.show()
.removeClass( 'error' );
$elscope
.find(
'#ast-sites-floating-notice-wrap-id .ast-sites-floating-notice'
)
.show()
.html(
'Insufficient Permission. Please contact your Super Admin to allow the install required plugin permissions.'
);
$elscope
.find( '#ast-sites-floating-notice-wrap-id' )
.addClass( 'error slide-in' )
.removeClass( 'refreshed-notice' );
} else {
var output = '';
/**
* Count remaining plugins.
* @type number
*/
var remaining_plugins = 0;
var required_plugins_markup = '';
required_plugins = response.data[ 'required_plugins' ];
if (
response.data[ 'third_party_required_plugins' ]
.length
) {
$(
response.data[ 'third_party_required_plugins' ]
).each( function ( index, plugin ) {
output +=
'' +
plugin.name +
'';
} );
}
/**
* Not Installed
*
* List of not installed required plugins.
*/
if (
typeof required_plugins.notinstalled !== 'undefined'
) {
// Add not have installed plugins count.
remaining_plugins += parseInt(
required_plugins.notinstalled.length
);
$( required_plugins.notinstalled ).each( function (
index,
plugin
) {
if ( 'elementor' == plugin.slug ) {
return;
}
output +=
'' +
plugin.name +
'';
} );
}
/**
* Inactive
*
* List of not inactive required plugins.
*/
if (
typeof required_plugins.inactive !== 'undefined'
) {
// Add inactive plugins count.
remaining_plugins += parseInt(
required_plugins.inactive.length
);
$( required_plugins.inactive ).each( function (
index,
plugin
) {
if ( 'elementor' == plugin.slug ) {
return;
}
output +=
'' +
plugin.name +
'';
} );
}
/**
* Active
*
* List of not active required plugins.
*/
if ( typeof required_plugins.active !== 'undefined' ) {
$( required_plugins.active ).each( function (
index,
plugin
) {
if ( 'elementor' == plugin.slug ) {
return;
}
output +=
'' +
plugin.name +
'';
} );
}
if ( '' != output ) {
output =
'' +
astraElementorSites.install_plugin_text +
'' +
output;
$elscope
.find( '.required-plugins-list' )
.html( output );
$elscope
.find( '.ast-tooltip-wrap' )
.css( 'opacity', 1 );
$elscope
.find( '.astra-sites-tooltip' )
.css( 'opacity', 1 );
}
/**
* Enable Demo Import Button
* @type number
*/
AstraElementorSitesAdmin.requiredPlugins =
response.data[ 'required_plugins' ];
AstraElementorSitesAdmin[ 'initial-page-refresh' ] =
AstraElementorSitesAdmin[ 'requiredPlugins' ][
'notinstalled'
]?.length ||
AstraElementorSitesAdmin[ 'requiredPlugins' ][
'inactive'
]?.length
? true
: false;
if (
AstraElementorSitesAdmin[ 'initial-page-refresh' ]
) {
document.querySelectorAll(
'.astra-sites-import-template-action .ast-library-template-insert'
)[ 0 ].innerText =
'Install Required Plugins & Import';
}
AstraElementorSitesAdmin.canImport = true;
AstraElementorSitesAdmin.canInsert = true;
$elscope
.find( '.astra-sites-import-template-action > div' )
.removeClass( 'disabled' );
}
} );
},
removeAddedParams: function () {
const urlObj = new URL( window.location.href );
// Check if the query parameters exist
if (
urlObj.searchParams.has( 'remoteST' ) &&
urlObj.searchParams.has( 'blockID' )
) {
// Remove specific query parameters
urlObj.searchParams.delete( 'remoteST' );
urlObj.searchParams.delete( 'blockID' );
urlObj.searchParams.delete( 'type' );
// Update the URL in the browser
window.history.replaceState( {}, '', urlObj.href );
}
},
saveContentAndRefresh: function () {
const elementorPanel = document.querySelector( '.elementor-panel' ); // Get the Elementor panel element
if ( elementorPanel ) {
const updateButton = elementorPanel.querySelector(
'#elementor-panel-saver-button-publish'
); // Find the Elementor update button
if ( updateButton ) {
updateButton.click(); // Trigger a click event on the update button
let id =
'blocks' === AstraElementorSitesAdmin.type
? AstraElementorSitesAdmin.block_id?.replace(
'id-',
''
)
: AstraElementorSitesAdmin.page_id?.replace(
'id-',
''
);
if ( id ) {
AstraElementorSitesAdmin.updateURLParams( id );
window.location.reload(); // Refresh the page
}
}
}
},
updateURLParams: function ( block_id ) {
// Get the current URL
var url = new URL( window.location.href );
// Create a new URLSearchParams object from the URL's search params
var searchParams = new URLSearchParams( url.search );
let type = AstraElementorSitesAdmin.type;
// Add parameters to the searchParams object
searchParams.append( 'remoteST', 'true' );
searchParams.append( 'blockID', block_id );
searchParams.append( 'type', type );
// Update the search property of the URL object with the new search params
url.search = searchParams.toString();
// Get the modified URL
var modifiedUrl = url.toString();
// Update the browser's live URL
window.history.pushState( { path: modifiedUrl }, '', modifiedUrl );
},
_libraryClick: function ( e ) {
$elscope
.find( '.elementor-template-library-menu-item' )
.each( function () {
$( this ).removeClass( 'elementor-active' );
} );
$( this ).addClass( 'elementor-active' );
},
_loadLargeImage: function ( el ) {
if ( el.hasClass( 'loaded' ) ) {
return;
}
if ( el.parents( '.astra-theme' ).isInViewport() ) {
var large_img_url = el.data( 'src' ) || '';
var imgLarge = new Image();
imgLarge.src = large_img_url;
imgLarge.onload = function () {
el.removeClass( 'loading' );
el.addClass( 'loaded' );
el.css( 'background-image', "url('" + imgLarge.src + "'" );
};
}
},
_loadLargeImages: function () {
$elscope.find( '.theme-screenshot' ).each( function ( key, el ) {
AstraElementorSitesAdmin._loadLargeImage( $( el ) );
} );
},
_close: function ( e ) {
console.groupEnd( 'Process Done.' );
$( document ).trigger( 'astra-sites__elementor-close-before' );
setTimeout( function () {
$elscope.fadeOut();
$( 'body' ).removeClass( 'astra-sites__elementor-open' );
}, 300 );
$( document ).trigger( 'astra-sites__elementor-close-after' );
},
_open: function ( e ) {
$( document ).trigger( 'astra-sites__elementor-open-before' );
$( 'body' ).addClass( 'astra-sites__elementor-open' );
let add_section = $( this ).closest( '.elementor-add-section' );
if ( add_section.hasClass( 'elementor-add-section-inline' ) ) {
AstraElementorSitesAdmin.index = add_section.prevAll().length;
} else {
AstraElementorSitesAdmin.index = add_section
.prev()
.children().length;
}
AstraElementorSitesAdmin._home();
$elscope.fadeIn();
if ( $( '.refreshed-notice' ).length == 1 ) {
setTimeout( function () {
$( '.refreshed-notice' ).find( '.notice-dismiss' ).click();
}, 2500 );
}
$( document ).trigger( 'astra-sites__elementor-open-after' );
},
_beforeOpen: function ( e ) {
let userPrefersDark = matchMedia(
'(prefers-color-scheme: dark)'
).matches;
let uiTheme =
elementor.settings.editorPreferences.model.get( 'ui_theme' );
if (
'dark' === uiTheme ||
( 'auto' === uiTheme && userPrefersDark )
) {
$( 'body' ).addClass( 'ast-sites-dark-mode' );
} else {
$( 'body' ).removeClass( 'ast-sites-dark-mode' );
}
// Hide preview page.
$elscope.find( '.theme-preview' ).hide();
$elscope.find( '.theme-preview' ).html( '' );
// Show site listing page.
$elscope.find( '.dialog-lightbox-content' ).show();
// Hide Back button.
$elscope.find( '.back-to-layout' ).css( 'visibility', 'hidden' );
$elscope.find( '.back-to-layout' ).css( 'opacity', '0' );
},
_initSites: function ( e ) {
AstraElementorSitesAdmin._appendSites(
astraElementorSites.default_page_builder_sites
);
AstraElementorSitesAdmin._goBack();
},
_initBlocks: function ( e ) {
AstraElementorSitesAdmin._appendBlocks(
astraElementorSites.astra_blocks
);
AstraElementorSitesAdmin._goBack();
},
/**
* Install Success
*/
_installSuccess: function ( event, response ) {
event.preventDefault();
// Transform the 'Install' button into an 'Activate' button.
var $init = $( '.plugin-card-' + response.slug ).data( 'init' );
var $name = $( '.plugin-card-' + response.slug ).data( 'name' );
// Reset not installed plugins list.
var pluginsList =
AstraElementorSitesAdmin.requiredPlugins.notinstalled;
var curr_plugin = AstraElementorSitesAdmin._getPluginFromQueue(
response.slug,
pluginsList
);
AstraElementorSitesAdmin.requiredPlugins.notinstalled =
AstraElementorSitesAdmin._removePluginFromQueue(
response.slug,
pluginsList
);
// WordPress adds "Activate" button after waiting for 1000ms. So we will run our activation after that.
setTimeout( function () {
console.log( 'Activating Plugin - ' + curr_plugin.name );
$.ajax( {
url: astraElementorSites.ajaxurl,
type: 'POST',
data: {
action: 'astra-sites-required_plugin_activate',
init: curr_plugin.init,
_ajax_nonce: astraElementorSites._ajax_nonce,
},
} ).done( function ( result ) {
if ( result.success ) {
var pluginsList =
AstraElementorSitesAdmin.requiredPlugins.inactive;
console.log( 'Activated Plugin - ' + curr_plugin.name );
// Reset not installed plugins list.
AstraElementorSitesAdmin.requiredPlugins.inactive =
AstraElementorSitesAdmin._removePluginFromQueue(
response.slug,
pluginsList
);
// Enable Demo Import Button
AstraElementorSitesAdmin._enableImport();
}
} );
}, 1200 );
},
/**
* Plugin Installation Error.
*/
_installError: function ( event, response ) {
console.log( response );
console.log( 'Error Installing Plugin - ' + response.slug );
console.log( response.errorMessage );
},
/**
* Installing Plugin
*/
_pluginInstalling: function ( event, args ) {
console.log( 'Installing Plugin - ' + args.slug );
},
};
/**
* Initialize AstraElementorSitesAdmin
*/
$( function () {
AstraElementorSitesAdmin.init();
} );
} )( jQuery );
import{r as s,h as e}from"./p-e97fde0a.js";const t=":host{display:inline-block}";const i=t;const o={open:wp.i18n.__("Return in progress","surecart"),completed:wp.i18n.__("Returned","surecart")};const n={open:"warning",completed:"success"};const r=class{constructor(e){s(this,e);this.status=undefined;this.size="medium";this.pill=false;this.clearable=false}render(){return e("sc-tag",{key:"bae24922b7ee77d821455a17d4b66e4afc596bc2",type:n===null||n===void 0?void 0:n[this===null||this===void 0?void 0:this.status],pill:this.pill},(o===null||o===void 0?void 0:o[this.status])||this.status)}};r.style=i;export{r as sc_order_return_badge};
//# sourceMappingURL=p-c0a24abc.entry.js.map
leather jacket - Infuse Fashion
Discover the science behind leather quality and types. Enhance your fashion knowledge with expe...
Continue reading
8 Timeless Leather Jacket Styles Every Fashionista Needs Now!
Discover 8 timeless leather jack...
Continue reading
Discover the secrets of celebrity fashion with Infuse Fashion Premium Leather Jackets. Learn ho...
Continue reading
Unveiling the Secret to Timeless Leather Jackets with Infuse Fashion.
Indulge in the world of ...
Continue reading
Unveiling the Unmatched Elegance of Infuse Fashion’s Premium Leather Jackets
Crafting Timeles...
Continue reading
Explore the journey of leather jackets from necessity to timeless fashion statement. Discover t...
Continue reading
Unveiling the Legacy of Leather Jackets
Leather jackets have transcended their utilitarian ori...
Continue reading