芝麻web文件管理V1.00
编辑当前文件:/home/royashxg/www/wp-content/plugins/premium-addons-for-elementor/assets/editor/js/live-editor.js
(function () { var $ = jQuery; function handleLiveEditor() { // close model events. $('.eicon-close').on('click', closeModal); $('#pa-insert-live-temp').on('click', function () { $('body').attr('data-pa-liveeditor-load', 'true'); closeModal(true); }); $(document).on('click', '.premium-live-editor-iframe-modal', function (e) { if ($(e.target).closest(".dialog-lightbox-widget-content").length < 1) { closeModal(); } }); // resize model event. $('.premium-live-editor-iframe-modal .premium-expand').on('click', function () { if ($(this).find(' > i').hasClass('eicon-frame-expand')) { $(this).find('i.eicon-frame-expand').removeClass('eicon-frame-expand').addClass('eicon-frame-minimize').attr('title', 'Minimize'); $('.premium-live-editor-iframe-modal').addClass('premium-modal-expanded'); } else { minimizeModal(this); } }); elementor.channels.editor.on('createLiveTemp', function (e) { var widgetId = getTemplateKey(e), tempType = getTemplateType(e), $modalContainer = $('.premium-live-editor-iframe-modal'), paIframe = $modalContainer.find("#pa-live-editor-control-iframe"), $lightboxLoading = $modalContainer.find(".dialog-lightbox-loading"), lightboxType = $modalContainer.find(".dialog-type-lightbox"), tempSelectorId = e.model.attributes.name.split('_live')[0], liveTempId = ['premium_content_toggle_second_content_templates', 'fixed_template', 'right_side_template'].includes(tempSelectorId) ? 'live_temp_content_extra' : 'live_temp_content', settingsToChange = {}; // multiscroll has two temps in each repeater item => both temps will have the same id so we need to distinguish one of them. if ('right_side_template' === tempSelectorId) { widgetId += '2'; } // show modal. lightboxType.show(); $modalContainer.show(); $lightboxLoading.show(); paIframe.contents().find("#elementor-loading").show(); paIframe.css("z-index", "-1"); $.ajax({ type: 'POST', url: liveEditor.ajaxurl, dataType: 'JSON', data: { action: 'handle_live_editor', security: liveEditor.nonce, key: widgetId, type: tempType }, success: function (res) { paIframe.attr("src", res.data.url); paIframe.attr("data-premium-temp-id", res.data.id); if ('loop' === tempType) { paIframe.attr("data-premium-temp-type", tempType); } $('#premium-live-temp-title').val(res.data.title); paIframe.on("load", function () { $lightboxLoading.hide(); paIframe.show(); $modalContainer.find('.premium-live-editor-title').css('display', 'flex'); paIframe.contents().find("#elementor-loading").hide(); paIframe.css("z-index", "1"); }); clearInterval(window.paLiveEditorInterval); window.paLiveEditorInterval = setInterval(function () { var loadTemplate = $('body').attr('data-pa-liveeditor-load'); if ('true' === loadTemplate) { $('body').attr('data-pa-liveeditor-load', 'false'); settingsToChange[tempSelectorId] = ''; settingsToChange[liveTempId] = $('#premium-live-temp-title').val(); if (['loop', 'grid'].includes(tempType)) { settingsToChange['pa_' + tempType + '_live_temp_id'] = res.data.id; } $(".premium-live-temp-title").removeClass("control-hidden"); $e.run('document/elements/settings', { container: e.container, settings: settingsToChange, options: { external: !0 } }); var tempTitle = $('#premium-live-temp-title').val(); if (tempTitle && tempTitle !== res.data.title) { updateTemplateTitle(tempTitle, res.data.id); } } }, 1000); }, error: function (err) { console.log(err); } }); }); } /** * Helper Funcitons. */ function checkTempValidity(tempID, tempType) { if ('' !== tempID) { $.ajax({ type: 'POST', url: liveEditor.ajaxurl, dataType: 'JSON', data: { action: 'check_temp_validity', security: liveEditor.nonce, templateID: tempID, tempType: tempType }, success: function (res) { console.log(res.data); }, error: function (err) { console.log(err); } }); } } /** * Generate the temp key * @param {Object} e click event * @return {string} */ function getTemplateKey(e) { var widget = e.options.container.view.$el, // control_id = e._parent.model.attributes._id ? e._parent.model.attributes._id : e.model.cid; control_id = e._parent.model.attributes._id ? e._parent.model.attributes._id : ''; return widget.data('id') + control_id; } /** * Check the template type. * returns 'loop' if the button type contains "loop-item" to indicate we're creating/editing a loop template. * * @param {Object} e click event * @return {string} */ function getTemplateType(e) { var classes = e.model.attributes.button_type; if (classes.includes('loop-temp')) { return 'loop'; } else if (classes.includes('grid-temp')) { return 'grid'; } // return classes.includes('loop-temp') ? 'loop' : ''; } function minimizeModal(_this) { $(_this).find('i.eicon-frame-minimize').removeClass('eicon-frame-minimize').addClass('eicon-frame-expand').attr('title', 'Expand'); $('.premium-live-editor-iframe-modal').removeClass('premium-modal-expanded'); } function updateTemplateTitle(title, id) { $.ajax({ type: 'POST', url: liveEditor.ajaxurl, dataType: 'JSON', data: { action: 'update_template_title', security: liveEditor.nonce, title: title, id: id }, success: function (res) { console.log('Template Title Updated.'); }, error: function (err) { console.log(err); } }); } function closeModal(inserted = false) { $('.premium-live-editor-iframe-modal').css('display', 'none'); $(".premium-live-temp-title input").attr('disabled', 'true'); minimizeModal($('.premium-live-editor-iframe-modal .premium-expand')); if (!inserted) { var tempId = $(".premium-live-editor-iframe-modal #pa-live-editor-control-iframe").attr('data-premium-temp-id'), tempType = $(".premium-live-editor-iframe-modal #pa-live-editor-control-iframe").attr('data-premium-temp-type'); if (undefined !== tempId && '' !== tempId) { checkTempValidity(tempId, tempType); } } // reset temp id/src attribute. $(".premium-live-editor-iframe-modal #pa-live-editor-control-iframe").attr({ 'data-premium-temp-id': '', 'data-premium-temp-type': '', 'src': '' }); } function checkLiveTemplateControl() { setTimeout(function () { $(".premium-live-temp-title input").each(function (index, input) { $(input).attr('disabled', 'true'); if ('' != $(input).val()) { $(input).closest(".premium-live-temp-title").removeClass("control-hidden"); } }); $('.premium-cf-form-id input').attr('disabled', 'true'); }, 500); } elementor.channels.editor.on('section:activated', checkLiveTemplateControl); $(window).on('elementor:init', handleLiveEditor); })(jQuery);