File "wpr-display-conditions-editor.js"
Full Path: /home/ccipcixf/public_html/beta/wp-content/plugins/royal-elementor-addons/assets/js/admin/wpr-display-conditions-editor.js
File size: 3.33 KB
MIME-type: text/plain
Charset: utf-8
(function ($) {
'use strict';
// Section ID => control IDs that indicate "configured"
var sectionControls = {
wpr_dc_visitor_roles: ['wpr_dc_visitor_type', 'wpr_dc_specific_users', 'wpr_dc_capability'],
wpr_dc_user_profile: ['wpr_dc_user_meta_key'],
wpr_dc_page_content: ['wpr_dc_post_types', 'wpr_dc_specific_posts', 'wpr_dc_taxonomy', 'wpr_dc_meta_key', 'wpr_dc_post_hierarchy'],
wpr_dc_archive: ['wpr_dc_archive_types', 'wpr_dc_archive_term_property'],
wpr_dc_date_time: ['wpr_dc_date_from', 'wpr_dc_date_to', 'wpr_dc_weekdays', 'wpr_dc_time_from', 'wpr_dc_time_to', 'wpr_dc_recurring_from', 'wpr_dc_recurring_to'],
wpr_dc_device_browser: ['wpr_dc_devices', 'wpr_dc_browsers'],
wpr_dc_visitor_location: ['wpr_dc_ip_addresses', 'wpr_dc_referrer_domains', 'wpr_dc_geo_countries', 'wpr_dc_geo_cities'],
wpr_dc_url_parameters: ['wpr_dc_param_name'],
wpr_dc_woocommerce: ['wpr_dc_woo_cart', 'wpr_dc_woo_cart_products', 'wpr_dc_woo_cart_categories', 'wpr_dc_woo_product_type'],
wpr_dc_language: ['wpr_dc_languages'],
wpr_dc_custom_fields: ['wpr_dc_acf_field'],
wpr_dc_dynamic_tags: ['wpr_dc_dynamic_tag'],
wpr_dc_interaction: ['wpr_dc_interaction_type'],
wpr_dc_random_limits: ['wpr_dc_random_enabled', 'wpr_dc_limit_enabled'],
wpr_dc_fallback: ['wpr_dc_fallback_enabled']
};
function hasValue(val) {
if (val === null || val === undefined || val === '' || val === 'no') return false;
if (Array.isArray(val) && val.length === 0) return false;
return true;
}
function checkState() {
var currentElement = elementor.getCurrentElement();
if (!currentElement) return;
var settings = currentElement.model.get('settings');
if (!settings) return;
$('#elementor-controls .elementor-control-type-section').each(function () {
var $section = $(this);
$section.removeClass('wpr-dc-status-active');
$.each(sectionControls, function (sectionId, controls) {
if ($section.hasClass('elementor-control-' + sectionId)) {
for (var i = 0; i < controls.length; i++) {
var val = settings.get(controls[i]);
if (hasValue(val)) {
$section.addClass('wpr-dc-status-active');
return false; // break $.each
}
}
}
});
});
}
$(window).on('elementor:init', function () {
// Check on switcher clicks and section header clicks
$(document).on(
'click',
'.elementor-control-type-switcher .elementor-switch, .elementor-panel-heading, .elementor-control-type-select2 .select2',
function () {
setTimeout(checkState, 100);
}
);
// Check on input changes (text fields, selects)
$(document).on(
'change input',
'#elementor-controls input, #elementor-controls select, #elementor-controls textarea',
function () {
setTimeout(checkState, 100);
}
);
// Check when section is activated in panel
elementor.channels.editor.on('section:activated', function () {
setTimeout(checkState, 100);
});
// Check when element panel opens
elementor.hooks.addAction('panel/open_editor/widget', function () {
setTimeout(checkState, 200);
});
elementor.hooks.addAction('panel/open_editor/section', function () {
setTimeout(checkState, 200);
});
elementor.hooks.addAction('panel/open_editor/column', function () {
setTimeout(checkState, 200);
});
elementor.hooks.addAction('panel/open_editor/container', function () {
setTimeout(checkState, 200);
});
});
})(jQuery);