- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 12:34 AM
Hi Everyone,
I have to add two more fields in the dialogue box apart from the 4 shown below (Number, Short description,...). This is being populated by a UI action which uses glide modal to call a UI page. But in the UI page I am not able to understand how the fields are being called.
UI Page Code:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="sysparm_rec_sys_id" expression="RP.getWindowProperties().get('sysparm_rec_sys_id')" />
<g:evaluate var="sysparm_caller" expression="RP.getWindowProperties().get('sysparm_caller')" />
<g:evaluate var="sysparm_business_user" expression="RP.getWindowProperties().get('sysparm_business_user')" />
<g:evaluate var="sysparm_u_service" expression="RP.getWindowProperties().get('sysparm_u_service')" />
<g:evaluate var="sysparm_call_category" expression="RP.getWindowProperties().get('sysparm_call_category')" />
<g:evaluate var="jvar_sysparm_call_category" jelly="true">
var table = RP.getParameterValue('sysparm_call_category');
table;
</g:evaluate>
<g:evaluate var="jvar_userlang" jelly="true">
var language = gs.getSession().getLanguage();
language;
</g:evaluate>
<g:evaluate var="jvar_defaulttab" jelly="true">
var defaulttab = gs.getProperty("relatedinfodialog.call.defaulttab");
defaulttab;
</g:evaluate>
<g:evaluate var="jvar_showcalltab" jelly="true">
var showcalltab = gs.getProperty("relatedinfodialog.call.showcalltab");
showcalltab;
</g:evaluate>
<g:evaluate var="jvar_showincidenttab" jelly="true">
var showincidenttab = gs.getProperty("relatedinfodialog.call.showincidenttab");
showincidenttab;
</g:evaluate>
<g:evaluate var="jvar_showproblemtab" jelly="true">
var showproblemtab = gs.getProperty("relatedinfodialog.call.showproblemtab");
showproblemtab;
</g:evaluate>
<g:evaluate var="jvar_showreqitemtab" jelly="true">
var showreqitemtab = gs.getProperty("relatedinfodialog.call.showreqitemtab");
showreqitemtab;
</g:evaluate>
<div>
<ul class="nav nav-tabs" id="tabs">
<j:if test="${jvar_showcalltab == true}">
<g:evaluate var="jvar_call" jelly="true">
var callQuery = "opened_at>javascript:gs.daysAgo(30)^sys_id!=" + jelly.sysparm_rec_sys_id;
callQuery += "^u_caller=" + jelly.sysparm_caller + "^ORu_customer=" + jelly.sysparm_business_user;
callQuery;
</g:evaluate>
<g:evaluate var="jvar_calllabel" jelly="true">
var label = "";
var gr = new GlideRecord('sys_documentation');
gr.addQuery('name', 'u_call')
gr.addQuery('language', '${jvar_userlang}');
gr.addNullQuery('element');
gr.query();
if (gr.next()){
label = gr.getValue('plural');
}
label;
</g:evaluate>
<g:evaluate var="jvar_callcount" jelly="true">
var count = new GlideAggregate('u_call');
count.addEncodedQuery("${jvar_call}");
count.addAggregate('COUNT');
count.query();
var tasks = 0;
if(count.next())
tasks = count.getAggregate('COUNT');
tasks;
</g:evaluate>
<li><a href="#call" data-toggle="tab">${jvar_calllabel} (<span id="u_call_counter">${jvar_callcount}</span>)</a></li>
</j:if>
<j:if test="${jvar_sysparm_call_category == 'Incident' || jvar_sysparm_call_category == 'Question'}">
<j:if test="${jvar_showincidenttab == true}">
<g:evaluate var="jvar_incident" jelly="true">
var incQuery = "";
if (jelly.sysparm_call_category != "RFC" && jelly.sysparm_call_category != "Complaint") {
incQuery = "active=true^opened_at>javascript:gs.daysAgo(7)^u_service=" + jelly.sysparm_u_service;
if (jelly.sysparm_call_category == "Incident") {
incQuery += "^category=Incident";
}
if (jelly.sysparm_call_category == "Question") {
incQuery += "^category=Question";
}
}
incQuery;
</g:evaluate>
<g:evaluate var="jvar_incidentlabel" jelly="true">
var label = "";
var gr = new GlideRecord('sys_documentation');
gr.addQuery('name', 'incident')
gr.addQuery('language', '${jvar_userlang}');
gr.addNullQuery('element');
gr.query();
if (gr.next()){
label = gr.getValue('plural');
}
label;
</g:evaluate>
<g:evaluate var="jvar_incidentcount" jelly="true">
var count = new GlideAggregate('incident');
count.addEncodedQuery("${jvar_incident}");
count.addAggregate('COUNT');
count.query();
var tasks = 0;
if(count.next())
tasks = count.getAggregate('COUNT');
tasks;
</g:evaluate>
<li><a href="#incident" data-toggle="tab">${jvar_incidentlabel} (<span id="incident_counter">${jvar_incidentcount}</span>)</a></li>
</j:if>
</j:if>
<j:if test="${jvar_sysparm_call_category != 'RFC'}">
<j:if test="${jvar_showproblemtab == true}">
<g:evaluate var="jvar_problem" jelly="true">
var prbQuery = "";
if (jelly.sysparm_call_category != "RFC") {
prbQuery = "active=true^known_error=true^u_service=" + jelly.sysparm_u_service;
if (jelly.sysparm_call_category == "Incident" || jelly.sysparm_call_category == 'Question') {
prbQuery += "^u_problem_category!=CSI action";
}
if (jelly.sysparm_call_category == "Complaint") {
prbQuery += "^u_problem_category=CSI action";
}
}
prbQuery;
</g:evaluate>
<g:evaluate var="jvar_problemlabel" jelly="true">
var label = "";
var gr = new GlideRecord('sys_documentation');
gr.addQuery('name', 'problem')
gr.addQuery('language', '${jvar_userlang}');
gr.addNullQuery('element');
gr.query();
if (gr.next()){
label = gr.getValue('plural');
}
label;
</g:evaluate>
<g:evaluate var="jvar_problemcount" jelly="true">
var count = new GlideAggregate('problem');
count.addEncodedQuery("${jvar_problem}");
count.addAggregate('COUNT');
count.query();
var tasks = 0;
if(count.next())
tasks = count.getAggregate('COUNT');
tasks;
</g:evaluate>
<li><a href="#problem" data-toggle="tab">${jvar_problemlabel} (<span id="problem_counter">${jvar_problemcount}</span>)</a></li>
</j:if>
</j:if>
<j:if test="${jvar_showreqitemtab == true}">
<g:evaluate var="jvar_reqitem" jelly="true">
var reqItemQuery = "opened_at>javascript:gs.daysAgo(30)^opened_by=" + jelly.sysparm_caller + "^ORopened_by=" + jelly.sysparm_business_user;
reqItemQuery += "^ORu_requested_for=" + jelly.sysparm_caller + "^ORu_requested_for=" + jelly.sysparm_business_user;
reqItemQuery;
</g:evaluate>
<g:evaluate var="jvar_reqitemlabel" jelly="true">
var label = "";
var gr = new GlideRecord('sys_documentation');
gr.addQuery('name', 'sc_req_item')
gr.addQuery('language', '${jvar_userlang}');
gr.addNullQuery('element');
gr.query();
if (gr.next()){
label = gr.getValue('plural');
}
label;
</g:evaluate>
<g:evaluate var="jvar_reqitemcount" jelly="true">
var count = new GlideAggregate('sc_req_item');
count.addEncodedQuery("${jvar_reqitem}");
count.addAggregate('COUNT');
count.query();
var tasks = 0;
if(count.next())
tasks = count.getAggregate('COUNT');
tasks;
</g:evaluate>
<li><a href="#reqitem" data-toggle="tab">${jvar_reqitemlabel} (<span id="sc_req_item_counter">${jvar_reqitemcount}</span>)</a></li>
</j:if>
</ul>
<div class="tab-content">
<div class="tab-pane" id="call">
<div id="iframe_call">
</div>
</div>
<div class="tab-pane" id="incident">
<div id="iframe_incident">
</div>
</div>
<div class="tab-pane" id="problem">
<div id="iframe_problem">
</div>
</div>
<div class="tab-pane" id="reqitem">
<div id="iframe_reqitem">
</div>
</div>
</div>
</div>
<script>
$j("ul.nav-tabs a").click(function () {
var activetab = this.getAttribute("href");
var activemodule = activetab.slice(1);
var spq = "";
var spt = "";
if (activemodule == "call") {
spq = "sysparm_query=${jvar_call}";
spt = "sysparm_table=u_call";
}
if (activemodule == "incident"){
spq = "sysparm_query=${jvar_incident}";
spt = "sysparm_table=incident";
}
if (activemodule == "problem") {
spq = "sysparm_query=${jvar_problem}";
spt = "sysparm_table=problem";
}
if (activemodule == "reqitem"){
spq = "sysparm_query=${jvar_reqitem}";
spt = "sysparm_table=sc_req_item";
}
var iframe_src = "/ITGSM_records.do?sysparm_view=related_info${AMP}sysparm_nostack=yes${AMP}"+spq+"${AMP}"+spt+"${AMP}sysparm_entity_type=call";
$j(".nav-tabs li").removeClass("active");
$j(this).parent().addClass("active");
$j(".tab-pane").removeClass("active");
$j("#iframe_"+activemodule).empty();
$j("<iframe>")
.attr("src",iframe_src)
.attr("width","100%")
.attr("height","500")
.attr("style","border:none;")
.appendTo("#iframe_"+activemodule)
.attr("</iframe>");
$j(activetab).addClass("active");
});
$j(document).ready(function() {
$j("a[href*=${jvar_defaulttab}]").parent().addClass("active");
$j("ul.nav-tabs li.active a").trigger('click');
});
</script>
</j:jelly>
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 12:54 AM
I think this will do it:
- open the list of requested items
- switch to view "related_info"
- customize the list
I'm just guessing based on line
var iframe_src = "/ITGSM_records.do?sysparm_view=related_info${AMP}sysparm_nostack=yes${AMP}" + spq + "${AMP}" + spt + "${AMP}sysparm_entity_type=call";
which contains parameter sysparm_view=related_info.
An option is to right-click on the filter text All > Opened > ... - ADMIN and select the "Open new window" menu item:
That should open the list in a new window. You will be able to customize the list there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 12:54 AM
I think this will do it:
- open the list of requested items
- switch to view "related_info"
- customize the list
I'm just guessing based on line
var iframe_src = "/ITGSM_records.do?sysparm_view=related_info${AMP}sysparm_nostack=yes${AMP}" + spq + "${AMP}" + spt + "${AMP}sysparm_entity_type=call";
which contains parameter sysparm_view=related_info.
An option is to right-click on the filter text All > Opened > ... - ADMIN and select the "Open new window" menu item:
That should open the list in a new window. You will be able to customize the list there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 05:44 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 08:35 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2021 01:43 AM
Which fields you are talking about?
Are you talking about the tabs from the above image?
Can you explain what is your exact business requirement?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader