jQuery(document).ready(function(){ var formatRepo = function(repo){ if(repo.loading) return repo.text; var markup = ''; markup += '
'; markup += '
' + repo.first_name + ' ' + repo.last_name + '
'; markup += '
'; markup += ''; return markup; }; var formatRepoSelection = function(repo){ if(repo.hasOwnProperty('first_name') && repo.hasOwnProperty('last_name')) return repo.first_name + ' ' + repo.last_name; else return repo.text; }; jQuery('#zacctmgr_allowed_woo_status_list').select2({ }); jQuery('#zacctmgr_filter_wc').select2({ placeholder: 'Filter by Account Manager', ajax: { url: ajaxurl, dataType: 'json', data: function(params){ var query = { search: params.term, action: 'search_manager' } return query; }, processResults: function(managers){ return { results: managers } }, }, minimumInputLength: 3, escapeMarkup: function(markup){ return markup; }, templateResult: formatRepo, templateSelection: formatRepoSelection, allowClear: true }); jQuery('#zacctmgr_insights_managers').select2({ placeholder: 'Select a Account Manager...', ajax: { url: ajaxurl, dataType: 'json', data: function(params){ var query = { search: params.term, action: 'search_manager' } return query; }, processResults: function(managers){ return { results: managers } }, }, minimumInputLength: 3, escapeMarkup: function(markup){ return markup; }, templateResult: formatRepo, templateSelection: formatRepoSelection }); jQuery('#zacctmgr_insights_customers').select2({ placeholder: 'Select a Customer...', ajax: { url: ajaxurl, dataType: 'json', data: function(params){ var query = { search: params.term, action: 'search_customer' } return query; }, processResults: function(customers){ return { results: customers } }, }, minimumInputLength: 3, escapeMarkup: function(markup){ return markup; }, templateResult: formatRepo, templateSelection: formatRepoSelection }); jQuery('body').on('change', 'select#zacctmgr_filter', function(){ var manager_id = jQuery(this).val(); if(!manager_id) window.location.href = '/wp-admin/admin.php?page=zacctmgr'; else window.location.href = '/wp-admin/admin.php?page=zacctmgr&manager_filter=' + manager_id; }); jQuery('body').on('change', 'select#zacctmgr_insights_customers', function(){ var customer_id = jQuery(this).val(); if(!customer_id) window.location.href = '/wp-admin/admin.php?page=zacctmgr_insights'; else window.location.href = '/wp-admin/admin.php?page=zacctmgr_insights&customer_id=' + customer_id; }); jQuery('body').on('change', 'select#zacctmgr_insights_managers', function(){ var manager_id = jQuery(this).val(); if(!manager_id) window.location.href = '/wp-admin/admin.php?page=zacctmgr_insights&tab=account_manager'; else window.location.href = '/wp-admin/admin.php?page=zacctmgr_insights&tab=account_manager&manager_id=' + manager_id; }); jQuery('#zacctmgr_edit_settings_form').submit(function(){ var length = jQuery('.zacctmgr_roles_selection:checked').length; if(length == 0){ alert("Select at least one role!"); return false; } }); jQuery('#zacctmgr_commission_new_type_select').change(function(){ var type = jQuery(this).val(); jQuery('.zacctmgr_commission_new_type_result').hide(); var id = 'zacctmgr_commission_new_type_result_' + type; jQuery('#' + id).fadeIn(300); }); jQuery('#zacctmgr_commission_existing_type_select').change(function(){ var type = jQuery(this).val(); jQuery('.zacctmgr_commission_existing_type_result').hide(); var id = 'zacctmgr_commission_existing_type_result_' + type; jQuery('#' + id).fadeIn(300); }); var timer = null; jQuery('.zacctmgr_roles_selection').change(function(){ if(timer){ clearTimeout(timer); timer = null; } var default_manager = parseInt(jQuery('#current_default_manager').val()); var roles = []; var objects = jQuery('.zacctmgr_roles_selection:checked'); if(objects.length == 0){ jQuery('#zacctmgr_default').html(''); }else{ objects.each(function (ind, obj) { roles.push(jQuery(obj).val()); }); roles = roles.join(','); var data = { action: 'get_em_users', roles } timer = setTimeout(function(){ jQuery.ajax({ url: ajaxurl, method: 'POST', data, dataType: 'json' }) .done(function(res){ if(!res || res.length == 0){ jQuery('#zacctmgr_default').html(''); }else{ var html = ''; for(var i in res){ var extra = res[i].ID == default_manager?'selected="selected"':''; html += ''; } jQuery('#zacctmgr_default').html(html); } }) }, 500); } }); });