%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/premium-addons-for-elementor/assets/editor/js/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/premium-addons-for-elementor/assets/editor/js/editor.js |
(function () { var $ = jQuery; $(window).on('elementor:init', function () { if ('undefined' !== typeof PremiumEditorLinks) $("<a href='" + PremiumEditorLinks[0] + "' target='_blank' class='premium-editor-panel-loader-info'>Check Solution</a>").insertAfter('#elementor-try-safe-mode .elementor-safe-mode-button'); }); window.elementor.on('panel:init', function () { if ('undefined' !== typeof PremiumEditorLinks) { setTimeout(function () { $("body.elementor-panel-loading #elementor-panel-state-loading").append("<div class='premium-editor-panel-loader'><p>Still loading? <br/><a href='" + PremiumEditorLinks[0] + "' target='_blank' class='premium-editor-panel-loader-info'>Check Solution</a> or <a class='premium-disable-unused' href='javascript:;'>Disable PA unused widgets</a></div>"); $('.premium-disable-unused').on('click', function () { window.open(PremiumEditorLinks[1], '_blank'); }); }, 10000); } }); var pinterestToken = null; elementor.channels.editor.on('change', function (view) { var changed = view.elementSettingsModel.changed; if (changed.access_token) { if (changed.access_token.startsWith('pina_')) pinterestToken = changed.access_token; } }); function onSectionActivate(sectionName) { if ('access_credentials_section' === sectionName) { setTimeout(function () { var accessToken = jQuery('.elementor-control-access_token textarea').val(); pinterestToken = accessToken; }, 100); } } elementor.channels.editor.on('section:activated', onSectionActivate); var selectOptions = elementor.modules.controls.Select2.extend({ isUpdated: false, onReady: function () { var options = (0 === this.model.get('options').length); if (this.container && "widget" === this.container.type && 'board_id' === this.model.get('name')) { if (options) { var _this = this; if (pinterestToken) { jQuery.ajax({ type: "GET", url: PremiumSettings.ajaxurl, dataType: "JSON", data: { action: "get_pinterest_boards", nonce: PremiumSettings.nonce, token: pinterestToken }, success: function (res) { if (res.data) { var options = JSON.parse(res.data); _this.model.set("options", options); _this.isUpdated = false; _this.render(); } }, error: function (err) { console.log(err); } }); } elementor.channels.editor.on('change', function (view) { var changed = view.elementSettingsModel.changed; if (undefined !== changed.board_id && !_this.isUpdated) { _this.isUpdated = true; } }); } } }, onBeforeRender: function () { if (this.container && ("section" === this.container.type || "container" === this.container.type)) { var widgetObj = elementor.widgetsCache || elementor.config.widgets, optionsToUpdate = {}; var _this = this; this.container.children.forEach(function (child) { if ("container" === _this.container.type) { if (child.view.$childViewContainer) { getInnerWidgets(child); } else { //Get Flex Container widgets when no columns are added. var name = child.view.$el.data("widget_type").split('.')[0]; if ('undefined' !== typeof widgetObj[name]) { optionsToUpdate[".elementor-widget-" + widgetObj[name].widget_type + " .elementor-widget-container"] = widgetObj[name].title; } } } else if ("section" === _this.container.type) { getInnerWidgets(child); } }); function getInnerWidgets(child) { child.view.$childViewContainer.children("[data-widget_type]").each(function (index, widget) { var name = $(widget).data("widget_type").split('.')[0]; if ('undefined' !== typeof widgetObj[name]) { optionsToUpdate[".elementor-widget-" + widgetObj[name].widget_type + " .elementor-widget-container"] = widgetObj[name].title; } }); } this.model.set("options", optionsToUpdate); } }, }); elementor.addControlView("premium-select", selectOptions); var filterOptions = elementor.modules.controls.Select2.extend({ isUpdated: false, onReady: function () { var self = this, type = self.options.elementSettingsModel.attributes.post_type_filter; if ('post' !== type) { var options = (0 === this.model.get('options').length); if (options) { self.fetchData(type); } } elementor.channels.editor.on('change', function (view) { var changed = view.elementSettingsModel.changed; if (undefined !== changed.post_type_filter && 'post' !== changed.post_type_filter && !self.isUpdated) { self.isUpdated = true; self.fetchData(changed.post_type_filter); } }); }, fetchData: function (type) { var self = this; $.ajax({ url: PremiumSettings.ajaxurl, dataType: 'json', type: 'POST', data: { nonce: PremiumSettings.nonce, action: 'premium_update_filter', post_type: type }, success: function (res) { self.updateFilterOptions(JSON.parse(res.data)); self.isUpdated = false; self.render(); }, error: function (err) { console.log(err); }, }); }, updateFilterOptions: function (options) { this.model.set("options", options); }, onBeforeDestroy: function () { if (this.ui.select.data('select2')) { // this.ui.select.select2('destroy'); } this.$el.remove(); } }); elementor.addControlView("premium-post-filter", filterOptions); var taxOptions = elementor.modules.controls.Select.extend({ isUpdated: false, onReady: function () { var self = this, type = self.options.elementSettingsModel.attributes.post_type_filter, options = (0 === this.model.get('options').length); if (options) { self.fetchData(type); } elementor.channels.editor.on('change', function (view) { var changed = view.elementSettingsModel.changed; if (undefined !== changed.post_type_filter && !self.isUpdated) { self.isUpdated = true; self.fetchData(changed.post_type_filter); } }); }, fetchData: function (type) { var self = this; $.ajax({ url: PremiumSettings.ajaxurl, dataType: 'json', type: 'POST', data: { nonce: PremiumSettings.nonce, action: 'premium_update_tax', post_type: type }, success: function (res) { var options = JSON.parse(res.data); self.updateTaxOptions(options); self.isUpdated = false; if (0 !== options.length) { self.$el.removeClass('elementor-hidden-control'); $('.premium-live-temp-title').addClass('control-hidden'); // var $tax = Object.keys(options); // self.container.settings.setExternalChange({ 'filter_tabs_type': $tax[0] }); self.container.render(); self.render(); } else { self.$el.addClass('elementor-hidden-control'); $('.premium-live-temp-title.control-hidden').removeClass('control-hidden'); } }, error: function (err) { console.log(err); }, }); }, updateTaxOptions: function (options) { this.model.set("options", options); }, }); elementor.addControlView("premium-tax-filter", taxOptions); var acfOptions = elementor.modules.controls.Select2.extend({ isUpdated: false, onReady: function () { var self = this; if (!self.isUpdated) { self.fetchData(); } }, fetchData: function () { var self = this; $.ajax({ url: PremiumSettings.ajaxurl, dataType: 'json', type: 'POST', data: { nonce: PremiumSettings.nonce, action: 'pa_acf_options', query_options: self.model.get('query_options'), }, success: function (res) { self.isUpdated = true; self.updateAcfOptions(JSON.parse(res.data)); self.render(); }, error: function (err) { console.log(err); }, }); }, updateAcfOptions: function (options) { this.model.set("options", options); }, onBeforeDestroy: function () { if (this.ui.select.data('select2')) { this.ui.select.select2('destroy'); } this.$el.remove(); } }); elementor.addControlView("premium-acf-selector", acfOptions); // elementor.hooks.addFilter("panel/elements/regionViews", function (panel) { // if (PremiumPanelSettings.papro_installed || PremiumPanelSettings.papro_widgets.length <= 0) // return panel; // var paWidgetsPromoHandler, proCategoryIndex, // elementsView = panel.elements.view, // categoriesView = panel.categories.view, // widgets = panel.elements.options.collection, // categories = panel.categories.options.collection, // premiumProCategory = []; // _.each(PremiumPanelSettings.papro_widgets, function (widget, index) { // widgets.add({ // name: widget.key, // title: wp.i18n.__('Premium ', 'premium-addons-for-elementor') + widget.title, // icon: widget.icon, // categories: ["premium-elements-pro"], // editable: false // }) // }); // widgets.each(function (widget) { // "premium-elements-pro" === widget.get("categories")[0] && premiumProCategory.push(widget) // }); // proCategoryIndex = categories.findIndex({ // name: "premium-elements" // }); // proCategoryIndex && categories.add({ // name: "premium-elements-pro", // title: "Premium Addons Pro", // defaultActive: !1, // items: premiumProCategory // }, { // at: proCategoryIndex + 1 // }); // paWidgetsPromoHandler = { // className: function () { // var className = 'elementor-element-wrapper'; // if (!this.isEditable()) { // className += ' elementor-element--promotion'; // } // if (this.model.get("name")) { // if (0 === this.model.get("name").indexOf("premium-")) // className += ' premium-promotion-element'; // } // return className; // }, // isPremiumWidget: function () { // return 0 === this.model.get("name").indexOf("premium-"); // }, // getElementObj: function (key) { // var widgetObj = PremiumPanelSettings.papro_widgets.find(function (widget, index) { // if (widget.key == key) // return true; // }); // return widgetObj; // }, // onMouseDown: function () { // if (!this.isPremiumWidget()) // return; // void this.constructor.__super__.onMouseDown.call(this); // var widgetObject = this.getElementObj(this.model.get("name")), // actionURL = widgetObject.action_url; // elementor.promotion.showDialog({ // title: sprintf(wp.i18n.__('%s', 'elementor'), this.model.get("title")), // content: sprintf(wp.i18n.__('Use %s widget and dozens more pro features to extend your toolbox and build sites faster and better.', 'elementor'), this.model.get("title")), // top: "-7", // targetElement: this.$el, // actionButton: { // url: actionURL, // text: wp.i18n.__('See Demo', 'elementor') // } // }) // } // } // panel.elements.view = elementsView.extend({ // childView: elementsView.prototype.childView.extend(paWidgetsPromoHandler) // }); // panel.categories.view = categoriesView.extend({ // childView: categoriesView.prototype.childView.extend({ // childView: categoriesView.prototype.childView.prototype.childView.extend(paWidgetsPromoHandler) // }) // }); // return panel; // }); var onNavigatorInit = function () { elementor.navigator.indicators.paDisConditions = { icon: 'preview-medium', settingKeys: ['pa_display_conditions_switcher'], title: wp.i18n.__('Display Conditions', 'premium-addons-for-elementor'), section: 'section_pa_display_conditions' }; } elementor.on('navigator:init', onNavigatorInit); var e = elementor.modules.controls.BaseData, imageChoose = e.extend({ ui: function () { var t = e.prototype.ui.apply(this, arguments); return t.inputs = '[type="radio"]', t }, events: function () { return _.extend(e.prototype.events.apply(this, arguments), { "mousedown label": "onMouseDownLabel", "click @ui.inputs": "onClickInput", "change @ui.inputs": "onBaseInputChange" }) }, onMouseDownLabel: function (e) { var t = this.$(e.currentTarget), o = this.$("#" + t.attr("for")); $('.elementor-control-form_insert .elementor-button').css('background-color', '#252c59'); o.data("checked", o.prop("checked")), this.ui.inputs.removeClass("checked"), o.data("checked", o.addClass("checked")) }, onClickInput: function (e) { if (this.model.get("toggle")) { var t = this.$(e.currentTarget); t.data("checked") && t.prop("checked", !1).trigger("change") } }, onRender: function () { e.prototype.onRender.apply(this, arguments); var t = this.getControlValue(); t && (this.ui.inputs.filter('[value="' + t + '"]').prop("checked", !0), this.ui.inputs.filter('[value="' + t + '"]').addClass("checked")) }, onReady: function () { if ('premium_gdivider_defaults' === this.model.attributes.name) { const choicesContainer = $(this.el).find('.elementor-image-choices')[0]; new PerfectScrollbar(choicesContainer, { suppressScrollX: true, }); } } }, { onPasteStyle: function (e, t) { return "" === t || undefined !== e.options[t] } }); elementor.addControlView("premium-image-choose", imageChoose) })(jQuery);