Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
immortalist
/
wp-content
/
themes
/
woodmart
/
inc
/
integrations
/
elementor
/
assets
/
js
:
template-library.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
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(); } }); }); } }); } });