/* global jQuery, ajaxurl, wdr_data */ jQuery(document).ready(function ($) { const alert_counter = {counts: 1}; /** * Filter Block */ $('.wdr-btn-add-product-filter').click(function () { wdr_buildrule.show_hide_rule_block({ showBlockId: ".wdr-filter-block", hideBlockId: '.wdr-discount-template, .wdr-advanced-layout-block', thisObject: this, }); }); /*Add filter section*/ $('.add-product-filter').click(function () { var last_index = $('.wdr-filter-group-items').children().last().attr('data-index'); last_index = CalculateDataIndex(last_index); wdr_buildrule.wdr_clone_field({ addFilterType: '.wdr-build-filter-type', addFilterMethod: '.products', addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: ".wdr-filter-group-items", newIndex: last_index }); make_wdr_select2_search($('.wdr-filter-group[data-index="' + last_index + '"]').find('[data-field="autocomplete"]')); $('.wdr-filter-group[data-index=' + last_index + ']').append("
" + wdr_data.localization_data.filter_products + "
"); }); /*Remove filter section*/ $(document).on('click', '.remove-current-row', function () { if ($('.wdr-filter-group-items > div').length >= 2) { wdr_buildrule.remove_wdr_field_group({ parentsRow: ".wdr-filter-group", thisObject: this, }); } }); /*Add filter section while change select option*/ $(document).on('change', '.wdr-product-filter-type', function () { let last_index = $(this).parents('.wdr-filter-group').data('index'); let current_block = $(this).val(); wdr_buildrule.remove_wdr_field_group({ parentRow: $(this).parent(), }); wdr_buildrule.wdr_clone_field({ addFilterMethod: '.' + current_block, addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: $(this).parents('.wdr-filter-group'), newIndex: last_index }); // switch (current_block) { case "products": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_products + '
'); break; case "product_category": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_Category + '
'); break; case "product_attributes": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_Attributes + '
'); break; case "product_tags": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_Tags + '
'); break; case "product_sku": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_SKUs + '
'); break; case "product_on_sale": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_On_sale_products + '
'); break; case "all_products": $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_all_products + '
'); break; default: $('.wdr-filter-group[data-index="' + last_index + '"]').append('
' + wdr_data.localization_data.filter_custom_taxonomies + '
'); break; } make_wdr_select2_search($(this).parents('.wdr-filter-group').find('[data-field="autocomplete"]')); }); /** * Condition Block */ $('.wdr-btn-add-condition').click(function () { wdr_buildrule.show_hide_rule_block({ showBlockId: ".wdr-condition-template", hideBlockId: ".wdr-filter-block, .wdr-discount-template, .wdr-advanced-layout-block", thisObject: this, }); }); /*Add Discount section*/ $('.add-product-condition').click(function () { var last_index = $('.wdr-condition-group-items').children().last().attr('data-index'); last_index = CalculateDataIndex(last_index); wdr_buildrule.wdr_clone_field({ addConditionType: '.wdr-build-condition-type', addFilterMethod: '.cart_subtotal', addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: ".wdr-condition-group-items", newIndex: last_index }); if (wdr_data.enable_subtotal_promo_text == '1') { wdr_buildrule.wdr_clone_field({ addConditionType: 'empty-promo', addFilterMethod: '.wdr-subtotal-promo-messeage-main', addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: ".wdr-condition-group-items", newIndex: last_index }); } $('.subtotal_operator').trigger('change'); }); function wdrShowHidePromotionSection(tis){ let promotion_operator = tis.val(); let current_promo_index = tis.parents('.wdr-conditions-container').attr("data-index"); if (promotion_operator == 'greater_than_or_equal' || promotion_operator == 'greater_than') { $('.promo_show_hide_' + current_promo_index).show(); } else { $('.promo_show_hide_' + current_promo_index).hide(); } } $(document).on('change', '.subtotal_operator', function () { if (wdr_data.enable_subtotal_promo_text == '1' ) { wdrShowHidePromotionSection($(this)); } }); $(document).on('change', '.wdr_quantity_operator', function () { if ( wdr_data.enable_cart_quantity_promo_text == '1') { wdrShowHidePromotionSection($(this)); } }); /*Remove section*/ $(document).on('click', '.remove-current-row', function () { if ($('.wdr-condition-group-items > div').length >= 2) { wdr_buildrule.remove_wdr_field_group({ parentsRow: ".wdr-conditions-container", thisObject: this, }); if (wdr_data.enable_subtotal_promo_text == '1' || wdr_data.enable_cart_quantity_promo_text == '1') { let condition_type = $(this).parent('.wdr-btn-remove').siblings('.wdr-condition-type').find('.wdr-product-condition-type').val(); if (condition_type == 'cart_subtotal') { let promo_index = $(this).parents('.wdr-conditions-container').attr("data-index"); $('.promo_show_hide_' + promo_index).remove(); } if (condition_type == 'cart_items_quantity') { let promo_index = $(this).parents('.wdr-conditions-container').attr("data-index"); $('.promo_show_hide_' + promo_index).remove(); } } } }); /*Add condition section on select option*/ $(document).on('change', '.wdr-product-condition-type', function () { var last_index = $(this).parents('.wdr-condition-group').data('index'); var current_block = $(this).val(); wdr_buildrule.remove_wdr_field_group({ parentRow: $(this).parent() }); wdr_buildrule.wdr_clone_field({ addFilterMethod: '.' + current_block, addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: $(this).parents('.wdr-conditions-container'), newIndex: last_index }); var promo_index = $(this).parents('.wdr-conditions-container').attr("data-index"); //if Class Exists then checking the first object that is returned from JQuery if($('.promo_show_hide_' + promo_index)[0] != 'undefined'){ $('.promo_show_hide_' + promo_index).remove(); } if (current_block == 'order_time') { $('.wdr_time_picker').datetimepicker({ datepicker: false, format: 'H:i' }); } else if (current_block == 'cart_subtotal') { if (wdr_data.enable_subtotal_promo_text == '1') { wdr_buildrule.wdr_clone_field({ addConditionType: 'empty-promo', addFilterMethod: '.wdr-subtotal-promo-messeage-main', addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: ".wdr-condition-group-items", newIndex: last_index }); } $('.subtotal_operator').trigger('change'); }else if (current_block == 'cart_items_quantity') { if (wdr_data.enable_cart_quantity_promo_text == '1') { wdr_buildrule.wdr_clone_field({ addConditionType: 'empty-promo', addFilterMethod: '.wdr-cart-quantity-promo-messeage-main', addRemoveIcon: '.wdr-icon-remove', ruleAppendTo: ".wdr-condition-group-items", newIndex: last_index }); } $('.wdr_quantity_operator').trigger('change'); } //$('.wdr-condition-date').datetimepicker(); make_wdr_select2_search($(this).parents('.wdr-conditions-container').find('[data-field="autocomplete"]')); make_select2_preloaded($(this).parents('.wdr-conditions-container').find('[data-field="preloaded"]')); make_select2_all_loaded($(this).parents('.wdr-conditions-container').find('[data-field="autoloaded"]')); wdr_initialize_datetime($(this).parents('.wdr-conditions-container').find('[data-field="date"]')); }); /*Initialise and show & hide coupon search section*/ $(document).on('change', '.wdr_copon_type', function () { var coupon_type = $(this).val(); if (coupon_type === "at_least_one_any") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-search').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-value').css("display", "none"); //$(this).parents('.wdr_cart_coupon_group').find('#rm-coupon option:selected').remove(); } else if (coupon_type === "none_at_all") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-search').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-value').css("display", "none"); //$(this).parents('.wdr_cart_coupon_group').find('#rm-coupon option:selected').remove(); } else if (coupon_type === "custom_coupon") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-search').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-value').css("display", "block"); //$(this).parents('.wdr_cart_coupon_group').find('#rm-coupon option:selected').remove(); } else { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-value').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-search').css("display", "block"); make_wdr_select2_search($(this).parents('.wdr-conditions-container').find('[data-field="autocomplete"]')); } }); /** * Discount Block */ $('.wdr-btn-add-discount').click(function () { wdr_buildrule.show_hide_rule_block({ showBlockId: ".wdr-discount-template", hideBlockId: '.wdr-filter-block, .wdr-advanced-layout-block', thisObject: this, }); }); /*Add section*/ $(document).on('click', '.add_discount_elements', function () { //alert(1); var data_append = $(this).data('append'); var discount_ele = $(this).data('discount-method'); var next_starting_value = $(this).data('next-starting-value'); var last_index = $('.' + data_append).children().last().attr('data-index'); last_index = CalculateDataIndex(last_index); wdr_buildrule.wdr_clone_field({ addFilterMethod: '.' + discount_ele, ruleAppendTo: '.' + data_append, addDiscountElement: 'enable', newIndex: last_index }); if (next_starting_value != '' && next_starting_value != 'undefined') { $('.' + data_append + ' ' + next_starting_value + ':last-child').find('.awdr_value_selector').val(''); let bogo_auto_add_value = $('.' + data_append + ' ' + next_starting_value + ':nth-last-child(2)').find('.awdr_auto_add_value').val(); bogo_auto_add_value = parseInt(bogo_auto_add_value) + 1; if (bogo_auto_add_value != '' && !isNaN(bogo_auto_add_value)) { $('.' + data_append + ' ' + next_starting_value + ':nth-last-child(1)').find('.awdr_next_value').val(bogo_auto_add_value); } } if (discount_ele == 'add_buyx_gety_range') { $('.buyx_gety_individual_range[data-index=' + last_index + ']').find('.awdr-buyx-gety-max').show(); $('.buyx_gety_individual_range[data-index=' + last_index + ']').find('.awdr-bogo-recurcive').prop("checked", false); $('.wdr-buyx-gety-discount-inner').css("border-bottom", "1px solid #ddd"); } else if (discount_ele == 'add_buyx_getx_range') { $('.buyx_getx_individual_range[data-index=' + last_index + ']').find('.awdr-buyx-getx-max').show(); $('.buyx_getx_individual_range[data-index=' + last_index + ']').find('.awdr-bogo-recurcive').prop("checked", false); $('.buyx_getx_individual_range').css("border-bottom", "1px solid #ddd"); } make_wdr_select2_search($('.' + data_append + ' div:last-child').find('[data-field="autocomplete"]')); make_wdr_select2_search($('.' + data_append + ' div:last-child').find('[data-list="product_category"]')); }); /*Remove Section*/ $(document).on('click', '.wdr_discount_remove', function () { let rows_count = $(this).closest('.wdr-discount-group').parent().find('.wdr-discount-group').length; if (rows_count > 1) { wdr_buildrule.remove_wdr_field_group({ parentsRow: '.wdr-discount-group', thisObject: this, }); wdr_buildrule.re_index_ranges(); } }); /*Discounts Tabs navigation*/ $(document).on('click', '[data-click="wdr-bottombar"]', function () { var show_discount_content = $(this).data('dtype'); $(this).hide(); $('.' + show_discount_content).show(); }); function awdr_process_v1_to_v2_migration(awdr_nonce) { $.ajax({ data: {method: 'do_v1_v2_migration', action: 'wdr_ajax', awdr_nonce: awdr_nonce}, type: 'post', url: ajaxurl, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data.data.status != undefined) { if (data.data.status == "completed") { notify(wdr_data.localization_data.processing_migration_success_message, 'success', alert_counter); location.reload(); } else { awdr_process_v1_to_v2_migration(awdr_nonce); } $(".wdr_migration_process_status").html(data.data.display_text); } else { location.reload(); } } }); } /** * Process on sale list */ $(document).on('click', '#awdr_rebuild_on_sale_list', function () { var rules = $("#awdr_rebuild_on_sale_rules").val(); $(".awdr_rebuild_on_sale_list_notice").html(""); if (rules != null) { $("#awdr_rebuild_on_sale_list").attr('disabled', "disabled"); $("#awdr_rebuild_on_sale_list").html(wdr_data.localization_data.rebuild_on_sale_list_processing_text); awdr_process_on_sale_list(rules, $(this), true); } else { $(".awdr_rebuild_on_sale_list_notice").html(wdr_data.localization_data.rebuild_on_sale_list_error_please_select_rule); } }); /** * Process on sale list */ $(document).on('click', '#awdr_rebuild_on_sale_list_on_rule_page', function () { $(this).attr('disabled', "disabled"); $(this).html(wdr_data.localization_data.rebuild_on_sale_list_processing_text); awdr_process_on_sale_list(null, $(this), false); //$(".awdr_rebuild_on_sale_rule_page_con").removeClass("need_attention"); }); function awdr_process_on_sale_list(rules, current_obj, update=false) { $.ajax({ data: { method: 'rebuild_onsale_list', action: 'wdr_ajax', rules: rules, update: update ? 1 : 0, awdr_nonce: current_obj.attr('data-awdr_nonce') }, type: 'post', url: ajaxurl, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); current_obj.removeAttr('disabled'); }, success: function (data) { current_obj.html(wdr_data.localization_data.rebuild_on_sale_list_processed_text); current_obj.removeAttr('disabled'); } }); } /** * Process migration */ $(document).on('click', '#awdr_do_v1_v2_migration', function () { $(".wdr_migration_process").append(wdr_data.localization_data.processing_migration_text); awdr_process_v1_to_v2_migration($(this).attr('data-awdr_nonce')); }); /** * Skip migration */ $(document).on('click', '#awdr_skip_v1_v2_migration', function () { $(".wdr_migration_process").append(wdr_data.localization_data.skip_migration_text); $.ajax({ data: {method: 'skip_v1_v2_migration', action: 'wdr_ajax'}, type: 'post', url: ajaxurl, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data === 'failed') { notify(wdr_data.localization_data.error, 'error', alert_counter); } else if (data.data === true) { $(".wdr_migration_process").append(wdr_data.localization_data.skip_migration_success_message); notify(wdr_data.localization_data.skip_migration_success_message, 'success', alert_counter); } location.reload(); } }); }); $('.awdr-switch-version-button').on('click', function (event) { event.preventDefault(); var version = $(this).attr('data-version'); var page = $(this).attr('data-page'); var nonce = $(this).attr('data-nonce'); $.ajax({ url: ajaxurl, type: 'POST', data: {action: 'awdr_switch_version', version: version, page: page, wdr_nonce: nonce}, success: function (data) { if (data.data.status == true) { window.location.replace(data.data.url); } $(".wdr_switch_message").html(data.data.message); } }); }); /** * Duplicate Rule */ $(document).on('click', '.wdr_duplicate_rule', function () { let loader = $('.woo_discount_loader'); $.ajax({ data: { rowid: $(this).data('duplicate-rule'), awdr_nonce: $(this).data('awdr_nonce'), method: 'duplicate_rule', action: 'wdr_ajax' }, type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data === 'failed') { notify(wdr_data.localization_data.error, 'error', alert_counter); } else { notify(wdr_data.localization_data.duplicate_rule, 'success', alert_counter); } location.reload(); } }); }); /** * Delete Rule */ $(document).on('click', '.wdr_delete_rule', function () { var wdr_delete_rule_row = $(this).closest('tr'); if (confirm(wdr_data.localization_data.delete_confirm)) { let loader = $('.woo_discount_loader'); $.ajax({ data: { rowid: $(this).data('delete-rule'), priority: $(this).data('priority'), awdr_nonce: $(this).data('awdr_nonce'), method: 'delete_rule', action: 'wdr_ajax' }, type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data) { if (data.status === 'failed') { notify(wdr_data.localization_data.error, 'error', alert_counter); } else { notify(wdr_data.localization_data.deleted_rule, 'success', alert_counter); wdr_delete_rule_row.hide(500, function () { wdr_delete_rule_row.remove(); }); } if (data.build_index !== undefined) { awdr_may_display_rebuild_index_button(data.build_index); } } else { notify(wdr_data.localization_data.error, 'error', alert_counter); } } }); } }); /** * Manage Rule Status */ $(document).on('change', '.wdr_manage_status', function () { let change_status = ''; let parent_tr = $(this).closest('tr'); if ($(this).prop("checked") == true) { change_status = 1; } else { change_status = 0; } let loader = $('.woo_discount_loader'); $.ajax({ data: { rowid: $(this).data('manage-status'), awdr_nonce: $(this).data('awdr_nonce'), method: 'manage_status', action: 'wdr_ajax', changeto: change_status }, type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data) { if (data.status === 'failed') { notify(wdr_data.localization_data.error, 'error', alert_counter); } else { if (change_status == 1) { $(parent_tr).find('.awdr-enabled-status').show(); notify(wdr_data.localization_data.enabled_rule, 'success', alert_counter); } else { $(parent_tr).find('.awdr-enabled-status').hide(); notify(wdr_data.localization_data.disabled_rule, 'success', alert_counter); } if (data.build_index !== undefined) { awdr_may_display_rebuild_index_button(data.build_index); } } } else { notify(wdr_data.localization_data.error, 'error', alert_counter); } } }); }); /** * Display rebuild index button on rule page * @param build_index */ function awdr_may_display_rebuild_index_button(build_index) { if (build_index.required_rebuild !== undefined) { if (build_index.required_rebuild == true) { $("#awdr_rebuild_on_sale_list_on_rule_page").html(wdr_data.localization_data.rebuild_on_sale_list_build_text); $(".awdr_rebuild_on_sale_rule_page_con").addClass("need_attention"); } } } /** * ajax search function * @param $el */ function make_wdr_select2_search($el) { $el.selectWoo({ width: '100%', minimumInputLength: 1, placeholder: $el.data('placeholder'), escapeMarkup: function (text) { return text; }, language: { noResults: function () { return wdr_data.labels.select2_no_results; }, errorLoading: function () { /* Workaround for https://github.com/select2/select2/issues/4355 instead of i18n_ajax_error.*/ return wdr_data.labels.searching_text; } }, ajax: { url: ajaxurl, type: 'POST', dataType: 'json', delay: 250, data: function (params) { return { query: params.term, action: 'wdr_ajax', method: $el.data('list') || 'products', awdr_nonce: $('input[name=wdr_ajax_select2]').val() || '', taxonomy: $el.data('taxonomy') || '', selected: $el.val() }; }, processResults: function (response) { return {results: response.data || []}; } } }); $el.parent().find('.select2-search__field').css('width', '100%'); } /** * ajax edit search function on document ready */ $('.edit-filters').selectWoo({ width: '100%', minimumInputLength: 1, placeholder: wdr_data.labels.placeholders, language: { noResults: function () { return wdr_data.labels.select2_no_results; } }, ajax: { url: ajaxurl, type: 'POST', dataType: 'json', delay: 250, data: function (params) { return { query: params.term, action: 'wdr_ajax', method: $(this).data('list') || 'products', awdr_nonce: $('input[name=wdr_ajax_select2]').val() || '', taxonomy: $(this).data('taxonomy') || '', selected: $(this).val() }; }, processResults: function (response) { return {results: response.data || []}; } } }); $('.edit-filters').parent().find('.select2-search__field').css('width', '100%'); /** * Preloaded values search function * @param $el */ function make_select2_preloaded($els) { $els.each(function (index, el) { var $el = $(el); var data = wdr_data.lists[$el.data('list')]; $el.selectWoo({ width: '100%', escapeMarkup: function (text) { return text; }, minimumInputLength: 1, placeholder: $el.data('placeholder'), language: { noResults: function () { return wdr_data.labels.select2_no_results; } }, data: data }); $el.parent().find('.select2-search__field').css('width', '100%'); }); } /** * Preloaded values search function * @param $el */ function make_select2_all_loaded($els) { $els.each(function (index, el) { var $el = $(el); var data = wdr_data.lists[$el.data('list')]; $el.selectWoo({ width: '100%', escapeMarkup: function (text) { return text; }, placeholder: $el.data('placeholder'), language: { noResults: function () { return wdr_data.labels.select2_no_results; } }, data: data }); $el.parent().find('.select2-search__field').css('width', '100%'); }); } /** * ajax edit pre_loaded search function in document ready */ $('.edit-preloaded-values').each(function (index, el) { var $el = $(el); var data = wdr_data.lists[$el.data('list')]; $el.selectWoo({ width: '100%', escapeMarkup: function (text) { return text; }, minimumInputLength: 1, placeholder: $el.data('placeholder'), language: { noResults: function () { return wdr_data.labels.select2_no_results; } }, data: data }); $el.parent().find('.select2-search__field').css('width', '100%'); }); function run_preload_values(){ $('.append-preloaded-values').selectWoo(); // $('.append-preloaded-values').parent().find('.select2-search__field').css('width', '100%'); } /** * ajax edit pre_loaded search function in document ready */ $('.edit-all-loaded-values').each(function (index, el) { var $el = $(el); var data = wdr_data.lists[$el.data('list')]; $el.selectWoo({ width: '100%', escapeMarkup: function (text) { return text; }, placeholder: $el.data('placeholder'), language: { noResults: function () { return wdr_data.labels.select2_no_results; } }, data: data }); $el.parent().find('.select2-search__field').css('width', '100%'); }); /** * Date Time picker Initialize for on change * @param $els */ function wdr_initialize_datetime($els) { $els.each(function (index, el) { var $el = $(el); var datepicker_type = $el.data('class'); if (datepicker_type == 'start_dateonly') { $('[data-class="' + datepicker_type + '"]').datetimepicker({ format: 'Y-m-d', onShow: function (ct) { this.setOptions({ maxDate: $('[data-class="end_dateonly"]').val() ? $('[data-class="end_dateonly"]').val() : false }) }, timepicker: false, }); } else if (datepicker_type == 'end_dateonly') { $('[data-class="' + datepicker_type + '"]').datetimepicker({ format: 'Y-m-d', onShow: function (ct) { this.setOptions({ minDate: $('[data-class="start_dateonly"]').val() ? $('[data-class="start_dateonly"]').val() : false }) }, timepicker: false, }); } else if (datepicker_type == 'start_datetimeonly') { $('[data-class="' + datepicker_type + '"]').datetimepicker({ timepicker: true, format: 'Y-m-d H:i', onShow: function (ct) { this.setOptions({ maxDate: $('[data-class="end_datetimeonly"]').val() ? $('[data-class="end_datetimeonly"]').val() : false }) }, }); } else if (datepicker_type == 'end_datetimeonly') { $('[data-class="' + datepicker_type + '"]').datetimepicker({ timepicker: true, format: 'Y-m-d H:i', onShow: function (ct) { this.setOptions({ minDate: $('[data-class="start_datetimeonly"]').val() ? $('[data-class="start_datetimeonly"]').val() : false }) }, }); } }); } /** * Calculate Data Index Value * @param last_index * @returns {number} * @constructor */ function CalculateDataIndex(last_index) { if (last_index === 0) { return 0; } else { return parseInt(last_index) + 1; } } /** * Save Rule using ajax */ $('#wdr-save-rule').submit(function (e) { e.preventDefault(); let validation = woo_discount_rule_validation($(this)); if (!validation) { return false; } let loader = $('.woo_discount_loader'); $("#wdr-save-rule .awdr-validation-attention").css("border", "1px solid #7e8993"); $.ajax({ data: $(this).serialize(), type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (response) { var data = response.data; if (response.success) { if (data.build_index != undefined) { awdr_may_display_rebuild_index_button(data.build_index); } if (data.redirect) { window.location.href = data.redirect; notify(wdr_data.localization_data.save_rule, 'success', alert_counter); } else { $('.wdr_desc_text.coupon_error_msg').hide(); $(".coupon_name_msg").css("border", ""); notify(wdr_data.localization_data.save_rule, 'success', alert_counter); } } else { if (data.coupon_message) { $(".coupon_name_msg").css("border", "1px solid #FF0000").focus(); notify(wdr_data.localization_data.coupon_exists, 'error', alert_counter); }else{ for (const [key, value] of Object.entries(data)) { if (data.hasOwnProperty(key)) { value.forEach(function(message){ notify(message, 'error',alert_counter); }); } let name = '', names; names = key.split('.'); names.forEach(function(value, index) { if (names.length !== 1) { name += (index + 1 !== 1) ? '[' + value + ']' : value; } else { name += value; } }); $('#wdr-save-rule [name="' + name + '"]').css("border", "1px solid red").focus().addClass('awdr-validation-attention'); } } } } }); }); /** * Save and Close Button */ $(document).on('click', '.wdr_save_close', function () { $('input[name=wdr_save_close]').val('1'); $(".wdr_save_stay").click(); }); /** * Rule validation starts here * @param form * @returns {boolean} */ function woo_discount_rule_validation(form) { let discount_type = $('.awdr-product-discount-type').val(); let wdr_filter_validations = []; let wdr_discount_validations = []; let wdr_condition_validations = []; switch (discount_type) { case 'wdr_simple_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_cart_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_free_shipping': wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_bulk_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_set_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_buy_x_get_x_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break; case 'wdr_buy_x_get_y_discount': wdr_filter_validations = wdr_filter_validation(); wdr_discount_validations = wdr_discount_validation(discount_type); wdr_condition_validations = wdr_condition_validation(); break default: case 'not_selected': break; } if (wdr_filter_validations.indexOf("fails") !== -1) { return false; } if (wdr_discount_validations.indexOf("fails") !== -1) { return false; } if (wdr_condition_validations.indexOf("fails") !== -1) { return false; } return true; } /** * Validate Filter section * @returns {[]} */ window.wdr_filter_validation = function wdr_filter_validation() { let filter_array = []; $('.wdr-filter-group').each(function (index, element) { let product_filter = $(element).find('.wdr-product-filter-type').val(); let product_filter_val = $(element).find('.awdr_validation').val(); switch (product_filter) { case 'all_products': break; case 'products': if (product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'product_category': if (product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'product_attributes': if (product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'product_tags': if (product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'product_sku': if (product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'product_on_sale': break; default: if (product_filter_val == null || product_filter_val.length == 0) { filter_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; } }); return filter_array; } /** * validate Discount section * @param discount_type * @returns {[]} */ function wdr_discount_validation(discount_type) { let discount_array = []; switch (discount_type) { case 'wdr_simple_discount': let product_discount = $('.product_discount_value').val(); if (product_discount == '' || !product_discount) { discount_array.push("fails"); $('.product_discount_value').css("border", "1px solid red"); $('.product_discount_value').focus(); } else { $('.product_discount_value').css("border", "1px solid #7e8993"); } break; case 'wdr_cart_discount': let cart_discount = $('.awdr_cart_discount_value').val(); if (cart_discount == '' || !cart_discount) { discount_array.push("fails"); $('.awdr_cart_discount_value').css("border", "1px solid red"); $('.awdr_cart_discount_value').focus(); } else { $('.awdr_cart_discount_value').css("border", "1px solid #7e8993"); } break; case 'wdr_free_shipping': break; case 'wdr_bulk_discount': $('.bulk_range_setter').find('.awdr-bulk-group').each(function (index, element) { let min_qty = $(element).find('.bulk_discount_min').val(); let max_qty = $(element).find('.bulk_discount_max').val(); let max_val = $(element).find('.bulk_discount_value').val(); if (min_qty == '' && max_qty == '') { discount_array.push("fails"); $(element).find('.bulk_discount_min').css("border", "1px solid red"); $(element).find('.bulk_discount_min').focus(); $(element).find('.bulk_discount_max').css("border", "1px solid red"); $(element).find('.bulk_discount_max').focus(); } else { $(element).find('.bulk_discount_min').css("border", "1px solid #7e8993"); $(element).find('.bulk_discount_max').css("border", "1px solid #7e8993"); } let max_val_int = parseInt(max_val); if (max_val == '' || max_val_int < 0 ) { discount_array.push("fails"); $(element).find('.bulk_discount_value').css("border", "1px solid red"); $(element).find('.bulk_discount_value').focus(); } else { $(element).find('.bulk_discount_value').css("border", "1px solid #7e8993"); } }); break; case 'wdr_set_discount': $('.set_range_setter').find('.bundle-set-range-main').each(function (index, element) { let min_qty = $(element).find('.set_discount_min').val(); let max_val = $(element).find('.set_discount_value').val(); if (min_qty == '') { discount_array.push("fails"); $(element).find('.set_discount_min').css("border", "1px solid red"); $(element).find('.set_discount_min').focus(); } else { $(element).find('.set_discount_min').css("border", "1px solid #7e8993"); } if (max_val == '') { discount_array.push("fails"); $(element).find('.set_discount_value').css("border", "1px solid red"); $(element).find('.set_discount_value').focus(); } else { $(element).find('.set_discount_value').css("border", "1px solid #7e8993"); } }); break; case 'wdr_buy_x_get_x_discount': $('.buyx_getx_range_setter').find('.buyx_getx_individual_range').each(function (index, element) { let min_qty = $(element).find('.bxgx-min').val(); let max_qty = $(element).find('.bxgx-max').val(); let free_qty = $(element).find('.bxgx-qty').val(); let select_type = $(element).find('.buyx_getx_discount_select').val(); let max_val = $(element).find('.bxgx-value').val(); if (min_qty == '' && max_qty == '') { discount_array.push("fails"); $(element).find('.bxgx-min').css("border", "1px solid red"); $(element).find('.bxgx-min').focus(); $(element).find('.bxgx-max').css("border", "1px solid red"); $(element).find('.bxgx-max').focus(); } else { $(element).find('.bxgx-min').css("border", "1px solid #7e8993"); $(element).find('.bxgx-max').css("border", "1px solid #7e8993"); } if ($(element).find('.awdr-bogo-recurcive').prop("checked") == true) { if (min_qty == '') { discount_array.push("fails"); $(element).find('.bxgx-min').css("border", "1px solid red"); $(element).find('.bxgx-min').focus(); } else { $(element).find('.bxgx-min').css("border", "1px solid #7e8993"); } } if (free_qty == '') { discount_array.push("fails"); $(element).find('.bxgx-qty').css("border", "1px solid red"); $(element).find('.bxgx-qty').focus(); } else { $(element).find('.bxgx-qty').css("border", "1px solid #7e8993"); } if (select_type != 'free_product' && max_val == '') { discount_array.push("fails"); $(element).find('.bxgx-value').css("border", "1px solid red"); $(element).find('.bxgx-value').focus(); } else { $(element).find('.bxgx-value').css("border", "1px solid #7e8993"); } }); break; case 'wdr_buy_x_get_y_discount': let bxgy_type = $('.select_bxgy_type').val(); $('.awdr_buyx_gety_range_setter').find('.buyx_gety_individual_range').each(function (index, element) { let min_qty = $(element).find('.bxgy-min').val(); let max_qty = $(element).find('.bxgy-max').val(); let product_qty = $(element).find('.bxgy-product-selector').val(); let category_qty = $(element).find('.bxgy-category-selector').val(); let free_qty = $(element).find('.bxgy-qty').val(); let select_type = $(element).find('.buyx_gety_discount_select').val(); let max_val = $(element).find('.bxgy-val').val(); if (bxgy_type == 'bxgy_product') { if (product_qty.length == 0) { discount_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } } else if (bxgy_type == 'bxgy_category') { if (category_qty.length == 0) { discount_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } } else if (bxgy_type == 'bxgy_collection') { let collections = $(element).find('.bxgy-collection-selector').val(); if (collections.length == 0) { discount_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } } else if (bxgy_type == '0' || !bxgy_type) { discount_array.push("fails"); $('.select_bxgy_type').css("border", "1px solid red"); $('.select_bxgy_type').focus(); } else { $('.select_bxgy_type').css("border", "1px solid #7e8993"); } if (min_qty == '' && max_qty == '') { discount_array.push("fails"); $(element).find('.bxgy-min').css("border", "1px solid red"); $(element).find('.bxgy-min').focus(); $(element).find('.bxgy-max').css("border", "1px solid red"); $(element).find('.bxgy-max').focus(); } else { $(element).find('.bxgy-min').css("border", "1px solid #7e8993"); $(element).find('.bxgy-max').css("border", "1px solid #7e8993"); } if ($(element).find('.awdr-bogo-recurcive').prop("checked") == true) { if (min_qty == '') { discount_array.push("fails"); $(element).find('.bxgy-min').css("border", "1px solid red"); $(element).find('.bxgy-min').focus(); } else { $(element).find('.bxgy-min').css("border", "1px solid #7e8993"); } } if (free_qty == '') { discount_array.push("fails"); $(element).find('.bxgy-qty').css("border", "1px solid red"); $(element).find('.bxgy-qty').focus(); } else { $(element).find('.bxgy-qty').css("border", "1px solid #7e8993"); } if (select_type != 'free_product' && max_val == '') { discount_array.push("fails"); $(element).find('.bxgy-val').css("border", "1px solid red"); $(element).find('.bxgy-val').focus(); } else { $(element).find('.bxgy-val').css("border", "1px solid #7e8993"); } }); break default: case 'not_selected': discount_array.push("fails"); break; } return discount_array; } function wdr_condition_validation() { let condition_array = []; $('.wdr-condition-group').each(function (index, element) { let condition_type = $(element).find('.wdr-product-condition-type').val(); if (typeof condition_type !== 'undefined') { switch (condition_type) { case 'cart_subtotal': let sub_total = $(element).find('.float_only_field').val(); if (sub_total == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'cart_items_quantity': let item_qty = $(element).find('.float_only_field').val(); if (item_qty == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'cart_coupon': let coupon_type = $(element).find('.wdr_copon_type').val(); let custom_coupon = $(element).find('.coupon_name_msg').val(); let wc_coupon_val = $(element).find('#rm-coupon').val(); if (coupon_type == 'custom_coupon') { if (custom_coupon == '') { condition_array.push("fails"); $(element).find('.coupon_name_msg').css("border", "1px solid red"); $(element).find('.coupon_name_msg').focus(); } else { $(element).find('.coupon_name_msg').css("border", "1px solid #7e8993"); } } else { if (!wc_coupon_val) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } } break; case 'cart_items_weight': let item_weight = $(element).find('.float_only_field').val(); if (item_weight == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'cart_payment_method': let wc_payment_gateway = $(element).find('.select2-hidden-accessible').val(); if (wc_payment_gateway.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'cart_line_items_count': let line_item_count = $(element).find('.float_only_field').val(); if (line_item_count == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'cart_item_product_attributes': let wc_attributes = $(element).find('.awdr-attribute-validation').val(); let attribute_qty = $(element).find('.awdr-num-validation').val(); if (wc_attributes.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (attribute_qty == '') { condition_array.push("fails"); $(element).find('.awdr-num-validation').css("border", "1px solid red"); $(element).find('.awdr-num-validation').focus(); } else { $(element).find('.awdr-num-validation').css("border", "1px solid #7e8993"); } break; case 'cart_item_product_category': let wc_category = $(element).find('.awdr-category-validation').val(); let category_qty = $(element).find('.awdr-num-validation').val(); if (wc_category.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (category_qty == '') { condition_array.push("fails"); $(element).find('.awdr-num-validation').css("border", "1px solid red"); $(element).find('.awdr-num-validation').focus(); } else { $(element).find('.awdr-num-validation').css("border", "1px solid #7e8993"); } break; case 'cart_item_product_combination': let wc_product = $(element).find('.awdr-product-validation').val(); let min_qty = $(element).find('.product_from_qty').val(); let max_qty = $(element).find('.product_to_qty').val(); let combination_operator = $(element).find('.combination_operator').val(); if (wc_product.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (combination_operator == 'in_range') { if (min_qty == '' && max_qty == '') { condition_array.push("fails"); $(element).find('.product_from_qty').css("border", "1px solid red"); $(element).find('.product_from_qty').focus(); $(element).find('.product_to_qty').css("border", "1px solid red"); $(element).find('.product_to_qty').focus(); } else { $(element).find('.product_from_qty').css("border", "1px solid #7e8993"); $(element).find('.product_to_qty').css("border", "1px solid #7e8993"); } } else { if (min_qty == '') { condition_array.push("fails"); $(element).find('.product_from_qty').css("border", "1px solid red"); $(element).find('.product_from_qty').focus(); } else { $(element).find('.product_from_qty').css("border", "1px solid #7e8993"); } } break; case 'cart_item_product_sku': let wc_sku = $(element).find('.awdr-sku-validation').val(); let sku_qty = $(element).find('.awdr-num-validation').val(); if (wc_sku.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (sku_qty == '') { condition_array.push("fails"); $(element).find('.awdr-num-validation').css("border", "1px solid red"); $(element).find('.awdr-num-validation').focus(); } else { $(element).find('.awdr-num-validation').css("border", "1px solid #7e8993"); } break; case 'cart_item_product_tags': let wc_tags = $(element).find('.awdr-tag-validation').val(); let tag_qty = $(element).find('.awdr-num-validation').val(); if (wc_tags.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (tag_qty == '') { condition_array.push("fails"); $(element).find('.awdr-num-validation').css("border", "1px solid red"); $(element).find('.awdr-num-validation').focus(); } else { $(element).find('.awdr-num-validation').css("border", "1px solid #7e8993"); } break; case 'cart_item_products': let wc_products = $(element).find('.awdr-product-validation').val(); let product_qty = $(element).find('.awdr-num-validation').val(); if (wc_products.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (product_qty == '') { condition_array.push("fails"); $(element).find('.awdr-num-validation').css("border", "1px solid red"); $(element).find('.awdr-num-validation').focus(); } else { $(element).find('.awdr-num-validation').css("border", "1px solid #7e8993"); } break; case 'cart_item_category_combination': let wc_cat = $(element).find('.awdr-cat-validation').val(); let from_qty = $(element).find('.cat_from_qty').val(); let to_qty = $(element).find('.cat_to_qty').val(); let cat_combination = $(element).find('.cat_combination_operator').val(); if (wc_cat.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (cat_combination == 'in_range') { if (from_qty == '' && to_qty == '') { condition_array.push("fails"); $(element).find('.cat_from_qty').css("border", "1px solid red"); $(element).find('.cat_from_qty').focus(); $(element).find('.cat_to_qty').css("border", "1px solid red"); $(element).find('.cat_to_qty').focus(); } else { $(element).find('.cat_from_qty').css("border", "1px solid #7e8993"); $(element).find('.cat_to_qty').css("border", "1px solid #7e8993"); } } else { if (from_qty == '') { condition_array.push("fails"); $(element).find('.cat_from_qty').css("border", "1px solid red"); $(element).find('.cat_from_qty').focus(); } else { $(element).find('.cat_from_qty').css("border", "1px solid #7e8993"); } } break; case 'order_date': let from_date = $(element).find('.awdr-from-date').val(); let end_date = $(element).find('.awdr-end-date').val(); if (from_date == '' && end_date == '') { condition_array.push("fails"); $(element).find('.awdr-from-date').css("border", "1px solid red"); $(element).find('.awdr-from-date').focus(); $(element).find('.awdr-end-date').css("border", "1px solid red"); $(element).find('.awdr-end-date').focus(); } else { $(element).find('.awdr-from-date').css("border", "1px solid #7e8993"); $(element).find('.awdr-end-date').css("border", "1px solid #7e8993"); } break; case 'order_date_and_time': let from_date_time = $(element).find('.awdr-from-date').val(); let end_date_time = $(element).find('.awdr-end-date').val(); if (from_date_time == '' && end_date_time == '') { condition_array.push("fails"); $(element).find('.awdr-from-date').css("border", "1px solid red"); $(element).find('.awdr-from-date').focus(); $(element).find('.awdr-end-date').css("border", "1px solid red"); $(element).find('.awdr-end-date').focus(); } else { $(element).find('.awdr-from-date').css("border", "1px solid #7e8993"); $(element).find('.awdr-end-date').css("border", "1px solid #7e8993"); } break; case 'order_days': let order_days = $(element).find('.wdr_order_days').val(); if (order_days.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'order_time': let from_time = $(element).find('.wdr-from-time').val(); let end_time = $(element).find('.wdr-to-time').val(); if (from_time == '' && end_time == '') { condition_array.push("fails"); $(element).find('.wdr-from-time').css("border", "1px solid red"); $(element).find('.wdr-from-time').focus(); $(element).find('.wdr-to-time').css("border", "1px solid red"); $(element).find('.wdr-to-time').focus(); } else { $(element).find('.wdr-from-time').css("border", "1px solid #7e8993"); $(element).find('.wdr-to-time').css("border", "1px solid #7e8993"); } break; case 'purchase_last_order': let last_order = $(element).find('.wdr-wc-order-status').val(); if (last_order.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'purchase_last_order_amount': let last_order_amount_status = $(element).find('.wdr-wc-order-status').val(); let last_order_amount = $(element).find('.float_only_field').val(); if (last_order_amount_status.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (last_order_amount == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'purchase_previous_orders': let made_order_status = $(element).find('.wdr-wc-order-status').val(); let made_order_amount = $(element).find('.float_only_field').val(); if (made_order_status.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (made_order_amount == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'purchase_previous_orders_for_specific_product': let made_order_status_for_product = $(element).find('.wdr-wc-order-status').val(); let made_order_amount_for_product = $(element).find('.float_only_field').val(); let ordered_product = $(element).find('.specific_product').val(); if (ordered_product.length == 0) { condition_array.push("fails"); $(element).find('.wdr-previous-order-product-selector .select2-selection').css("border", "1px solid red"); $(element).find('.wdr-previous-order-product-selector .select2-selection').focus(); } else { $(element).find('.wdr-previous-order-product-selector .select2-selection').css("border", "1px solid #7e8993"); } if (made_order_status_for_product.length == 0) { condition_array.push("fails"); $(element).find('.wdr-previous-order-product-status .select2-selection').css("border", "1px solid red"); $(element).find('.wdr-previous-order-product-status .select2-selection').focus(); } else { $(element).find('.wdr-previous-order-product-status .select2-selection').css("border", "1px solid #7e8993"); } if (made_order_amount_for_product == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'purchase_quantities_for_specific_product': let status_for_product_qty = $(element).find('.wdr-wc-order-status').val(); let amount_for_product_qty = $(element).find('.float_only_field').val(); let product_ordered = $(element).find('.specific_product').val(); if (product_ordered.length == 0) { condition_array.push("fails"); $(element).find('.wdr-previous-order-product-selector .select2-selection').css("border", "1px solid red"); $(element).find('.wdr-previous-order-product-selector .select2-selection').focus(); } else { $(element).find('.wdr-previous-order-product-selector .select2-selection').css("border", "1px solid #7e8993"); } if (status_for_product_qty.length == 0) { condition_array.push("fails"); $(element).find('.wdr-previous-order-product-status .select2-selection').css("border", "1px solid red"); $(element).find('.wdr-previous-order-product-status .select2-selection').focus(); } else { $(element).find('.wdr-previous-order-product-status .select2-selection').css("border", "1px solid #7e8993"); } if (amount_for_product_qty == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'purchase_spent': let spent_status = $(element).find('.wdr-wc-order-status').val(); let spent_amount = $(element).find('.float_only_field').val(); if (spent_status.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (spent_amount == '') { condition_array.push("fails"); $(element).find('.float_only_field').css("border", "1px solid red"); $(element).find('.float_only_field').focus(); } else { $(element).find('.float_only_field').css("border", "1px solid #7e8993"); } break; case 'shipping_city': let shipping_city = $(element).find('.awdr-validation').val(); if (shipping_city == '') { condition_array.push("fails"); $(element).find('.awdr-validation').css("border", "1px solid red"); $(element).find('.awdr-validation').focus(); } else { $(element).find('.awdr-validation').css("border", "1px solid #7e8993"); } break; case 'shipping_country': let shipping_country = $(element).find('.get_awdr_shipping_country').val(); if (shipping_country.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'shipping_state': let shipping_state = $(element).find('.get_awdr_shipping_state').val(); let shipping_state_based_country = $(element).find('.get_awdr_state_based_country').val(); if (shipping_state.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } if (shipping_state_based_country.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'shipping_zipcode': let shipping_zipcode = $(element).find('.awdr-validation').val(); if (shipping_zipcode == '') { condition_array.push("fails"); $(element).find('.awdr-validation').css("border", "1px solid red"); $(element).find('.awdr-validation').focus(); } else { $(element).find('.awdr-validation').css("border", "1px solid #7e8993"); } break; case 'Billing_city': let Billing_city = $(element).find('.awdr-validation').val(); if (Billing_city == '') { condition_array.push("fails"); $(element).find('.awdr-validation').css("border", "1px solid red"); $(element).find('.awdr-validation').focus(); } else { $(element).find('.awdr-validation').css("border", "1px solid #7e8993"); } break; case 'user_email': let user_email = $(element).find('.awdr-validation').val(); if (user_email == '') { condition_array.push("fails"); $(element).find('.awdr-validation').css("border", "1px solid red"); $(element).find('.awdr-validation').focus(); } else { $(element).find('.awdr-validation').css("border", "1px solid #7e8993"); } break; case 'user_list': let user_list = $(element).find('.wdr_user_list').val(); if (user_list.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; case 'user_role': let user_role = $(element).find('.wdr_user_role').val(); if (user_role.length == 0) { condition_array.push("fails"); $(element).find('.select2-selection').css("border", "1px solid red"); $(element).find('.select2-selection').focus(); } else { $(element).find('.select2-selection').css("border", "1px solid #7e8993"); } break; } } }); return condition_array; } /** * save default configuration settings */ $('#configuration-form').submit(function (e) { e.preventDefault(); /* $("#awdr_banner_editor-html").click(); $("#awdr_banner_editor-tmce").click(); let awdr_banner_editer = $('#awdr_banner_editor').val();*/ /*$('.customize_banner_content').val(awdr_banner_editer);*/ let values = $(this).serialize(); let loader = $('.woo_discount_loader'); /* values += "&banner_content=" + awdr_banner_editer;*/ $.ajax({ data: values, type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (response) { switch (response.data.save_popup ){ case 'alert_in_popup': if (response.data.save_popup == "alert_in_popup" && response.data.security_pass == "passed") { $('.awdr-save-green').show(); setTimeout( function () { $('.awdr-save-green').fadeOut(500); window.location.replace(wdr_data.admin_url+'&tab=settings'); }, 2000 ); }else if(response.data.save_popup == "alert_in_popup" && response.data.security_pass == "fails"){ $('.awdr-error-red').show(); setTimeout( function () { $('.awdr-error-red').fadeOut(500); window.location.replace(wdr_data.admin_url+'&tab=settings'); }, 2000 ); } break; case 'alert_in_normal': if (response.data.save_popup == "alert_in_normal" && response.data.security_pass == "passed") { notify(wdr_data.localization_data.save_settings, 'success', alert_counter); setTimeout( function () { window.location.replace(wdr_data.admin_url+'&tab=settings'); }, 1000 ); }else if(response.data.save_popup == "alert_in_normal" && response.data.security_pass == "fails"){ notify(wdr_data.localization_data.error, 'error', alert_counter); setTimeout( function () { window.location.replace(wdr_data.admin_url+'&tab=settings'); }, 1000 ); } break; default: $('.awdr-error-red').show(); notify(wdr_data.localization_data.error, 'error', alert_counter); setTimeout( function () { $('.awdr-error-red').fadeOut(500); window.location.replace(wdr_data.admin_url+'&tab=settings'); }, 1000 ); break; } } }); }); /** * save default configuration settings */ $('#awdr_advanced_configuration_form').submit(function (e) { e.preventDefault(); let values = $(this).serialize(); let loader = $('.woo_discount_loader'); $.ajax({ data: values, type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (response) { if (response.data.security_pass == "passed") { $('.awdr-save-green').show(); setTimeout( function () { $('.awdr-save-green').fadeOut(500); window.location.replace(wdr_data.admin_url+'&tab=advanced_section'); }, 2000 ); }else if(response.data.security_pass == "fails"){ $('.awdr-error-red').show(); setTimeout( function () { $('.awdr-error-red').fadeOut(500); window.location.replace(wdr_data.admin_url+'&tab=advanced_section'); }, 2000 ); } } }); }); /** * Save and Close settings */ $(document).on('click', '.bulk-table-customized-setting', function () { $('input[name=customizer_save_alert]').val('1'); $(".save-configuration-submit").click(); }); $('#sort_customizable_table').dragtable({ persistState: function (table) { table.el.find('th').each(function (i) { if (this.id != '') { table.sortOrder[this.id] = i; if (this.id == 'customize-bulk-table-title') { $('.customize_bulk_table_title').val(i); } else if (this.id == 'customize-bulk-table-discount') { $('.customize_bulk_table_discount').val(i); } else if (this.id == 'customize-bulk-table-range') { $('.customize_bulk_table_range').val(i); } } }); } }); /** * Display page bulk action on top */ $('#wdr-bulk-action-top').submit(function (e) { e.preventDefault(); if ($('input[name="saved_rules[]"]:checked').length > 0) { let action = $('#bulk-action-selector-top').val(); let result; if (action == 'enable') { result = confirm("Are you sure to enable the selected rules?"); } else if (action == 'disable') { result = confirm("Are you sure to disable the selected rules?"); } else if (action == 'delete') { result = confirm("Are you sure to delete the selected rules?"); } else { return false; } if (result == false) { return false; } } else { return false; } let loader = $('.woo_discount_loader'); $.ajax({ data: $(this).serialize(), type: 'post', url: ajaxurl, beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { if (data.disable == 'disabled') { notify(wdr_data.localization_data.disabled_rule, 'success', alert_counter); } else if (data.enable == 'enabled') { notify(wdr_data.localization_data.enabled_rule, 'success', alert_counter); } else if (data.delete == 'deleted') { notify(wdr_data.localization_data.deleted_rule, 'success', alert_counter); } else { notify(wdr_data.localization_data.error, 'error', alert_counter); } redirectParams(); } }); }); /** * Display page search action on top */ $(document).on("submit", "#wdr-search-top", function (e) { e.preventDefault(); redirectParams({name: $('#awdr-name').val(),page_no: 1}); }); /** * Display page limit action on top */ $(document).on('click', '#awdr_limit', function(e) { e.preventDefault(); redirectParams({limit: $(this).val()}); }); /** * Display page order action on heading */ $(document).on('click', '#awdr_re_order', function (e) { e.preventDefault(); var params = new URLSearchParams(window.location.search).get('re_order'); var default_sort = $('#page_sort').val(); if (params == 0 && default_sort == 0 || params == null && default_sort == 0){ redirectParams({re_order: 1}); } else { redirectParams({re_order: 0}); } }); /** * Display pagination input field */ $(document).on('keyup', '.current-page',function(event) { if (event.keyCode === 13) { redirectParams({page_no: $(this).val()}); } }); /** * Get current url and redirect page */ function redirectParams(args = {}){ var params = new URLSearchParams(window.location.search); ['name','page_no','limit'].forEach(function (key){ if (key in args) { if (!args[key]) { delete args[key]; } } else { let url_value = params.get(key) if (url_value){ args[key] = url_value } } }) var redirectUrl = wdr_data.admin_url + '&' + $.param(args); window.location.replace(redirectUrl); } /** * Number Validation * float only */ $(document).on("keypress keyup blur", ".float_only_field", function (event) { $(this).val($(this).val().replace(/[^0-9\.]/g, '')); if ((event.which !== 46 || $(this).val().indexOf('.') !== -1) && (event.which < 48 || event.which > 57)) { event.preventDefault(); } }); /** * Number only */ $(document).on("keypress keyup blur", ".number_only_field", function (event) { if ((event.which < 48 || event.which > 57)) { event.preventDefault(); } }); /** * Initialize date pickers in document ready */ $('[data-class="start_dateonly"]').datetimepicker({ timepicker: false, format: 'Y-m-d', onShow: function (ct, el) { let end_el = $(el).closest('form').find('[data-class="end_dateonly"]'); if (end_el.length !== 1) { end_el = $('[data-class="end_dateonly"]') } this.setOptions({ maxDate: end_el.val() ? end_el.val() : false }) }, }); $('[data-class="end_dateonly"]').datetimepicker({ timepicker: false, format: 'Y-m-d', onShow: function (ct, el) { let start_el = $(el).closest('form').find('[data-class="start_dateonly"]'); if (start_el.length !== 1) { start_el = $('[data-class="start_dateonly"]') } this.setOptions({ minDate: start_el.val() ? start_el.val() : false }) }, }); $('[data-class="start_datetimeonly"]').datetimepicker({ timepicker: true, format: 'Y-m-d H:i', onShow: function (ct) { this.setOptions({ maxDate: $('[data-class="end_datetimeonly"]').val() ? $('[data-class="end_datetimeonly"]').val() : false }) }, }); $('[data-class="end_datetimeonly"]').datetimepicker({ timepicker: true, format: 'Y-m-d H:i', onShow: function (ct) { this.setOptions({ minDate: $('[data-class="start_datetimeonly"]').val() ? $('[data-class="start_datetimeonly"]').val() : false }) }, }); $('.wdr_time_picker').datetimepicker({ datepicker: false, format: 'H:i' }); /** * bulk discount * hide and show the selected category */ $(document).on('change', '.wdr-bulk-type', function () { var bulk_type = $(this).val(); if (bulk_type == 'product_selected_categories') { $('.wdr-bulk-cat-selector').show(); } else { // $('.wdr-bulk-cat-selector').hide().find('#rm-category option:selected').remove(); $('.wdr-bulk-cat-selector').hide(); } }); /** * alert notification * @param message * @param type * @param alert_counter */ function notify(message, type = "success", alert_counter = null) { switch (type) { case "error": var class_name = "wdr-alert-error"; break; case "warning": var class_name = "wdr-alert-warning"; break; default: case "success": var class_name = "wdr-alert-success"; break; } let div_id = 'wdr-notify-msg-' + alert_counter.counts; let html = ''; let notify_holder = $("#notify-msg-holder"); notify_holder.append(html); let message_div = $("#" + div_id); var notify_count = alert_counter.counts; alert_counter.counts = parseInt(notify_count) + parseInt(1); message_div.fadeIn(500); setTimeout( function () { message_div.fadeOut(500); message_div.remove(); }, 5000 ); } /** * settings * settings show hide option */ $('.settings_option_show_hide').click(function () { var show_hide_class = $(this).data("name"); if ($(this).val() == '1') { $('.' + show_hide_class).show(); if (show_hide_class == 'hide_table_position') { $('.wdr-popup-link').show(); } } else { $('.' + show_hide_class).hide(); if (show_hide_class == 'hide_table_position') { $('.wdr-popup-link').hide(); } } }); /** * show hide bulk table options */ $('.bulk_table_customizer_preview').click(function () { var col_name = $(this).data("colname"); var show_hide = $(this).data("showhide"); if (show_hide == 'show') { $('.' + col_name).show(); } else { $('.' + col_name).hide(); } }); /** * settings * You saved text show hide option */ $('.settings_option_show_hide_on_change').change(function () { if ($(this).val() == 'disabled') { $('.display_you_saved_text').hide(); } else { $('.display_you_saved_text').show(); } }); /** * rules listing page * select and unselect the checkbox for bulk action */ $(document).on('change', '.wdr-rules-select', function () { var bulk_selector = $(".wdr-rules-select"); var selectable = $(this).val(); if (selectable == 'off') { bulk_selector.val('on'); $(".wdr-rules-selector").prop('checked', true); } else if (selectable == 'on') { bulk_selector.val('off'); $(".wdr-rules-selector").prop('checked', false); } }); /** * check all selected checkbox and check bulk action checkbox */ $(document).on('change', '.wdr-rules-selector', function () { var bulk_selector = $(".wdr-rules-select"); var totalCheckboxes = $('.wdr-ruleboard ' + 'input:checkbox').length; var numberOfChecked = $('.wdr-ruleboard ' + 'input:checkbox:checked').length; if (totalCheckboxes == numberOfChecked) { bulk_selector.val('on'); bulk_selector.prop('checked', true); } else if (totalCheckboxes != numberOfChecked) { bulk_selector.val('off'); bulk_selector.prop('checked', false); } }); /** * Sticky Header */ /* window.onscroll = function () { stickyHeader(); };*/ var header = document.getElementById("ruleHeader"); function stickyHeader() { if (header != null) { var sticky = header.offsetTop; if (window.pageYOffset > sticky) { header.classList.add("wdr-sticky"); } else { header.classList.remove("wdr-sticky"); } } } /** * sorting rule priority */ var isMobile = false; if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { isMobile = true; } $(document).ready(function(){ sortableRuleTable(); }) function sortableRuleTable(){ var sort = new URLSearchParams(window.location.search).get('re_order'); var default_sort = $('#page_sort').val(); if (sort == 1 || default_sort == 1){ desktopDrogAndDrop(); $( "#sortable" ).sortable("enable"); $(".dashicons-menu").css({'color':'black'}); $(".awdr-listing-rule-tr").css({'color':'black'}); $(".wdr-ruleboard").css({'cursor':'move'}); } else { $( "#sortable" ).sortable({ disabled: true }); $(".dashicons-menu").css({'color':'darkgray'}); } } function desktopDrogAndDrop(){ var prev_id = 0; var prev_priority = 0 ; let loader = $('.woo_discount_loader'); $("#sortable").sortable({ delay: 150, start: function(event, ui) { prev_priority = ui.item.attr('data-priority'); }, update: function (event, ui) { if (ui.originalPosition.top - ui.offset.top < 0) { var item = ui.item.prev(); } else { var item = ui.item.next(); } var new_priority = item.attr('data-priority'); var data = { drag_position: prev_priority, drop_position: new_priority, }; if (new_priority > 0 && prev_priority > 0){ updatePriorityOrder(data); loader.show(); } } }); } function responsiveDrogAndDrop(){ $('#sortable').sortable({ handle: ".awdr-sortable-handle", delay: 150, start: function(event, ui) { var prev_id = ui.item.attr('id'); var prev_priority = ui.item.attr('data-priority'); if (prev_id && prev_priority) { selectedData.push(prev_id); selectedPriority.push(prev_priority); } }, update: function (event, ui) { if (ui.originalPosition.top - ui.offset.top < 0) { var item = ui.item.prev(); } else { var item = ui.item.next(); } var new_id = item.attr('id'); var new_priority = item.attr('data-priority'); if (new_id && new_priority){ selectedData.push(new_id); selectedPriority.push(new_priority); //updatePriorityOrder(selectedData,selectedPriority); } } }); } // if($(window).width() > 1024){ // if(isMobile == true){ // // responsiveDrogAndDrop(); // }else{ // // desktopDrogAndDrop(); // } // }else{ // responsiveDrogAndDrop(); // } function updatePriorityOrder(data) { var args = {}; let loader = $('.woo_discount_loader'); var params = new URLSearchParams(window.location.search); ['re_order','name','page_no','limit'].forEach(function (key){ if (key in args) { if (!args[key]) { delete args[key]; } } else { let url_value = params.get(key) if (url_value){ args[key] = url_value } } }) $.ajax({ data: { position: data, method: 'update_priority_order', action: 'wdr_ajax', awdr_nonce: $("input[name=awdr_rule_list_nonce]").val() }, type: 'post', url: ajaxurl + '?' + $.param(args), error: function (request, error) { notify(wdr_data.localization_data.error, 'error', alert_counter); }, success: function (data) { $('.wdr_settings_container').html(data.html); sortableRuleTable(); loader.hide(); if (data === false) { notify(wdr_data.localization_data.error, 'error', alert_counter); } else { notify(wdr_data.localization_data.save_priority, 'success', alert_counter); } } }); } $("#sortable").disableSelection(); /** * read doc popup */ $(document).on('click', '.help-popup', function () { var popup_id = '#' + $(this).attr('data-id'); $(popup_id).dialog({ modal: true, closeText: '' }); }); /** * Discount Buttons Show Hide */ $(document).on('click', '.remove-clicked-discount-block', function () { var show_discount_button = $(this).data('showblock'); var remove_value = $(this).data('removeval'); var remove_option = $(this).data('removeopt'); $('.' + show_discount_button).hide(); $('.' + remove_value).removeAttr('value'); $('.' + remove_option).prop('selectedIndex', 0); $('[data-dtype=' + show_discount_button + ']').show(); if (show_discount_button == "wdr-bulk-discount") { $('.bulk_product_category_selector option:selected').remove(); $('.wdr-bulk-cat-selector').hide(); } }); /** * Advanced layout tab */ $('.wdr-btn-add-message').click(function () { wdr_buildrule.show_hide_rule_block({ showBlockId: ".wdr-advanced-layout-block", hideBlockId: '.wdr-discount-template, .wdr-filter-block', thisObject: this, }); }); var bulk_min_range_length = $('.bulk-min').length; if (bulk_min_range_length >= 2) { var min_val = $('.bulk_discount_min').val(); var max_val = $('.bulk_discount_max').val(); var discount_val = $('.bulk_discount_value').val(); if (min_val || max_val || discount_val) { $('.adv-msg-min-qty, .adv-msg-max-qty').show(); } } var bulk_min_range_length = $('.set-min').length; if (bulk_min_range_length >= 2) { var min_val = $('.set_discount_min').val(); var discount_val = $('.set_discount_value').val(); if (min_val || discount_val) { $('.adv-msg-min-qty').show(); $('.adv-msg-max-qty').hide(); } } /** * settings * table discount column show hide option */ $('.popup_table_discount_column_value').click(function () { if ($(this).val() == 1) { $('.wdr_table_discounted_value').show(); $('.wdr_table_discounted_price').hide(); } else { $('.wdr_table_discounted_value').hide(); $('.wdr_table_discounted_price').show(); } }); /** * Model popup */ $(".modal-trigger").click(function (e) { e.preventDefault(); dataModal = $(this).attr("data-modal"); $("#" + dataModal).css({"display": "block"}); // $("body").css({"overflow-y": "hidden"}); //Prevent double scrollbar. }); $(".close-modal, .modal-sandbox").click(function () { $(".modal").css({"display": "none"}); // $("body").css({"overflow-y": "auto"}); //Prevent double scrollbar. }); $('#badge_colorpicker').on('change', function () { $('#badge_hexcolor').val(this.value); }); $('#badge_hexcolor').on('change', function () { $('#badge_colorpicker').val(this.value); }); $('#text_colorpicker').on('change', function () { $('#text_hexcolor').val(this.value); }); $('#text_hexcolor').on('change', function () { $('#text_colorpicker').val(this.value); }); /** * shortcode copy function * @param element */ function copyToClipboard(element) { var $temp = $(""); $("body").append($temp); $temp.val($(element).text()).select(); document.execCommand("copy"); $temp.remove(); } /** * Shortcode copy event */ $('#awdr_shortcode_copy_btn').on('click', function () { copyToClipboard("#awdr_shortcode_text"); var btn = $(this); btn.html(wdr_data.localization_data.copied); setTimeout( function () { btn.html(wdr_data.localization_data.copy_shortcode); }, 2000 ); }); /** * Woocommerce Tooltip event */ function awdr_trigger_woocommerce_tooltip() { $('.tips, .help_tip, .woocommerce-help-tip').tipTip({ 'attribute': 'data-tip', 'fadeIn': 50, 'fadeOut': 50, 'delay': 200 }); } awdr_trigger_woocommerce_tooltip(); /** * Change Title text dynamically in cuztomizer table */ $('.awdr_popup_col_name_text_box').keyup(function () { var column_text = $(this).val(); var column_class = $(this).data("keyup"); $('.' + column_class).html(column_text); }); $('.awdr_popup_col_name_text_box').blur(function () { var column_text = $(this).val(); var column_class = $(this).data("keyup"); $('.' + column_class).html(column_text); }); /** * Show/Hide apply discount subsequently row in settings tab */ $('.apply_product_and_cart_discount_to').change(function () { let subsequent_class = $(this).data("subsequent"); if ($(this).val() == 'all') { $('.' + subsequent_class).show(); } else { $('.' + subsequent_class).hide(); } }); /** * Bogo Discount Type */ $(document).on('change', '.awdr-bogo-discount-type', function () { let get_bogo_free_type = $(this).val(); let get_bogo_free_type_parent = $(this).attr('data-parent'); let get_bogo_free_type_siblings = $(this).attr('data-siblings'); switch (get_bogo_free_type) { case 'flat': $(this).parent('.' + get_bogo_free_type_parent).siblings('.' + get_bogo_free_type_siblings).show(); $(this).parent('.' + get_bogo_free_type_parent).siblings('.' + get_bogo_free_type_siblings).find('.wdr_desc_text').text(wdr_data.localization_data.buyx_getx_value); break; case 'percentage': $(this).parent('.' + get_bogo_free_type_parent).siblings('.' + get_bogo_free_type_siblings).show(); $(this).parent('.' + get_bogo_free_type_parent).siblings('.' + get_bogo_free_type_siblings).find('.wdr_desc_text').text(wdr_data.localization_data.buyx_getx_percentage); break; case 'free_product': default: $(this).parent('.' + get_bogo_free_type_parent).siblings('.' + get_bogo_free_type_siblings).hide(); } }); $(document).on('change', '.awdr-bogo-recurcive', function () { let get_bogo_range_parent = $(this).attr('data-recursive-row'); let get_recursive_parent = $(this).attr('data-recursive-parent'); let hide_if_recursive = $(this).attr('data-hide-add-range'); let bogo_max_range = $(this).attr('data-bogo-max-range'); let bogo_min_range = $(this).attr('data-bogo-min-range'); let bogo_border_bottom = $(this).attr('data-bogo-border'); let recursive_length = $('.' + get_bogo_range_parent).length; let parant_ranges_row_button = $(this).attr('data-ranges-row-parent'); if ($(this).prop("checked") == false) { $(this).parents('.' + parant_ranges_row_button).siblings('.' + hide_if_recursive).show(); if(bogo_max_range != ''){ $(this).parents('.' + get_recursive_parent).siblings('.' + bogo_max_range).show(); $(this).parents('.' + get_recursive_parent).siblings().find('.' + bogo_max_range).show(); } // $('.'+bogo_max_range).show(); $(this).parents('.' + get_recursive_parent).siblings('.' + bogo_min_range).find('.wdr_desc_text').text(wdr_data.localization_data.recursive_min_qty); $('.' + bogo_border_bottom).css("border-bottom", "1px solid #ddd"); return; } if (recursive_length > 3) { let isRecursive = confirm(wdr_data.localization_data.recursive_warning); if (isRecursive) { $(this).parents('.' + get_bogo_range_parent).siblings().remove(); } else { $(this).prop("checked", false); } } if ($(this).prop("checked") == true) { $(this).parents('.' + parant_ranges_row_button).siblings('.' + hide_if_recursive).hide(); if(bogo_max_range != ''){ $(this).parents('.' + get_recursive_parent).siblings('.' + bogo_max_range).hide(); $(this).parents('.' + get_recursive_parent).siblings().find('.' + bogo_max_range).hide(); } //$('.'+bogo_max_range).hide(); $(this).parents('.' + get_recursive_parent).siblings('.' + bogo_min_range).find('.wdr_desc_text').text(wdr_data.localization_data.recursive_qty); $('.' + bogo_border_bottom).css("border-bottom", "unset"); } }); $(document).on('change', '.awdr_mode_of_operator', function () { let mode_of_operator = $(this).val(); let discount_type = $('.awdr-product-discount-type').val(); if (discount_type == 'wdr_buy_x_get_y_discount') { if (mode_of_operator == "variation") { $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_variants_discount_description_tool_tip); $('.awdr-example').html(wdr_data.localization_data.mode_variation_cumulative_example); } else if (mode_of_operator == "product") { $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_individual_product_discount_description_tool_tip); $('.awdr-example').html(''); } else { $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_filter_together_discount_description_tool_tip); $('.awdr-example').html(''); } return; } if (mode_of_operator == "variation") { $('.awdr-discount-content').html(wdr_data.localization_data.bulk_variants_discount_description); $('.awdr-example').html(wdr_data.localization_data.mode_variation_cumulative_example); } else if (mode_of_operator == "product") { $('.awdr-discount-content').html(wdr_data.localization_data.bulk_individual_product_discount_description); $('.awdr-example').html(''); } else { $('.awdr-discount-content').html(wdr_data.localization_data.bulk_filter_together_discount_description); $('.awdr-example').html(''); } }); $(document).on('change', '.awdr-product-discount-type', function () { $('.awdr-example').html(''); var data_placement = $(this).data('placement'); let discount_type = $(this).val(); let read_doc_prefix = 'awdr_doc_'; switch (discount_type) { case 'wdr_simple_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_cart_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_free_shipping': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_bulk_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_set_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_buy_x_get_x_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; case 'wdr_buy_x_get_y_discount': $('.' + read_doc_prefix + discount_type).show(); $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount').hide(); break default: case 'not_selected': $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide(); break; } if ($(this).val() != "not_selected" && $(this).val() != 'wdr_free_shipping') { wdr_buildrule.wdr_clone_field({ addFilterMethod: '.' + $(this).val(), ruleAppendTo: '.' + data_placement, addDiscountType: 'enable', }); if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); $(".calculate_cart_from option[value='from_filter']").show(); $('.adv-msg-discount, .adv-msg-discount-price').show(); $('.awdr-hidden-new-rule').fadeIn(500); $('.awdr-filter-section').fadeIn(500); $("button.wdr_save_stay, button.wdr_save_close").attr("disabled", false).removeClass("wdr_save_btn_disabled"); make_wdr_select2_search($('.' + data_placement).find('[data-field="autocomplete"]')); $('.awdr-discount-container').show(); $('.' + data_placement).find('.bulk_range_setter_group').addClass('bulk_range_setter').attr('id', 'bulk_adjustment_sortable'); $('.' + data_placement).find('.set_range_setter_group').addClass('set_range_setter').attr('id', 'bulk_adjustment_sortable'); if($(window).width() > 1024){ if(isMobile == true){ $('#bulk_adjustment_sortable').sortable({ handle: ".awdr-sortable-handle", }); }else{ $('#bulk_adjustment_sortable').sortable(); } }else{ $('#bulk_adjustment_sortable').sortable({ handle: ".awdr-sortable-handle", }); } $("#bulk_adjustment_sortable").disableSelection(); $('.awdr-filter-heading').html(wdr_data.localization_data.common_filter_heading); $('.awdr-filter-content').html(wdr_data.localization_data.common_filter_description); $('.awdr-discount-heading').html(wdr_data.localization_data.common_discount_heading); $('.awdr-discount-content').html(wdr_data.localization_data.common_discount_description); $('.awdr-rules-content').html(wdr_data.localization_data.common_rules_description); if ($(this).val() == 'wdr_buy_x_get_y_discount') { if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); //$('.awdr_mode_of_operator').trigger('change'); $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_bxgy_discount_heading); make_wdr_select2_search($('.' + data_placement).find('[data-list="product_category"]')); $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').hide(); } if ($(this).val() == 'wdr_buy_x_get_x_discount') { if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').hide(); } if ($(this).val() == 'wdr_bulk_discount') { if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_bulk_discount_heading); $('.awdr_mode_of_operator').trigger('change'); $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').show(); } else if ($(this).val() == 'wdr_set_discount') { if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); $('.awdr_mode_of_operator').trigger('change'); $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_set_discount_heading); $('.adv-msg-min-qty, .adv-msg-discount, .adv-msg-discount-price').show(); $('.adv-msg-max-qty').hide(); } } else if ($(this).val() == 'wdr_free_shipping') { $('.awdr-free-shipping-special-condition').removeClass('wdr-hide'); $('.awdr-hidden-new-rule').fadeIn(500); $('.awdr-filter-section').fadeOut(); $("button.wdr_save_stay, button.wdr_save_close").attr("disabled", false).removeClass("wdr_save_btn_disabled"); $('.' + data_placement).html(''); $('.awdr-discount-container').hide(); $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').hide(); $(".calculate_cart_from option[value='from_filter']").hide(); } else { if (!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")) { $('.awdr-free-shipping-special-condition').addClass('wdr-hide'); } awdrRemoveOnSaleCondition(); $("button.wdr_save_stay, button.wdr_save_close").attr("disabled", true).addClass("wdr_save_btn_disabled"); $('.awdr-hidden-new-rule').fadeOut(500); } $(this).trigger("advanced_woo_discount_rules_on_change_adjustment_type", [$(this).val()]); }); $(".awdr-product-discount-type").trigger('change'); function awdrRemoveOnSaleCondition() { $('.wdr-condition-group').each(function (index, element) { let condition_type = $(element).find('.wdr-product-condition-type').val(); if (typeof condition_type !== 'undefined') { switch (condition_type) { case 'cart_item_product_onsale': $(this).remove(); break; } } }); } if (wdr_data.rule_id == "view") { $("button.wdr_save_stay, button.wdr_save_close").attr("disabled", false).removeClass("wdr_save_btn_disabled"); } else { $("button.wdr_save_stay, button.wdr_save_close").attr("disabled", true).addClass("wdr_save_btn_disabled"); } $(document).on('change', '.apply_fee_coupon_checkbox', function () { if ($(this).prop("checked") == true) { $(this).parents('.awdr_rtl_compatible').siblings('.apply_fee_coupon_label').show(); } else { $(this).parents('.awdr_rtl_compatible').siblings('.apply_fee_coupon_label').hide(); } }); $(document).on('change', '.bulk_table_customizer_show_hide_column', function () { var col_name = $(this).data("colname"); if ($(this).prop("checked") == true) { $('.' + col_name).show(); } else { $('.' + col_name).hide(); } }); var acc = document.getElementsByClassName("awdr-accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function (e) { e.preventDefault(); this.classList.toggle("awdr-accordion-active"); var panel = this.nextElementSibling; if (panel.style.display === "block") { /// panel.style.display = "none"; $(panel).slideUp(1000); } else { $(panel).slideDown(1000); ///panel.style.display = "block"; } }); } $(document).on('change', '.on_sale_badge_condition', function () { if ($(this).val() === 'disabled') { $('.sale_badge_toggle').hide(); $('.sale_badge_customizer,.sale_badge_percentage_customizer').hide(); } else { $('.sale_badge_toggle').show(); if ($('#customize_on_sale_badge').prop("checked") == true) { $('.sale_badge_customizer').show(); $('.display_percentage_on_sale_badge_con').show(); } else { $('.sale_badge_customizer').hide(); $('#display_percentage_on_sale_badge').prop('checked', false).trigger('change'); $('.display_percentage_on_sale_badge_con').hide(); } if ($('#display_percentage_on_sale_badge').prop("checked") == true) { $('.sale_badge_percentage_customizer').show(); } else { $('.sale_badge_percentage_customizer').hide(); } } }); $(document).on('change', '#customize_on_sale_badge', function () { if ($(this).prop("checked") == true) { $('.sale_badge_customizer').show(); $('.display_percentage_on_sale_badge_con').show(); } else { $('.sale_badge_customizer').hide(); $('#display_percentage_on_sale_badge').prop('checked', false).trigger('change'); $('.display_percentage_on_sale_badge_con').hide(); } }); $(document).on('change', '#display_percentage_on_sale_badge', function () { if ($(this).prop("checked") == true) { $('.sale_badge_percentage_customizer').show(); } else { $('.sale_badge_percentage_customizer').hide(); } }); $(document).on('change', '#badge_colorpicker', function () { let background_color = $(this).val(); $('.awdr_admin_discount_bar').css('background-color', background_color); }); $(document).on('change', '#badge_hexcolor', function () { let background_color = $(this).val(); $('.awdr_admin_discount_bar').css('background-color', background_color); }); $(document).on('change', '#text_colorpicker', function () { let text_color = $(this).val(); $('.awdr_admin_discount_bar').css('color', text_color); }); $(document).on('change', '#text_hexcolor', function () { let text_color = $(this).val(); $('.awdr_admin_discount_bar').css('color', text_color); }); $(document).on('change', '#awdr_discount_bar_content', function () { let discount_bar_content = $(this).val(); $('.awdr_admin_discount_bar').html(discount_bar_content); }); $(document).on('click', '.awdr-hidden-search', function () { let search_string = $('.awdr-hidden-name').val(); let limit = $('.awdr-hidden-rule-limit').val(); $('.wdr-rule-limit-key').val(limit); $('.wdr-rule-search-key').val(search_string); $('#wdr-search-top').submit(); }); /** * Rule limit dynamic message */ $(document).on('change', '#select_usage_limits', function () { let selected_limit = $("#select_usage_limits").val(); if (selected_limit == "") { //$('.usage-limits-display').hide(); $('.awdr-rule-limit-disabled-outer .rule_limit_msg_outer').hide(); $('.awdr-rule-limit-disabled').hide(); } else { //$('.usage-limits-display').show(); var rule_applied_total = $('.awdr-used-limit-total').html(); if (selected_limit <= parseInt(rule_applied_total)) { $('.awdr-rule-limit-disabled').hide(); $('.awdr-rule-limit-disabled-outer').show(); $('.awdr-rule-limit-disabled-outer .rule_limit_msg_outer').html(wdr_data.localization_data.invalid_rule_limit); } else { $('.awdr-rule-limit-disabled').hide(); $('.awdr-rule-limit-disabled-outer').hide(); } } // awdrRuleDateValidationMessage(); }); /** * Import File validation */ $("#awdr-import-csv").on("submit", function () { var fileType = ".csv"; var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + fileType + ")$"); if (!regex.test($("#awdr-file-uploader").val().toLowerCase())) { $("#awdr-upload-response").html(wdr_data.localization_data.invalid_file_type); return false; } return true; }); $(document).on('change', '.get_awdr_state_based_country', function (){ let selected_country = $(this).val(); if(!selected_country || selected_country == '' || selected_country.length == 0){ return false; } let selected_index = $(this).parents('.wdr-conditions-container').attr('data-index'); let append_data = $(this).parents('.wdr_shipping_state_group'); let remove_data = $(this).parent().siblings('.wdr-shipping-state-value'); let loader = $('.woo_discount_loader'); let selected_state = $(this).parent().siblings('.wdr-shipping-state-value').find('.get_awdr_shipping_state').val(); var data = { action: 'wdr_ajax', method: 'get_state_details', selected_country: selected_country, selected_state: selected_state, selected_index: selected_index, awdr_nonce: $('input[name=wdr_ajax_select2]').val() || '', }; $.ajax({ url: ajaxurl, data: data, type: 'POST', beforeSend: function () { loader.show(); }, complete: function () { loader.hide(); }, success: function (response) { remove_data.remove(); append_data.append(""); run_preload_values(); }, error: function (response) { console.log('error'); } }); }); $('.get_awdr_state_based_country').trigger('change'); /*Show & hide coupon url section*/ $(document).on('change', '.wdr_copon_type', function () { var coupon_type = $(this).val(); if (coupon_type === "custom_coupon") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-one, .wdr-cart-coupon-url-all').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom').css("display", "block"); } else if (coupon_type === "at_least_one") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom, .wdr-cart-coupon-url-all').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-one').css("display", "block"); } else if (coupon_type === "all") { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom, .wdr-cart-coupon-url-one').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-all').css("display", "block"); } }); /*Copy coupon url*/ $(document).on('click', '.wdr-copy-coupon-url', function (e) { e.preventDefault(); $(this).parents('.wdr-coupon-url-group').find('input[type=url]').select(); if (document.execCommand("copy")) { $(this).html(wdr_data.localization_data.coupon_url_copied); notify(wdr_data.localization_data.coupon_url_success, 'success', alert_counter); } else { notify(wdr_data.localization_data.error, 'error', alert_counter); } }); /*Toggle coupons list*/ $(document).on('change', '.wdr-cart-coupon-url-enable', function(e) { e.preventDefault(); $(this).closest('.wdr-cart-coupon-url').find('.wdr-cart-coupon-url-lists').slideToggle(); }); /*Change custom coupon*/ $(document).on('change keyup', '.wdr-cart-coupon-value input', function () { var url = wdr_data.home_url; var input = $(this).val(); if (input !== '') { $group = ''; $group += ''; $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom').html($group); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom').css("display", "block"); } else { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-custom').css("display", "none"); } }); /*Select coupon option*/ $(document).on('change', '.wdr-cart-coupon-search select, select.wdr_copon_type', function () { var url = wdr_data.home_url; var input = $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-search select').val(); var coupon_type = $(this).parents('.wdr_cart_coupon_group').find('select.wdr_copon_type').val(); if (input.length !== 0) { if (coupon_type === "at_least_one") { $groups = ''; input.forEach(function(value) { $groups += ''; $groups += '
'; }); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-one').html($groups); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-one').css("display", "block"); } else if (coupon_type === "all") { var coupons = ''; url += "?wdr_coupon="; input.forEach(function(value) { coupons += value + ", "; url += encodeURIComponent(value) + ','; }); coupons = coupons.replace(/(^, )|(, $)/g, ""); url = url.replace(/(^,)|(,$)/g, ""); $group = ''; $group += ''; $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-all').html($group); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-all').css("display", "block"); } } else { $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-one').css("display", "none"); $(this).parents('.wdr_cart_coupon_group').find('.wdr-cart-coupon-url-all').css("display", "none"); } }); /* Re-index whling Change the discount range draggable */ $("#bulk_adjustment_sortable").on( "sortstop", function( event, ui ) { wdr_buildrule.re_index_ranges(); } ); });