( function ($) { 'use strict'; /** * All of the code for your admin-facing JavaScript source * should reside in this file. * * Note: It has been assumed you will write jQuery code here, so the * $ function reference has been prepared for usage within the scope * of this function. * * This enables you to define handlers, for when the DOM is ready: * * $(function() { * * }); * * When the window is loaded: * * $( window ).load(function() { * * }); * * ...and/or other possibilities. * * Ideally, it is not considered best practise to attach more than a * single DOM-ready or window-load handler for a particular page. * Although scripts in the WordPress core, Plugins and Themes may be * practising this, we should strive to set a better example in our own work. */ $(window).on('load', function () { function getUrlVars () { var vars = [], hash, get_current_url; get_current_url = window.location.href; var hashes = get_current_url.slice(get_current_url.indexOf('?') + 1).split('&'); for (var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } let getURLVARS = getUrlVars(); let pluginspagesarray = [ 'aet-et-settings', 'aet-ft-settings', 'aet-gc-settings', 'aet-get-started', 'aet-cat-list' ]; if (getURLVARS) { let getURLVARSPage = getURLVARS.page; if ($.inArray(getURLVARSPage, pluginspagesarray) !== -1) { $('a[href="admin.php?page=aet-et-settings"]').parent().addClass('current'); $('a[href="admin.php?page=aet-et-settings"]').addClass('current'); } } function setAllAttributes (element, attributes) { Object.keys(attributes).forEach(function (key) { element.setAttribute(key, attributes[key]); }); return element; } function reconnect_to_wizard () { $('#table_outer_wizard').show(); $('#general_setting').hide(); let table_outer_wizard_id = document.getElementById('table_outer_wizard').getElementsByClassName('sub_wizard_button')[0]; if ($('#cancel_button').length === 0) { let new_a = document.createElement('a'); new_a = setAllAttributes(new_a, { 'href': 'javascript:void(0);', 'id': 'cancel_button', 'class': 'button button-secondory button-large sub_wizard_button_a sub_wizard_button_third_a' } ); new_a.textContent = 'Cancel'; table_outer_wizard_id.appendChild(new_a); } } function cancel_button () { $('#general_setting').show(); $('#table_outer_wizard').hide(); } function update_manually_ID (get_val, get_attr, get_attr_two) { $.ajax({ type: 'GET', url: aet_vars.ajaxurl, data: { 'action': 'aet_update_manually_id', 'get_val': get_val, 'get_attr': get_attr, 'get_attr_two': get_attr_two, 'nonce': aet_vars.aet_chk_nonce_ajax, }, success: function (response) { location.reload(response); } }); } $('body').on('click', '#reconnect_to_wizard', function () { reconnect_to_wizard(); }); $('body').on('click', '#cancel_button', function () { cancel_button(); }); $( 'a[href="admin.php?page=aet-et-settings"]' ).parents().addClass( 'current wp-has-current-submenu' ); $( 'a[href="admin.php?page=aet-et-settings"]' ).addClass( 'current' ); $('#general_setting table tr td span.switch').click( function(){ if( true === $(this).find('input').is(':checked') ){ $(this).find('input').prop('checked', false); }else{ $(this).find('input').prop('checked', true); } }); /* description toggle */ $('span.advance_ecommerce_tracking_tab_description').click(function (event) { event.preventDefault(); $(this).next('p.description').toggle(); }); $('body').on('click', '#update_manually_ft_px, #update_manually_et_px', function () { let btn_attr = $(this).attr('data-attr'); let get_attr = $('#manually_' + btn_attr + '_px').attr('data-attr'); let get_val = $.trim($('#manually_' + btn_attr + '_px').val()); let get_attr_two = $('#manually_' + btn_attr + '_px').attr('data-attr-two'); if ('' === get_val) { let sub_wizard_field = document.getElementById('sub_wizard_field').getElementsByClassName('field_div')[0]; if ($('#main_error_div').length === 0) { let div = document.createElement('div'); div = setAllAttributes(div, { 'id': 'main_error_div', 'class': 'error_div' } ); let span = document.createElement('span'); span = setAllAttributes(span, { 'id': 'error_span', 'class': 'error' } ); span.textContent = 'Please enter ID here'; div.appendChild(span); sub_wizard_field.appendChild(div); } } update_manually_ID(get_val, get_attr, get_attr_two); }); /*Custom event section*/ $('.all_ft_tr').hide(); let selected = $('#event_type').find('option:selected'); let select_val = $('#event_type').val(); let extra_attr = selected.data('attr'); getFieldBasedOnSelector(extra_attr, select_val); function getFieldBasedOnSelector (extra_attr, select_val) { $.each(extra_attr, function (key, value) { $('#tr_ft_' + key).show(); if ('none' !== value) { //$('#tr_ft_' + key + ' input').attr('require', 'true'); } }); if ('Custom' === select_val) { $('#tr_ft_custom_event').show(); } else { $('#tr_ft_custom_event').hide(); $('#tr_ft_custom_event').find('input').val(''); } } $('body').on('change', '#event_type', function () { $('.all_ft_tr').hide(); let select_val = $(this).val(); let selected = $(this).find('option:selected'); let extra_attr = selected.data('attr'); getFieldBasedOnSelector(extra_attr, select_val); }); function adCustomParamField (count_cp) { let in_append_elem = document.getElementById('tr_ft_contents').getElementsByClassName('ft_contents_div')[0]; let parent_div = document.createElement('div'); parent_div = setAllAttributes(parent_div, { 'id': 'total_custom_param_' + count_cp, 'class': 'main_div_custom_param total_custom_param' }); let input_parent_div1 = document.createElement('div'); input_parent_div1 = setAllAttributes(input_parent_div1, { 'id': 'ip_div_' + count_cp, 'class': 'ip_div ip_div_' + count_cp, }); let input_parent_div2 = document.createElement('div'); input_parent_div2 = setAllAttributes(input_parent_div2, { 'id': 'ip_div_' + count_cp, 'class': 'ip_div ip_div_' + count_cp, }); let input_parent_div3 = document.createElement('div'); input_parent_div3 = setAllAttributes(input_parent_div3, { 'id': 'param_delete', 'class': 'param_delete', 'data-id': count_cp }); let child_input1 = document.createElement('input'); child_input1 = setAllAttributes(child_input1, { 'type': 'text', 'id': 'key_' + count_cp, 'name': 'key_param[]', 'class': 'key_input key_' + count_cp, 'placeholder': 'key', 'value': '', }); let child_input2 = document.createElement('input'); child_input2 = setAllAttributes(child_input2, { 'type': 'text', 'id': 'value_' + count_cp, 'name': 'value_param[]', 'class': 'value_input value_' + count_cp, 'placeholder': 'Value', 'value': '', }); let child_a = document.createElement('a'); child_a = setAllAttributes(child_a, { 'href': 'javascript:void(0);', 'class': 'a_param_delete', 'id': 'a_param_delete' }); let child_a_img = document.createElement('img'); child_a_img = setAllAttributes(child_a_img, { 'src': aet_vars.trash_url, }); child_a.appendChild(child_a_img); input_parent_div1.appendChild(child_input1); input_parent_div2.appendChild(child_input2); input_parent_div3.appendChild(child_a); parent_div.appendChild(input_parent_div1); parent_div.appendChild(input_parent_div2); parent_div.appendChild(input_parent_div3); in_append_elem.appendChild(parent_div); } $('body').on('click', '#custom_parameter_btn_div', function () { let count_cp = $('#tr_ft_contents .total_custom_param').length; if (count_cp === 0) { count_cp = 1; } else { count_cp = count_cp + 1; } adCustomParamField(count_cp); }); $('body').on('click', '#a_param_delete', function () { let data_id = $(this).parent().attr('data-id'); $('#total_custom_param_' + data_id).remove(); }); $('#custom_event_general_setting input#event_value').keypress(function (e) { var regex = new RegExp('^[0-9.]+$'); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); if (regex.test(str)) { return true; } e.preventDefault(); return false; }); $('body').on('click', '.condition-check-all', function () { $('input.multiple_delete_chk:checkbox').not(this).prop('checked', this.checked); }); $('#delete-custom-event').click(function () { let dynamic_string = $(this).attr('data-attr'); if (0 === $('.multiple_delete_chk:checkbox:checked').length) { alert('Please select at least one ' + dynamic_string + ' event'); return false; } if (confirm('Are You Sure You Want to Delete Selected ' + dynamic_string + ' Event?')) { var all_checked_val = []; $('.multiple_delete_chk:checked').each(function () { all_checked_val.push($(this).val()); }); $.ajax({ type: 'GET', url: aet_vars.ajaxurl, data: { 'action': 'aet_wc_multiple_delete_row__premium_only', 'nonce': aet_vars.aet_chk_nonce_ajax, 'all_checked_val': all_checked_val }, success: function (response) { if ('1' === response) { alert('Delete Successfully'); $('.multiple_delete_chk').prop('checked', false); location.reload(); } } }); } }); $('body').on('click', '.dotstore-important-link .content_box .et-star-rating label', function(e){ e.stopImmediatePropagation(); var rurl = $('#et-review-url').val(); window.open( rurl, '_blank' ); }); /** Dynamic Promotional Bar START */ $(document).on('click', '.dpbpop-close', function () { var popupName = $(this).attr('data-popup-name'); setCookie( 'banner_' + popupName, 'yes', 60 * 24 * 7); $('.' + popupName).hide(); }); $(document).on('click', '.dpb-popup .dpb-popup-meta', function () { var promotional_id = $(this).parent().find('.dpbpop-close').attr('data-bar-id'); var popupName = $(this).parent().find('.dpbpop-close').attr('data-popup-name'); setCookie( 'banner_' + popupName, 'yes', 60 * 24 * 7); $('.' + popupName).hide(); //Create a new Student object using the values from the textfields var apiData = { 'bar_id' : promotional_id }; $.ajax({ type: 'POST', url: aet_vars.dpb_api_url + 'wp-content/plugins/dots-dynamic-promotional-banner/bar-response.php', data: JSON.stringify(apiData),// now data come in this function dataType: 'json', cors: true, contentType:'application/json', success: function () { }, error: function () { } }); }); /** Dynamic Promotional Bar END */ /** Plugin Setup Wizard Script START */ // Hide & show wizard steps based on the url params var urlParams = new URLSearchParams(window.location.search); if (urlParams.has('require_license')) { $('.ds-plugin-setup-wizard-main .tab-panel').hide(); $( '.ds-plugin-setup-wizard-main #step5' ).show(); } else { $( '.ds-plugin-setup-wizard-main #step1' ).show(); } // Plugin setup wizard steps script $(document).on('click', '.ds-plugin-setup-wizard-main .tab-panel .btn-primary:not(.ds-wizard-complete)', function () { var curruntStep = jQuery(this).closest('.tab-panel').attr('id'); var nextStep = 'step' + ( parseInt( curruntStep.slice(4,5) ) + 1 ); // Masteringjs.io if( 'step5' !== curruntStep ) { // Youtube videos stop on next step $('iframe[src*="https://www.youtube.com/embed/"]').each(function(){ $(this).attr('src', $(this).attr('src')); return false; }); jQuery( '#' + curruntStep ).hide(); jQuery( '#' + nextStep ).show(); } }); // Get allow for marketing or not if ( $( '.ds-plugin-setup-wizard-main .ds_count_me_in' ).is( ':checked' ) ) { $('#fs_marketing_optin input[name="allow-marketing"][value="true"]').prop('checked', true); } else { $('#fs_marketing_optin input[name="allow-marketing"][value="false"]').prop('checked', true); } // Get allow for marketing or not on change $(document).on( 'change', '.ds-plugin-setup-wizard-main .ds_count_me_in', function() { if ( this.checked ) { $('#fs_marketing_optin input[name="allow-marketing"][value="true"]').prop('checked', true); } else { $('#fs_marketing_optin input[name="allow-marketing"][value="false"]').prop('checked', true); } }); // Complete setup wizard $(document).on( 'click', '.ds-plugin-setup-wizard-main .tab-panel .ds-wizard-complete', function() { if ( $( '.ds-plugin-setup-wizard-main .ds_count_me_in' ).is( ':checked' ) ) { $( '.fs-actions button' ).trigger('click'); } else { $('.fs-actions #skip_activation')[0].click(); } }); // Send setup wizard data on Ajax callback $(document).on( 'click', '.ds-plugin-setup-wizard-main .fs-actions button', function() { var wizardData = { 'action': 'aet_plugin_setup_wizard_submit', 'survey_list': $('.ds-plugin-setup-wizard-main .ds-wizard-where-hear-select').val(), 'nonce': aet_vars.setup_wizard_ajax_nonce }; $.ajax({ url: aet_vars.ajaxurl, data: wizardData, success: function ( ) { } }); }); /** Plugin Setup Wizard Script End */ /** Upgrade Dashboard Script START */ // Dashboard features popup script $(document).on('click', '.dotstore-upgrade-dashboard .premium-key-fetures .premium-feature-popup', function (event) { let $trigger = $('.feature-explanation-popup, .feature-explanation-popup *'); if(!$trigger.is(event.target) && $trigger.has(event.target).length === 0){ $('.feature-explanation-popup-main').not($(this).find('.feature-explanation-popup-main')).hide(); $(this).parents('li').find('.feature-explanation-popup-main').show(); $('body').addClass('feature-explanation-popup-visible'); } }); $(document).on('click', '.dotstore-upgrade-dashboard .popup-close-btn', function () { $(this).parents('.feature-explanation-popup-main').hide(); $('body').removeClass('feature-explanation-popup-visible'); }); /** Upgrade Dashboard Script End */ // Script for Beacon configuration var helpBeaconCookie = getCookie( 'aet-help-beacon-hide' ); if ( ! helpBeaconCookie ) { Beacon('init', 'afe1c188-3c3b-4c5f-9dbd-87329301c920'); Beacon('config', { display: { style: 'icon', iconImage: 'message', zIndex: '99999' } }); // Add plugin articles IDs to display in beacon Beacon('suggest', ['62b2ae2c35a1630c11984003', '62b1a352e13ae052a9d690a9', '62b1a4a8e13ae052a9d690b0', '62b1a3d2b2955b2490b58bc1', '62b1a40db2955b2490b58bc3']); // Add custom close icon form beacon setTimeout(function() { if ( $( '.hsds-beacon .BeaconFabButtonFrame' ).length > 0 ) { let newElement = document.createElement('span'); newElement.classList.add('dashicons', 'dashicons-no-alt', 'dots-beacon-close'); let container = document.getElementsByClassName('BeaconFabButtonFrame'); container[0].appendChild( newElement ); } }, 3000); // Hide beacon $(document).on('click', '.dots-beacon-close', function(){ Beacon('destroy'); setCookie( 'aet-help-beacon-hide' , 'true', 24 * 60 ); }); } // Script for upgrade to pro popup $(document).on('click', '#dotsstoremain .aet-pro-label, #dotsstoremain .aet-upgrade-pro-to-unlock', function(){ $('body').addClass('aet-modal-visible'); }); $(document).on('click', '#dotsstoremain .modal-close-btn', function(){ $('body').removeClass('aet-modal-visible'); }); $(document).on('click', '.upgrade-to-pro-modal-main .upgrade-now', function(e){ e.preventDefault(); $('body').removeClass('aet-modal-visible'); let couponCode = $('.upgrade-to-pro-discount-code').val(); upgradeToProFreemius( couponCode ); }); $(document).on('click', '.dots-header .dots-upgrade-btn, .dotstore-upgrade-dashboard .upgrade-now', function(e){ e.preventDefault(); upgradeToProFreemius( '' ); }); }); // Set cookies function setCookie(name, value, minutes) { var expires = ''; if (minutes) { var date = new Date(); date.setTime(date.getTime() + (minutes * 60 * 1000)); expires = '; expires=' + date.toUTCString(); } document.cookie = name + '=' + (value || '') + expires + '; path=/'; } // Get cookies function getCookie(name) { let nameEQ = name + '='; let ca = document.cookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i].trim(); if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length, c.length); } } return null; } /** Script for Freemius upgrade popup */ function upgradeToProFreemius( couponCode ) { let handler; handler = FS.Checkout.configure({ plugin_id: '3475', plan_id: '5543', public_key:'pk_9edf804dccd14eabfd00ff503acaf', image: 'https://www.thedotstore.com/wp-content/uploads/sites/1417/2023/09/Enhanced-Ecommerce-Google-Analytics-for-WooCommerce-Banner-New.png', coupon: couponCode, }); handler.open({ name: 'Advance Ecommerce Tracking', subtitle: 'You’re a step closer to our Pro features', licenses: jQuery('input[name="licence"]:checked').val(), purchaseCompleted: function( ) { }, success: function () { } }); } } )(jQuery);