Create system property for mapping and use it for dynamic value

Priyanka Chaud1
Tera Contributor

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 @suvro 

 

1 ACCEPTED SOLUTION

suvro
Mega Sage
Mega Sage

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

View solution in original post

15 REPLIES 15

Ok @suvro will do that i wanted to ask u that we can't define system property in client script so what i did i created one function in same script include and retruned value of table in client script function as answer and than i wrote this in my client script function to make query for tables so how can we make this dynamic in client side 


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';

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

Client script is around 800 lines of code should i share it? @suvro or should i give u functions that work on run filter?

@suvro  this is the client script on run button Runfilter is called in that we have getandrunfilteredquery function so u can check accordingly

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

}

@suvro did u looked into this? i will create new thread for this