File "template-library.js"
Full Path: /home/aiclgcwq/photonindustriespvt.com/wp-content/themes/woodmart/inc/integrations/elementor/assets/js/template-library.js
File size: 5.45 KB
MIME-type: text/plain
Charset: utf-8
jQuery(function($) {
if ('undefined' != typeof elementor && 'undefined' !== elementorCommon) {
elementor.on('preview:loaded', function() {
var $modal;
// Add button.
var $buttons = $('#tmpl-elementor-add-section');
var text = $buttons.text().replace(
'<div class="elementor-add-section-drag-title',
'<div class="elementor-add-section-area-button xts-library-modal-btn" title="XTemos Templates">XTemos Templates</div><div class="elementor-add-section-drag-title'
);
$buttons.text(text);
// Call modal.
$(elementor.$previewContents[0].body).on('click', '.xts-library-modal-btn', function() {
if ($modal) {
$modal.show();
return;
}
var modalOptions = {
id : 'xts-library-modal',
headerMessage: $('#tmpl-elementor-xts-library-modal-header').html(),
message : $('#tmpl-elementor-xts-library-modal').html(),
className : 'elementor-templates-modal',
closeButton : true,
draggable : false,
hide : {
onOutsideClick: true,
onEscKeyPress : true
},
position : {
my: 'center',
at: 'center'
}
};
$modal = elementorCommon.dialogsManager.createWidget('lightbox', modalOptions);
$modal.show();
loadTemplates();
});
// Load items.
function loadTemplates() {
showLoader();
$.ajax({
url : xts_template_library_script.demoAjaxUrl,
method : 'GET',
data : {
action : 'woodmart_load_templates',
builder: 'elementor'
},
dataType: 'json',
success : function(response) {
if (response && response.elements) {
var itemTemplate = wp.template('elementor-xts-library-modal-item');
var itemOrderTemplate = wp.template('elementor-xts-library-modal-order');
response.elements = response.elements.reverse();
$(itemTemplate(response)).appendTo($('#xts-library-modal #elementor-template-library-templates-container'));
$(itemOrderTemplate(response)).appendTo($('#xts-library-modal #elementor-template-library-filter-toolbar-remote'));
importTemplate();
hideLoader();
} else {
$('<div class="xts-notice xts-warning">The library can\'t be loaded from the server.</div>').appendTo($('#xts-library-modal #elementor-template-library-templates-container'));
hideLoader();
}
},
error : function() {
$('<div class="xts-notice xts-warning">The library can\'t be loaded from the server.</div>').appendTo($('#xts-library-modal #elementor-template-library-templates-container'));
hideLoader();
}
});
}
// Loader
function showLoader() {
$('#xts-library-modal #elementor-template-library-templates').hide();
$('#xts-library-modal .elementor-loader-wrapper').show();
}
function hideLoader() {
$('#xts-library-modal #elementor-template-library-templates').show();
$('#xts-library-modal .elementor-loader-wrapper').hide();
}
function activateUpdateButton() {
$('#elementor-panel-saver-button-publish').toggleClass('elementor-disabled');
$('#elementor-panel-saver-button-save-options').toggleClass('elementor-disabled');
}
// Import.
function importTemplate() {
$('#xts-library-modal .elementor-template-library-template-insert').on('click', function() {
showLoader();
$.ajax({
url : xts_template_library_script.ajaxUrl,
method : 'POST',
data : {
action : 'xts_get_templates',
template_id : $(this).data('id'),
editor_post_id : ElementorConfig.initial_document.id
},
dataType: 'json',
success: function success(data) {
if (data && data.content) {
elementor.getPreviewView().addChildModel(data.content);
$modal.hide();
setTimeout(function() {
hideLoader();
}, 2000);
activateUpdateButton();
} else {
$('<div class="xts-notice xts-warning">The element can\'t be loaded from the server.</div>').prependTo($('#xts-library-modal #elementor-template-library-templates-container'));
hideLoader();
}
},
error : function() {
$('<div class="xts-notice xts-warning">The element can\'t be loaded from the server.</div>').prependTo($('#xts-library-modal #elementor-template-library-templates-container'));
hideLoader();
}
});
});
// Close button.
$('#xts-library-modal .elementor-templates-modal__header__close').on('click', function() {
$modal.hide();
hideLoader();
});
// Search.
$('#xts-library-modal #elementor-template-library-filter-text').on('keyup', function() {
var val = $(this).val().toLowerCase();
$('#xts-library-modal').find('.elementor-template-library-template-block').each(function() {
var $this = $(this);
var title = $this.data('title').toLowerCase();
var slug = $this.data('slug').toLowerCase();
if (title.indexOf(val) > -1 || slug.indexOf(val) > -1) {
$this.show();
} else {
$this.hide();
}
});
});
// Filters.
$('#xts-library-modal #elementor-template-library-filter-subtype').on('change', function() {
var val = $(this).val();
$('#xts-library-modal').find('.elementor-template-library-template-block').each(function() {
var $this = $(this);
var tag = $this.data('tag').toLowerCase();
if (tag.indexOf(val) > -1 || 'all' === val) {
$this.show();
} else {
$this.hide();
}
});
});
}
});
}
});