/**
* 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.' +
astraElementorSites.dismiss_text +
' '
);
$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 +
' ' +
astraElementorSites.dismiss_text +
' '
);
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 +
' ' +
astraElementorSites.dismiss_text +
' '
);
}
},
} );
}
// 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
Comment le perfectionnisme affecte l’alimentation du sportif
Comment le perfectionnisme affecte l’alimentation du sportif
Le perfectionnisme est souvent considéré comme une qualité dans le monde du sport, car il pousse les athlètes à donner le meilleur d’eux-mêmes. Cependant, lorsque ce trait devient excessif, il peut avoir des répercussions néfastes sur divers aspects de la vie d’un sportif, y compris son alimentation. Dans cet article, nous examinerons comment le perfectionnisme impacte les comportements alimentaires des athlètes et les stratégies pour trouver un équilibre sain.
https://www.prakriticosmos.com/comment-le-perfectionnisme-affecte-lalimentation-du-sportif/
Les conséquences du perfectionnisme sur l’alimentation
Le perfectionnisme peut engendrer une obsession malsaine pour la nutrition et le contrôle du poids. Cela se manifeste par plusieurs comportements, que nous allons détailler ci-dessous :
Restrictions alimentaires excessives : Les athlètes perfectionnistes peuvent se priver de certains aliments, craignant qu’ils compromettent leurs performances. Cela peut conduire à des carences nutritionnelles.
Évaluation rigoureuse des aliments : Un sportif perfectionniste peut passer un temps excessif à analyser la composition des aliments, ce qui peut entraîner des niveaux de stress élevés et une relation malsaine avec la nourriture.
Boulimie de performance : La pression de répondre à des normes irréalistes peut encourager des comportements de suralimentation dans des moments de stress, suivis de régimes restrictifs.
Voie vers les troubles alimentaires : Le perfectionnisme excessif peut également amener certains athlètes à développer des troubles alimentaires, comme l’anorexie ou la boulimie, en raison de leur besoin de contrôle.
Stratégies pour un équilibre sain
Pour prévenir les effets néfastes du perfectionnisme sur l’alimentation, les sportifs peuvent adopter certaines stratégies :
Éducation nutritionnelle : Comprendre les bases de la nutrition peut aider les athlètes à faire des choix alimentaires éclairés sans trop se focaliser sur les détails.
Recentrage sur le bien-être : Être conscient de son corps et de ses besoins nutritionnels sans faire de la performance une obsession est essentiel.
Consultation de professionnels : Travailler avec des diététiciens ou des nutritionnistes peut rallier un soutien professionnel pour établir une approche équilibrée et favoriser une relation saine avec la nourriture.
Pratique de la pleine conscience : Techniques de relaxation et de pleine conscience peuvent aider à réduire le stress et à modérer les comportements alimentaires compulsifs.
En conclusion, bien que le perfectionnisme puisse sembler être un atout pour la performance sportive, il est crucial de maintenir un équilibre pour préserver à la fois la santé mentale et physique. Les athlètes doivent apprendre à se libérer des pressions qu’ils s’imposent et à adopter une approche plus bienveillante et réaliste envers leur alimentation.