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);
}
});
});