- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2022 12:40 AM
I want to use a mapping kind of thing
and store this in system property and use it in my script include to make tablename,parentfield and column name dynamic how can i achieve this
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2022 01:28 AM
Just create a property with below values
{ "task" :{"refField": "parent", "qField" : "number" }, "incident" :{"refField": "parent_incident", "qField" : "number" }, "sys_user" :{"refField": "manager", "qField" : "name" }, "problem" :{"refField": "duplicate_of", "qField" : "number" }}
call that property
var tableName = gs.getProperty('property name'); //another property which stores tablename
var propV = gs.getProperty('property_name');
var propObj = JSON.parse(propV);
Now you can use it :
propObj[tableName ].refField and propObj[tableName ].qField
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2022 09:43 PM
Ok
function getAndRunFilteredQuery(response){
var selValue = gel("filterBy").value;
var defaultQuery=getfilteredQuery();
var ajax = new GlideAjax('TreeUtil');
ajax.addParam('sysparm_name', 'getProVa');
ajax.getXMLWait();
var answer = ajax.getAnswer();
alert('value' +answer);
var strQuery;
if(answer=='incident'){ strQuery=defaultQuery+'^numberSAMEASparent_incident.number^ORparent_incidentISEMPTY';}
if(answer=='sys_user'){ strQuery=defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY';}
if(answer=='problem'){ strQuery=defaultQuery+'^numberSAMEASduplicate_of.number^ORduplicate_ofISEMPTY';}
if(answer=='task')
strQuery=defaultQuery+'^numberSAMEASparent.number^ORparentISEMPTY';
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2022 10:28 PM
This looks good. Request you to share the complete client side script. So that I can check where to make modifications to make that dynamic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2022 10:46 PM
Client script is around 800 lines of code should i share it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-30-2022 12:11 AM
CS:-
var childNodes=[];
var gform=new GlideForm();
var treeID;
var chart;
var rootElmentSelected;
var noValue='';
var count;
var PageNum;
var pagePerUser=parseInt(jq('#UsersPerPage').text());
var displayPhoto=jq('#photodisplay').text();
jq('#Treepagination').on("page", function(event, num){
PageNum=num;
var showRecordCount=(((num-1)* pagePerUser)+1) +' to '+ (num*pagePerUser) +' of '+count;
if((num*pagePerUser) > count){
showRecordCount= (((num-1)* pagePerUser)+1) +' to '+count +' of '+count;
}
jq("#content").html(showRecordCount);
var prevCount=(num-1)*pagePerUser;
var nextCount=num*pagePerUser;
if(!pageClick){
NextClick(getAndRunFilteredQuery(),prevCount,nextCount);
}
pageClick=false;
});
/*Reset Filter*/
function Reset(){
gform.clearMessages();
gel('securityConstraint').style.display="none";
document.getElementById('sys_display.filterbyLoc').value="";
document.getElementById('sys_display.MyUsers').value="";
document.getElementById('filterbyLoc').value="";
document.getElementById('MyUsers').value="";
document.getElementById('filteruserBy').value='alluser';
document.getElementById('filterBy').value='all';
document.getElementById('root').style.display ='none';
document.getElementById('pageCount').style.display='none';
document.getElementById("mycheckbox").checked=true;
document.getElementById('lookup.filterbyLoc').setAttribute("disabled","true");
document.getElementById('sys_display.MyUsers').setAttribute("disabled","true"); document.getElementById('sys_display.filterbyLoc').setAttribute("disabled","true");
document.getElementById('lookup.MyUsers').setAttribute("disabled","true");
document.getElementById('MyUsersLINKreplace').style.display= "none";
showUI();
resetRef();
}
/*Set disabled or enabled filter*/
function getHorizontalView(){
gel('securityConstraint').style.display="none";
gform.clearMessages();
/*Check for data to showcase horizontal View*/
var securityContraintMessage=gel('securityMsg').textContent;
if($j('#TreeFrame').find('[aria-selected=true] span')[0]){
if( $j('#TreeFrame').find('[aria-selected=true] span')[0].textContent.indexOf(securityContraintMessage)>=0){
gform.addErrorMessage('Please select the appropriate user');
document.getElementById("mycheckbox").checked = true;
jslog("first error message");
return false;
}
}
parentSelected={};
if(!jq('#TreeFrame').find('[aria-selected=true]')[0] && !gel("MyUsers").value ){
gform.addErrorMessage('Please select the user from list or filter dropdown to view in tree');
document.getElementById("mycheckbox").checked = true;
jslog("second error message");
return false;
}
document.getElementById('root').style.display ='none';
document.getElementById('pageCount').style.display='none';
var addclassvar = jq("#TreeFrame").addClass("chart");
var config = {
container: "#TreeFrame",
callback:{
onAfterPositionNode:function(){
if(displayPhoto)
ChangeImage();
}
},
connectors: {
type: 'step'
},
node: {
HTMLclass: 'nodeExample1',
collapsable: true,
id:'test',
stackChildren: true,
},
};
function getUserData(dataArr){
console.log('getUserData invoked.....');
var Userdata =
{ // create the actual node with the element information
text: { name: {
val:dataArr.name,
href:'/incident.do?sys_id='+dataArr.htmlid,
target:'_blank'
},
title: dataArr.title,
contact:dataArr.contact,
desc:dataArr.desc
},
image: dataArr.hasPhoto ? 'Tree_Loading.gif': dataArr.userImage ,
hasPhoto:dataArr.hasPhoto,
userImage:dataArr.userImage,
//each name in the json array you received
HTMLid: dataArr.htmlid,
collapsed: dataArr.haschild,
collapsable: false,
stackChildren: true // assigns an id used to for connecting the nodes
};
return Userdata;
}
/*get Root Element */
var ga = new GlideAjax('x_cyso_org_hierarc.HorizontalTreeUtil');
ga.addParam('sysparm_name', 'getRootUserDetails');
ga.addParam('sysparm_parent_1',gel("MyUsers").value);
if(jq('#TreeFrame').find('[aria-selected=true]')[0] && !gel("MyUsers").value){
var selectedID=jq('#TreeFrame').find('[aria-selected=true]')[0].id;
ga.addParam('sysparm_parent',selectedID);
gel("MyUsers").value=selectedID;
if(!jq('#TreeFrame').find('#'+selectedID+'_anchor')[0].textContent.split('|')[0].replace(/[0-9]/g, '')){
document.getElementById('sys_display.MyUsers').setAttribute("placeholder",noValue);
}
gel("sys_display.MyUsers").value=jq('#TreeFrame').find('#'+selectedID+'_anchor')[0].textContent.split('|')[0].replace(/[0-9]/g, '');
document.getElementById('MyUsersLINKreplace').style.visibility= 'visible';
document.getElementById("MyUsersLINKreplace").style.display='';
/*Remove diabled attribute*/
document.getElementById('sys_display.MyUsers').removeAttribute("disabled");
document.getElementById('lookup.MyUsers').removeAttribute("disabled");
gel("filteruserBy").value='user';
}
ga.getXML(userRootTree);
function userRootTree(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
console.log('golbal answer = ' + answer);
answer = JSON.parse(answer);
if(!answer[0]){
notAccessible();
return false;
}
var answeLen = answer.length;
for (var i = 0; i < answeLen; i++) {
var ceo= getUserData(answer[i]);
console.log('ceo = ' + JSON.stringify(ceo));
chart_config = [
config,
ceo,
];
}
if(chart && treeID){
chart.destroy(treeID);
}
if(answeLen>0){
chart = new Treant(chart_config, function(){
if(ceo.hasPhoto)
jq("#"+answer[0].htmlid+" img").attr('src',ceo.userImage);
});
treeID=chart.tree.id;
if(answer[0].chideCount !=0){
jq("<span class='badge' style='background-color:#1f8476'>"+answer[0].chideCount+"</span>").appendTo("#"+answer[0].htmlid+" .collapse-switch" );
}
// Check for parent record
if(answer[0].hasParent){
var jqbtn = jq("<button>", {id: "parentBtn", "class": "btn btn-primary btn-xs"});
var jqspn = jq("<span>", {id: "span1", "class": "glyphicon glyphicon-triangle-top"});
jq(jqbtn).append(jqspn);
jq("#" + answer[0].htmlid).append(jqbtn);
jqbtn.click(function(){
//////////////////////// code for parent node
var parentElementid = jq(this).closest('div').attr('id');
console.log('parentElementid = ' + parentElementid);
chart.destroy();
var glideCall = new GlideAjax('x_cyso_org_hierarc.TopHierarcy_HierarcyUtil');
glideCall.addParam('sysparm_name','AddTopHierarcy');
//glideCall.addParam('sysparm_parent','5137153cc611227c000bbd1bd8cd2007');
glideCall.addParam('sysparm_parent', parentElementid);
glideCall.getXML(callBackFunction);
function callBackFunction(response){
jslog('callBackFunction invoked........');
var answer = response.responseXML.documentElement.getAttribute("answer");
console.log('dybanic data = ' + answer);
answer = JSON.parse(answer);
chart_config = [
config,
ceo,
];
simple_chart_config = {
chart: {
container: "#TreeFrame"
},
nodeStructure: {"text":{"name":{"val":"Bud Richman","href":"/sys_user.do?sys_id=46c6f9efa9fe198101ddf5eed9adf6e7","target":"_blank"},"title":"bud.richman@example.com","contact":"","desc":"Male"},"image":"Male_Horizontal.png","hasPhoto":false,"userImage":"Male_Horizontal.png","HTMLid":"46c6f9efa9fe198101ddf5eed9adf6e7","collapsed":false,"collapsable":false,"stackChildren":true,
children:[{"text":{"name":{"val":"David Loo","href":"/sys_user.do?sys_id=5137153cc611227c000bbd1bd8cd2007","target":"_blank"},"title":"david.loo@example.com","contact":"US/Pacific","desc":"Male"},"image":"Male_Horizontal.png","hasPhoto":false,"userImage":"Male_Horizontal.png","HTMLid":"5137153cc611227c000bbd1bd8cd2007","collapsed":false,"collapsable":false,"stackChildren":true,
children:[{"text":{"name":{"val":"Bartie Hachey","href":"/sys_user.do?sys_id=e2d063c353101200ed11da86a11c0880","target":"_blank"},"title":"","contact":"","desc":""},"image":"Not_Specified_Horizontal.png","hasPhoto":false,"userImage":"Not_Specified_Horizontal.png","HTMLid":"e2d063c353101200ed11da86a11c0880","collapsed":false,"collapsable":false,"stackChildren":true}]}]}
}
var my_chart = new Treant(simple_chart_config);
}
jq("#46c6f9efa9fe198101ddf5eed9adf6e7").css('background-color','red');
/////////////////////////////////////
});
}
setToolTip(); //over functionality for Root*/
}
}
/*add childeNode*/
var $oNodes = jq('.Treant .node');
console.log($oNodes);
jq('body').on('click', '.Treant .node', function() {
var $oNode = jq(this);
console.log($oNode);
//$oNodes.removeClass( 'selected' );
//$oNode.addClass( 'selected' );
var node = $oNode[0].data.treenode;
var node_info = node;
var ga = new GlideAjax('x_cyso_org_hierarc.HorizontalTreeUtil');
ga.addParam('sysparm_name', 'addChidrentoTree');
ga.addParam('sysparm_parent_node',node.nodeHTMLid );
response = ga.getXML(function(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
console.log("child data = "+ answer);
answer = JSON.parse(answer);
if(displayPhoto){
childNodes=answer;
}
var answeLen = answer.length;
for (var i = 0; i < answeLen; i++) {
var detail = { // create the actual node with the element information
text: { name: {
val:answer[i].name,
href:'/incident.do?sys_id='+answer[i].htmlid,
target:'_blank'
},
title: answer[i].title,
contact:answer[i].contact,
desc:answer[i].desc
},
image: answer[i].hasPhoto ? 'Tree_Loading.gif': answer[i].userImage,
//each name in the json array you received
HTMLid: answer[i].htmlid,
collapsed:answer[i].haschild, // assigns an id used to for connecting the nodes
stackChildren:true
};
if(parentSelected['h-'+node.nodeHTMLid]!=1)
{
var newNode= chart.tree.addNode(node_info, detail);
}
if(jq("#"+answer[i].htmlid+" .collapse-switch span").length ==0){
if(answer[i].chideCount != 0)
jq("<span class='badge' style='background-color:#1f8476'>"+answer[i].chideCount+"</span>").appendTo("#"+answer[i].htmlid+" .collapse-switch" );
}
}
parentSelected['h-'+node.nodeHTMLid]=1;
setToolTip(); //over functionality for children
});
}); //end of onclick functionality on Node
} //end of getHorizontal function
function ChangeImage(){
for (var i = 0; i < childNodes.length; i++) {
if(childNodes[i].hasPhoto)
jq("#"+childNodes[i].htmlid+" img").attr('src',childNodes[i].userImage);
}
childNodes=[];
}
function setToolTip(){
/*onload of tree tootltip addition*/
jq(".node-contact").hover(function (e) {
var title = e.target.innerText;
jq('<div class="node-tip"></div>').html(title).appendTo('body').fadeIn('slow')
},function(){
jq('.node-tip').remove();
}).mousemove(function (e) {
var mousex = e.pageX + 20;
var mousey = e.pageY + 10;
jq('.node-tip')
.css({
top: mousey,
left: mousex
});
});
jq(".node-desc").hover(function (e) {
var title = e.target.innerText;
jq('<div class="node-tip"></div>').html(title).appendTo('body').fadeIn('slow')
},function(){
jq('.node-tip').remove();
}).mousemove(function (e) {
var mousex = e.pageX + 20;
var mousey = e.pageY + 10;
jq('.node-tip')
.css({
top: mousey,
left: mousex
});
});
jq(".node-title").hover(function (e) {
var title = e.target.innerText;
jq('<div class="node-tip"></div>').html(title).appendTo('body').fadeIn('slow')
},function(){
jq('.node-tip').remove();
}).mousemove(function (e) {
var mousex = e.pageX + 20;
var mousey = e.pageY + 10;
jq('.node-tip')
.css({
top: mousey,
left: mousex
});
});
/*Node over functionality*/
jq(".node-name").hover(function (e) {
var title = e.target.innerText;
jq('<div class="node-tip"></div>').html(title).appendTo('body').fadeIn('slow')
},function(){
jq('.node-tip').remove();
}).mousemove(function (e) {
var mousex = e.pageX + 20;
var mousey = e.pageY + 10;
jq('.node-tip')
.css({
top: mousey,
left: mousex
});
});
}
function showUI(){
document.getElementById('lookup.filterbyLoc').value= '';
document.getElementById('filterbyLoc').value = '';
document.getElementById('sys_display.filterbyLoc').value= '';
var selValue = gel("filterBy").value;
if(selValue=='all')
{
gel('sys_display.filterbyLoc').disabled=true;
document.getElementById('lookup.filterbyLoc').setAttribute("disabled","true");
document.getElementById('filterbyLocLINKreplace').style.display= "none";
}
else {
document.getElementById('sys_display.filterbyLoc').disabled=false;
document.getElementById('lookup.filterbyLoc').removeAttribute("disabled");
document.getElementById('filterbyLocLINKreplace').style.display= "none";
}
var userQuery=getfilteredQuery();
var sysUserAllLookup=gel('lookup.MyUsers');
sysUserAllLookup.setAttribute('onclick',"mousePositionSave(event); reflistOpen('MyUsers', 'is', 'incident', '', 'false','QUERY:','"+userQuery+"')");
if(selValue=='all'){
document.getElementById('sys_display.filterbyLoc').setAttribute("placeholder",noValue);
}
/*filter the users*/
var filterLookUp = gel('lookup.filterbyLoc');
if(selValue=='department')
{
filterLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'filterbyLoc', 'is', 'cmn_department', '', 'false','QUERY:active=true', '')");
deptPlaceholder();
}
if(selValue=='location'){
filterLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'filterbyLoc', 'is', 'cmn_location', '', 'false','QUERY:active=true', '')");
locationPlaceholder();
}
if(selValue=='company')
{
filterLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'filterbyLoc', 'is', 'core_company', '', 'false','QUERY:active=true', '')");
compnyPlaceholder();
}
if(selValue=='cost_center')
{
filterLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'filterbyLoc', 'is', 'cmn_cost_center', '', 'false','QUERY:active=true', '')");
costCntrPlaceholder();
}
gel('MyUsers').value="";
gel('sys_display.MyUsers').value="";
document.getElementById('MyUsersLINKreplace').style.display= "none";
if(gel('filteruserBy').value=='user'){
selectUserPlaceHolder();
}
}
function userDeptLoc(){
var selValue = gel("filterBy").value;
var sysUserLookup=gel('lookup.MyUsers');
var defaultquery=getfilteredQuery();
var strQuery=defaultquery;
if(selValue=='department'){
if(gel("filterbyLoc").value){
strQuery="department="+gel("filterbyLoc").value+"^"+defaultquery;
}
}
if(selValue=='location'){
if(gel("filterbyLoc").value){
strQuery="^location="+gel("filterbyLoc").value+"^"+defaultquery;
}
}
if(selValue=='company'){
if(gel("filterbyLoc").value){
strQuery="company="+gel("filterbyLoc").value+"^"+defaultquery;
}
}
if(selValue=='cost_center'){
if(gel("filterbyLoc").value){
strQuery="cost_center="+gel("filterbyLoc").value+"^"+defaultquery;
}
}
gel('MyUsers').value="";
gel('sys_display.MyUsers').value="";
sysUserLookup.setAttribute('onclick',"mousePositionSave(event); reflistOpen('MyUsers', 'is', '${gs.getProperty('x_cyso_org_hierarc.dropdown_value')}', '', 'false','QUERY:','"+strQuery+"')");
if(gel("filteruserBy").value=='user'){
}
}
function showUser(){
gel('sys_display.MyUsers').value="";
gel('MyUsers').value="";
var getSelectValue = gel("filteruserBy").value;
if(getSelectValue =='alluser'){
document.getElementById('sys_display.MyUsers').setAttribute("placeholder",noValue);
document.getElementById('sys_display.MyUsers').setAttribute("disabled","true");
document.getElementById('lookup.MyUsers').setAttribute("disabled","true");
document.getElementById('MyUsersLINKreplace').style.display= "none";
$j('#selectedUser').css('disabled',true);
alert('qusai');
// if(gel("filteruserBy").value=='alluser' && $[tableGr.name]=='incident'){
// strQuery=defaultQuery+'^numberSAMEASparent_incident...^ORparent_incidentISEMPTY^incident='+gel("MyUsers").value;
// }
}
else{
selectUserPlaceHolder();
document.getElementById('sys_display.MyUsers').removeAttribute("disabled");
document.getElementById('lookup.MyUsers').removeAttribute("disabled");
}
}
function showUserDetail(){
if(!document.getElementById('sys_display.MyUsers').value){
document.getElementById('sys_display.MyUsers').setAttribute("placeholder",noValue);
}
}
function RunFilter(){
$j('#treeFrame').css('border: 2px solid black');
var sysUserLookup=gel('lookup.MyUsers');
if(!gel("filterbyLoc").value && !sysUserLookup){
OnloadIframe();
}
if(!gel("MyUsers").value){
var query= getAndRunFilteredQuery();
getVerticaleUI(query);
//alert('qusai1');
}
if(gel("MyUsers").value){
getHorizontalView();
alert('dwjif');
document.getElementById("mycheckbox").checked = false;
} else {
document.getElementById("mycheckbox").checked = true;
}
}
function getVerticaleUIforUser(){
count=0;
var specuserquery= getAndRunFilteredQuery();
getVerticaleUI(specuserquery);
}
//var propertyvalue=gs.getProperty('x_cyso_org_hierarc.dropdown_value');
function getAndRunFilteredQuery(response){
var selValue = gel("filterBy").value;
var defaultQuery=getfilteredQuery();
var ajax = new GlideAjax('TreeUtil');
ajax.addParam('sysparm_name', 'getProVa');
ajax.getXMLWait();
var answer = ajax.getAnswer();
alert('value' +answer);
var strQuery;
if(answer=='incident'){ strQuery=defaultQuery+'^numberSAMEASparent_incident.number^ORparent_incidentISEMPTY';}
if(answer=='sys_user'){ strQuery=defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY';}
if(answer=='problem'){ strQuery=defaultQuery+'^numberSAMEASduplicate_of.number^ORduplicate_ofISEMPTY';}
if(answer=='task')
strQuery=defaultQuery+'^numberSAMEASparent.number^ORparentISEMPTY';
if(selValue=='department' && !((gel("MyUsers").value))){
if(gel("filterbyLoc").value){
strQuery= defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY^department='+gel("filterbyLoc").value;
}
}
if(selValue=='location' && !(gel("MyUsers").value)){
if(gel("filterbyLoc").value){
strQuery=defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY^location='+gel("filterbyLoc").value;
}
}
if(selValue=='company' && !(gel("MyUsers").value)){
if(gel("filterbyLoc").value){
strQuery=defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY^company='+gel("filterbyLoc").value;
}
}
if(selValue=='cost_center' && !(gel("MyUsers").value)){
if(gel("filterbyLoc").value){
strQuery=defaultQuery+'^user_nameSAMEASmanager.user_name^ORmanagerISEMPTY^cost_center='+gel("filterbyLoc").value;
}
}
// if(selValue=='all' && gel("filteruserBy").value=='alluser'){
// if($[tableGr.name]=='incident'){
// strQuery=defaultQuery+'^numberSAMEASparent_incident...^ORparent_incidentISEMPTY^incident='+gel("MyUsers").value;
// }
// }
if(gel("MyUsers").value){
strQuery= defaultQuery+'^sys_id='+gel("MyUsers").value;
document.getElementById('pageCount').style.display='none';
gel('securityConstraint').style.display="none";
}
return strQuery;
}
function getUserCount(query){
var gCount = new GlideAjax('x_cyso_org_hierarc.TreeUtil');
gCount.addParam('sysparm_name', 'getUserCount');
gCount.addParam('sysparm_tree_query', query);
gCount.getXML(checkForPagination);
}
function checkForPagination(response){
gform.clearMessages();
var answer=response.responseXML.documentElement.getAttribute("answer");
count = parseInt(answer);
if(count > pagePerUser){
var pages=Math.ceil(count/pagePerUser);
jq('#Treepagination').bootpag({
total: pages,
page: 1,
maxVisible: pages<10?pages:10 ,
leaps: true,
activeClass: 'active',
});
jq('#Treepagination ul').addClass('pagination');
}else{
document.getElementById('pageCount').style.display='none';
gel('securityConstraint').style.display="none";
}
}
function getVerticaleUI(query){
count=0;
$j(this).find('#VerticleBtn').toggleClass('btn-default');
/*Find Count of users after filter*/
count=getUserCount(query);
pageClick=true;
NextClick(query,0,pagePerUser);
}
function NextClick(strQuery,prevCount,nextCount,strQueryy){
parentSelected={};
var ga = new GlideAjax('x_cyso_org_hierarc.TreeUtil');
ga.addParam('sysparm_name', 'getAllUserListView');
ga.addParam('sysparm_tree_query', strQuery);
ga.addParam('sysparm_tree_prev_count', prevCount);
ga.addParam('sysparm_next_count', nextCount);
ga.getXML(selectUserTree);
}
//Create JSTree
function selectUserTree(response){
var answer=response.responseXML.documentElement.getAttribute("answer");
console.log('answer' +answer);
answer = JSON.parse(answer);
if(!answer){
document.getElementById('root').style.display ='none';
notAccessible();
return false;
}
if(count==0){
document.getElementById('root').style.display ='none';
noUserDisplay();
return false;
}
else{
if(count>pagePerUser){
if(answer.length==pagePerUser){
gform.addInfoMessage('Too many records found. You can use filters to narrow down the results');
}
document.getElementById('pageCount').style.display='block';
if(pagePerUser!=answer.length){
gel('securityConstraint').style.display="block";
gel('securityConstraint').innerHTML= "Number of users removed from list view by Security constraint : "+(pagePerUser-answer.length);
}else{
gel('securityConstraint').style.display="none";
}
if((PageNum*pagePerUser)>count){
var remainingCount=count- ((PageNum-1)*pagePerUser );
if(remainingCount != answer.length){
gel('securityConstraint').style.display="block";
gel('securityConstraint').innerHTML= "Number of users removed from list view by Security constraint : "+(remainingCount-answer.length);
}
else{
gel('securityConstraint').style.display="none";
}
}
}
else{
if(count>0 && answer.length < count){
gel('securityConstraint').style.display="block";
gel('securityConstraint').innerHTML= "Number of users removed from list view by Security constraint : "+(count-answer.length);
document.getElementById('TreeFrame').innerHTML="";
}
else{
if(count > 0 && answer.length==0 && (count < pagePerUser)){
document.getElementById('root').style.display ='none';
gel('securityConstraint').style.display="block";
gel('securityConstraint').innerHTML= "Number of users removed from list view by Security constraint : "+count;
document.getElementById('TreeFrame').innerHTML="";
return false;
}
}
}
jq("#TreeFrame").jstree('destroy').empty();
document.getElementById('root').style.display ='none';
if(answer.length>0){
document.getElementById('root').style.display="block";
jq('#TreeFrame').jstree({
core:{
"check_callback": true,
'data': answer,
}
});
jq('#TreeFrame').on("changed.jstree", function(e, data) {
addChildeNode(data);
});
}
}
}
function addChildeNode(data){
if (parentSelected['v-'+data.selected[0]] != 1)
{
parentSelected['v-'+data.selected[0]] = 1;
var ga = new GlideAjax('x_cyso_org_hierarc.TreeUtil');
ga.addParam('sysparm_name', 'addNodeChild');
ga.addParam('sysparm_parent_node', data.selected[0]);
response = ga.getXML(UserListParse);
}
jq("#TreeFrame").jstree("open_node", "#" + data.selected);
}
/*Add child Node of listed tree*/
function UserListParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
answer = JSON.parse(answer);
var answeLen = answer.length;
for (var i = 0; i < answeLen; i++) {
jq('#TreeFrame').jstree().create_node(answer[i].parent, {
"id": answer[i].id,
"text": answer[i].text,
"icon": answer[i].icon
}, "last");
jq("#TreeFrame").jstree("open_node", "#" + answer[i].parent);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-30-2022 02:52 AM