539 lines
18 KiB
JavaScript
539 lines
18 KiB
JavaScript
(
|
||
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); |