/** * HFE Woo Products Widget JavaScript */ (function($) { 'use strict'; var HFEWooProducts = { init: function() { this.bindEvents(); }, bindEvents: function() { // Add any interactive functionality here $(document).on('click', '.hfe-product-add-to-cart .button', this.handleAddToCart); }, handleAddToCart: function(e) { var $button = $(this); // Add loading state $button.addClass('loading'); // Remove loading state after WooCommerce handles the request setTimeout(function() { $button.removeClass('loading'); }, 2000); } }; // Initialize when document is ready $(document).ready(function() { HFEWooProducts.init(); }); // Initialize for Elementor editor $(window).on('elementor/frontend/init', function() { elementorFrontend.hooks.addAction('frontend/element_ready/hfe-woo-product-grid.default', function($scope) { HFEWooProducts.init(); }); }); })(jQuery); #objectcache_overview .inside, #dashboard_objectcache .inside { padding: 0; } #dashboard_objectcache .handle-settings { color: #787c82; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; } #dashboard_objectcache .handle-settings .settings-indicator::before { position: relative; top: 0.13rem; width: 20px; height: 20px; color: inherit; content: "\f108"; display: inline-block; font: normal 20px/1 dashicons; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .objectcache\:overview-widget { padding: 0 12px; } .objectcache\:overview-widget:after { content: ''; display: table; clear: both; } .objectcache\:overview-widget ul { display: inline-block; width: 100%; margin: 0; min-height: 3rem; } .objectcache\:overview-widget li { float: left; width: 50%; margin-bottom: 10px; } .objectcache\:overview-widget li .dashicons { color: #606a73; } .objectcache\:overview-widget code { font-size: 12px; line-height: 20px; } .objectcache\:overview-widget .actions .button { margin-right: 8px; margin-bottom: 12px; } .objectcache\:overview-widget .actions .button-ml-auto { margin-left: auto; margin-right: 0; } .objectcache\:widget .actions { display: flex; flex-wrap: wrap; } .objectcache\:widget .actions .button[disabled] { cursor: not-allowed; } .objectcache\:widget .success { color: #008a20; } .objectcache\:widget .error { color: #d54e21; } .objectcache\:widget .alert { color: #14ceea; } .objectcache\:widget .warning { color: #e1a948; } .objectcache\:widget .error:last-child, .objectcache\:widget .alert:last-child, .objectcache\:widget .warning:last-child { margin-bottom: 0; } .objectcache\:widget-sub { color: #555d66; background: #f5f5f5; border-top: 1px solid #eee; padding: 10px 12px; } .objectcache\:widget-sub p, .objectcache\:widget-sub ul { margin: 0; } .objectcache\:widget-sub p + ul { margin-top: 6px; } .objectcache\:widget-sub code { margin: 0; line-height: 21px; box-decoration-break: clone; -webkit-box-decoration-break: clone; } .objectcache\:widget-charts { background: #f5f5f5; } .objectcache\:widget-charts .objectcache\:chart { border-top: 1px solid #eee; cursor: pointer; } .objectcache\:chart .apexcharts-tooltip { top: 0 !important; background: rgba(254, 255, 228, .75) !important; box-shadow: none; border-radius: 0; border: none !important; padding: 6px; font-size: 12px; } .objectcache\:chart .apexcharts-tooltip-marker { display: inline-block; margin-right: 2px; width: 8px; height: 8px; } ;(function ( $, window, undefined ) { var init_target_rule_select2 = function( selector ) { $(selector).astselect2({ placeholder: astRules.search, ajax: { url: ajaxurl, dataType: 'json', method: 'post', delay: 250, data: function (params) { return { q: params.term, // search term page: params.page, action: 'hfe_get_posts_by_query', nonce: astRules.ajax_nonce }; }, processResults: function (data) { // console.log(data); // console.log("inside"); // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to // alter the remote JSON data return { results: data }; }, cache: true }, minimumInputLength: 2, language: astRules.ast_lang }); }; var update_target_rule_input = function(wrapper) { var rule_input = wrapper.find('.ast-target_rule-input'); var old_value = rule_input.val(); var new_value = []; wrapper.find('.astra-target-rule-condition').each(function(i) { var $this = $(this); var temp_obj = {}; var rule_condition = $this.find('select.target_rule-condition'); var specific_page = $this.find('select.target_rule-specific-page'); var rule_condition_val = rule_condition.val(); var specific_page_val = specific_page.val(); if ( '' != rule_condition_val ) { temp_obj = { type : rule_condition_val, specific: specific_page_val } new_value.push( temp_obj ); }; }) var rules_string = JSON.stringify( new_value ); rule_input.val( rules_string ); }; var update_close_button = function(wrapper) { type = wrapper.closest('.ast-target-rule-wrapper').attr('data-type'); rules = wrapper.find('.astra-target-rule-condition'); show_close = false; if ( 'display' == type ) { if ( rules.length > 1 ) { show_close = true; } }else{ show_close = true; } rules.each(function() { if ( show_close ) { jQuery(this).find('.target_rule-condition-delete').removeClass('ast-hidden'); }else{ jQuery(this).find('.target_rule-condition-delete').addClass('ast-hidden'); } }); }; var update_exclusion_button = function( force_show, force_hide ) { var display_on = $('.ast-target-rule-display-on-wrap'); var exclude_on = $('.ast-target-rule-exclude-on-wrap'); var exclude_field_wrap = exclude_on.closest('tr'); var add_exclude_block = display_on.find('.target_rule-add-exclusion-rule'); var exclude_conditions = exclude_on.find('.astra-target-rule-condition'); if ( true == force_hide ) { exclude_field_wrap.addClass( 'ast-hidden' ); add_exclude_block.removeClass( 'ast-hidden' ); }else if( true == force_show ){ exclude_field_wrap.removeClass( 'ast-hidden' ); add_exclude_block.addClass( 'ast-hidden' ); }else{ if ( 1 == exclude_conditions.length && '' == $(exclude_conditions[0]).find('select.target_rule-condition').val() ) { exclude_field_wrap.addClass( 'ast-hidden' ); add_exclude_block.removeClass( 'ast-hidden' ); }else{ exclude_field_wrap.removeClass( 'ast-hidden' ); add_exclude_block.addClass( 'ast-hidden' ); } } }; $(document).ready(function($) { jQuery( '.astra-target-rule-condition' ).each( function() { var $this = $( this ), condition = $this.find('select.target_rule-condition'), condition_val = condition.val(), specific_page = $this.next( '.target_rule-specific-page-wrap' ); if( 'specifics' == condition_val ) { specific_page.slideDown( 300 ); } } ); jQuery('select.target-rule-select2').each(function(index, el) { init_target_rule_select2( el ); }); jQuery('.ast-target-rule-selector-wrapper').each(function() { update_close_button( jQuery(this) ); }) /* Show hide exclusion button */ update_exclusion_button(); jQuery( document ).on( 'change', '.astra-target-rule-condition select.target_rule-condition' , function( e ) { var $this = jQuery(this), this_val = $this.val(), field_wrap = $this.closest('.ast-target-rule-wrapper'); if( 'specifics' == this_val ) { $this.closest( '.astra-target-rule-condition' ).next( '.target_rule-specific-page-wrap' ).slideDown( 300 ); } else { $this.closest( '.astra-target-rule-condition' ).next( '.target_rule-specific-page-wrap' ).slideUp( 300 ); } update_target_rule_input( field_wrap ); } ); jQuery( '.ast-target-rule-selector-wrapper' ).on( 'change', '.target-rule-select2', function(e) { var $this = jQuery( this ), field_wrap = $this.closest('.ast-target-rule-wrapper'); update_target_rule_input( field_wrap ); }); jQuery( '.ast-target-rule-selector-wrapper' ).on( 'click', '.target_rule-add-rule-wrap a', function(e) { e.preventDefault(); e.stopPropagation(); var $this = jQuery( this ), id = $this.attr( 'data-rule-id' ), new_id = parseInt(id) + 1, type = $this.attr( 'data-rule-type' ), rule_wrap = $this.closest('.ast-target-rule-selector-wrapper').find('.target_rule-builder-wrap'), template = wp.template( 'astra-target-rule-' + type + '-condition' ), field_wrap = $this.closest('.ast-target-rule-wrapper'); rule_wrap.append( template( { id : new_id, type : type } ) ); init_target_rule_select2( '.ast-target-rule-'+type+'-on .target-rule-select2' ); $this.attr( 'data-rule-id', new_id ); update_close_button( field_wrap ); }); jQuery( '.ast-target-rule-selector-wrapper' ).on( 'click', '.target_rule-condition-delete', function(e) { var $this = jQuery( this ), rule_condition = $this.closest('.astra-target-rule-condition'), field_wrap = $this.closest('.ast-target-rule-wrapper'); cnt = 0, data_type = field_wrap.attr( 'data-type' ), optionVal = $this.siblings('.target_rule-condition-wrap').children('.target_rule-condition').val(); if ( 'exclude' == data_type ) { if ( 1 === field_wrap.find('.target_rule-condition').length ) { field_wrap.find('.target_rule-condition').val(''); field_wrap.find('.target_rule-specific-page').val(''); field_wrap.find('.target_rule-condition').trigger('change'); update_exclusion_button( false, true ); }else{ $this.parent('.astra-target-rule-condition').next('.target_rule-specific-page-wrap').remove(); rule_condition.remove(); } } else { $this.parent('.astra-target-rule-condition').next('.target_rule-specific-page-wrap').remove(); rule_condition.remove(); } field_wrap.find('.astra-target-rule-condition').each(function(i) { var condition = jQuery( this ), old_rule_id = condition.attr('data-rule'), select_location = condition.find('.target_rule-condition'), select_specific = condition.find('.target_rule-specific-page'), location_name = select_location.attr( 'name' ); condition.attr( 'data-rule', i ); select_location.attr( 'name', location_name.replace('['+old_rule_id+']', '['+i+']') ); condition.removeClass('ast-target-rule-'+old_rule_id).addClass('ast-target-rule-'+i); cnt = i; }); field_wrap.find('.target_rule-add-rule-wrap a').attr( 'data-rule-id', cnt ) update_close_button( field_wrap ); update_target_rule_input( field_wrap ); }); jQuery( '.ast-target-rule-selector-wrapper' ).on( 'click', '.target_rule-add-exclusion-rule a', function(e) { e.preventDefault(); e.stopPropagation(); update_exclusion_button( true ); }); }); }(jQuery, window));