User Tools

Site Tools


client_scripts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
client_scripts [2024/12/12 12:25] – created johnsonjohnclient_scripts [2024/12/16 06:08] (current) johnsonjohn
Line 1: Line 1:
 ======Client Scripts====== ======Client Scripts======
-----+
  
 =====Variable Field read_only FALSE===== =====Variable Field read_only FALSE=====
 <code> <code>
 g_form.setReadOnly('short_title', false); g_form.setReadOnly('short_title', false);
-<code>+</code>
  
 ----- -----
 +=====Incident=====
 +====Assigned to/Assignment group change====
 +<code>
 +function onChange(control, oldValue, newValue, isLoading, isTemplate) {
 +    if (isLoading || newValue === '') {
 +       return;
 +    }
 + 
 +    //Type appropriate comment here, and begin script below
 +     if (newValue != oldValue) {
 +             g_form.setMandatory("assigned_to",false);
 +         }  
 + }
 +</code>
 +
 +----
 +====Hightlight Caller====
 +<code>
 +function onChange(control, oldValue, newValue, isLoading) {
 + var callerLabel = $('label.incident.caller_id');
 + var callerField = $('sys_display.incident.caller_id');
 + if (!callerLabel || !callerField)
 + return;
 +
 + if (!newValue) {
 + callerLabel.setStyle({backgroundImage: ""});
 + callerField.setStyle({color: ""});
 + return;
 + }
 + g_form.getReference('caller_id', vipCallerCallback);
 +}
 +
 +function vipCallerCallback(caller) {
 + var callerLabel = $('label.incident.caller_id').down('label');
 + var callerField = $('sys_display.incident.caller_id');
 + if (!callerLabel || !callerField)
 + return;
 +
 + // define VIP flag position
 + var bgPosition = "95% 55%";
 + //If VIP and authorized security requester, set flag and mark purple
 + if ((caller.vip == 'true') && (caller.u_authorized_security_requester == 'true')) {
 + if (document.documentElement.getAttribute('data-doctype') == 'true')
 + bgPosition = "5% 45%";
 +
 + callerLabel.setStyle({backgroundImage: "url(images/icons/vip.gif)", backgroundRepeat: "no-repeat", backgroundPosition: bgPosition, paddingLeft: '30px' });
 + callerField.setStyle({color: "purple"});
 + }
 + // If only VIP, set flag and mark red
 + else if (caller.vip == 'true') {
 + if (document.documentElement.getAttribute('data-doctype') == 'true')
 + bgPosition = "5% 45%";
 +
 + callerLabel.setStyle({backgroundImage: "url(images/icons/vip.gif)", backgroundRepeat: "no-repeat", backgroundPosition: bgPosition, paddingLeft: '30px' });
 + callerField.setStyle({color: "red"});
 + }
 + // If provider and authorized security requester, mark purple
 + else if ((caller.u_snow_providers_group_member == 'true') && (caller.u_authorized_security_requester == 'true')) {
 + callerField.setStyle({color: "purple"});
 + }
 + // If only provider, mark red
 + else if (caller.u_snow_providers_group_member == 'true') {
 + callerField.setStyle({color: "red"});
 + }
 + //check for Authorized Security Request status, and make sure they're not VIP
 + //VIP supercedes ASR
 + else if ((caller.u_authorized_security_requester == 'true')&&(caller.vip == 'false')&&(caller.u_snow_providers_group_member == 'false')) {
 + callerField.setStyle({color: "blue"});
 +
 + else {
 + callerLabel.setStyle({backgroundImage: ""});
 + callerField.setStyle({color: ""});
 + }
 +}
 +</code>
 +
 +----
 +====onChange Caller Email is Empty====
 +<code>
 +function onChange(control, oldValue, newValue, isLoading, isTemplate) {
 +    if (isLoading || newValue === '') {
 +       return;
 +    }
 + 
 +     var callerDetails = g_form.getReference('caller_id',emptyCallerEmail);
 +     
 +     function emptyCallerEmail(callerDetails) {
 +         if (callerDetails.email == '') {
 +             g_form.clearMessages();
 +             g_form.addInfoMessage('Please note: Email address for the caller, '+callerDetails.name+', is empty. They will not receive email communications sent by ServiceNow.');
 +         } else {
 +             g_form.clearMessages();
 +         }
 +     }
 +    
 + }
 +</code>
 +
 +----
 +
 +====onLoad Caller Email is Empty====
 +<code>
 +function onLoad() {
 +    //Type appropriate comment here, and begin script below
 +     var callerDetails = g_form.getReference('caller_id',emptyCallerEmail);
 +     
 +     function emptyCallerEmail(callerDetails) {
 +         if (callerDetails.email == '') {
 +             g_form.addInfoMessage('Please note: Email address for the caller, '+callerDetails.name+', is empty. They will not receive email communications sent by ServiceNow.');
 +         }
 +     }
 + }
 +</code>
 +
 +----
 +
 +=====Sys_User=====
 +====Example====
 +<code>
 +function onChange(control, oldValue, newValue, isLoading) {
 + var callerLabel = $('label.incident.caller_id');
 + var callerField = $('sys_display.incident.caller_id');
 + if (!callerLabel || !callerField)
 + return;
 +
 + if (!newValue) {
 + callerLabel.setStyle({backgroundImage: ""});
 + callerField.setStyle({color: ""});
 + return;
 + }
 + g_form.getReference('caller_id', vipCallerCallback);
 +}
 +
 +function vipCallerCallback(caller) {
 + var callerLabel = $('label.incident.caller_id').down('label');
 + var callerField = $('sys_display.incident.caller_id');
 + if (!callerLabel || !callerField)
 + return;
 +
 +    //check for VIP & WFH status
 +    var bgPosition = "95% 55%";
 +    if (document.documentElement.getAttribute('data-doctype') == 'true') {
 +        bgPosition = "5% 45%";
 +    }
 +
 +    if (caller.vip == 'true') {
 + callerLabel.setStyle({backgroundImage: "url(images/icons/vip.gif)", backgroundRepeat: "no-repeat", backgroundPosition: bgPosition, paddingLeft: '30px' });
 + callerField.setStyle({color: "red"});
 + } else if (caller.u_wfh == 'true') {
 + callerLabel.setStyle({backgroundImage: "url(images/icons/ico_home.gif)", backgroundRepeat: "no-repeat", backgroundPosition: bgPosition, paddingLeft: '30px' });
 + callerField.setStyle({color: "orange"});
 + } else {
 + callerLabel.setStyle({backgroundImage: ""});
 + callerField.setStyle({color: ""});
 + }
 +}
 +</code>
 +
 +----
 +
 +=====Tasks=====
 +====Hide empty variables====
 +<code>
 +function onLoad() {
 +    //Hide all empty variables using the scratchpad object passed from 'Hide Empty Variables' business rule
 +    if(g_scratchpad.emptyVars != ''){
 +       var emptyVars = g_scratchpad.emptyVars.split(',');
 +       for(i = 0; i < emptyVars.length; i++){
 +          g_form.setDisplay('variables.' + emptyVars[i], false);
 +       }
 +    }
 + }
 +</code>
 +
 +----
 +
 +
client_scripts.1734035135.txt.gz · Last modified: 2024/12/12 12:25 by johnsonjohn