
petercawdron
Kilo Guru
Options
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 05-26-2019 05:07 PM
If you're using a variable set formatter and need to set all the variables to read only and/or hide blank values, try this in a client script
Warning: Here be jQuery dragons...
function onLoad() {
//get the window object
var win = (0,eval)('this');
console.log('%c-----------------------------------------------','color:red');
console.log('%cVariables should be read only & hidden if empty','color:red');
console.log('%c-----------------------------------------------','color:red');
//Is this user part of a group that can edit variables after the fact?
var hasRole = g_user.hasRoleExactly('u_sap_user') || g_user.hasRoleExactly('u_hr_user');
//Loop through variables
win.jQuery('[id^="ni.QS"][type!="HIDDEN"]').each(
function(index, thisVar){
//Hide if there's no value
if(g_form.getValue('variables.'+thisVar.name)==''){
g_form.setDisplay('variables.'+thisVar.name,false);
}
//Set to read only if not an exempt user
if(!hasRole){
g_form.setReadOnly('variables.'+thisVar.name,true);
}
}
);
//Look for multi-row variable sets
win.jQuery('.sc-multi-row-actions').css('visibility','hidden');
win.jQuery('.sc-table-variable-buttons').css('visibility','hidden');
//You'll need to name slushbuckets individually
win.jQuery('span[name="thisVarName"]').find('div.row').find('div.m2m_filter_container').css( 'visibility','hidden');
win.jQuery('span[name="thisVarName"]').find('div.row').find('div.form-group').css( 'visibility','hidden');
win.jQuery('div.slushbucket-top').find('select').attr('disabled',true);
}