<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question UI Builder - Client Script [Need assistance] in Developer forum</title>
    <link>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2534907#M987137</link>
    <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Requirement:&lt;/STRONG&gt; When a user selects the application in the typeahead component then all the associated delegated developers should be listed in the stylized text or simple list component.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reference blog:&amp;nbsp;&lt;A href="https://developer.servicenow.com/blog.do?p=/post/quebec-ui-builder-client-scripts/" target="_blank"&gt;https://developer.servicenow.com/blog.do?p=/post/quebec-ui-builder-client-scripts/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Implementation details&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Client state parameter: &lt;/STRONG&gt;To hold the encoded query for the delegated developers to be queried from sys_user table&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 1.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254585iFA3FD54D280F4F9A/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 1.JPG" alt="Pic 1.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Script Include: &lt;/STRONG&gt;To fetch the delegated developers sys_ids from the sys_user table&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 2.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254586i7724A26C54A40090/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 2.JPG" alt="Pic 2.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;function include({imports}) { 
	return{
		getScopePermissionSetRoleAssignments: function(app_name){
			var arrUsers = [];
			var grScopePermissionRoles = new GlideRecord("sys_scope_permission_set_role_assignment");
			grScopePermissionRoles.addQuery("scope.name",${app_name});
			grScopePermissionRoles.query();
			while(grScopePermissionRoles.next()){
				var grUserRole = new GlideRecord("sys_user_has_role");
				grUserRole.addQuery("role",grScopePermissionRoles.role);
				grUserRole.query();
				while(grUserRole.next()){		
					arrUsers.push(grUserRole.user.sys_id.getDisplayValue());
				}
			}
			var arrUtil = new ArrayUtil();
			var arrDistinctUsers = arrUtil.unique(arrUsers);
			var listUsers = arrDistinctUsers.toString();
				
			return listUsers;
		}
	};
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Client Script: &lt;/STRONG&gt;Format the encoded query that needs to be passed in the simple list component or to be displayed in the stylized text for debugging purpose.&lt;/P&gt;&lt;P&gt;&lt;U&gt;Sample one:&lt;/U&gt; sys_idIN65ced4221b4ad118728a7669cc4bcb74,25de1c221b4ad118728a7669cc4bcbaa,06c5ce4ddbd3f7004868776b8c96197f&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 3.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254587i2D516014EABB629C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 3.JPG" alt="Pic 3.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;function handler({api, event, helpers, imports}) {
    const sys_scope = api.elements.typeahead_1;
    const {getScopePermissionSetRoleAssignments} = imports['x_iem_xom_ws_manag.GetDelegatedUsers']();
    const userQuery = `sys_idIN${getScopePermissionSetRoleAssignments(sys_scope)}`;
    api.setState('delegated_developers',userQuery);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Typeahead: &lt;/STRONG&gt;That invokes/executes the client script when a item selected from the typeahead component.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 4.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254588iB4249BC72CE6B099/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 4.JPG" alt="Pic 4.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Stylized text component: &lt;/STRONG&gt;Has a data binding to the client state parameter.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 5.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254589i45696D0DAC7005D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 5.JPG" alt="Pic 5.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;List - Simple component: &lt;/STRONG&gt;has filer property data binding to client state parameter&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 6.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254590i500B4A319425B7CF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 6.JPG" alt="Pic 6.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Test Results&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Client state parameter value doesn’t change. Seems client script is not invoked.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 7.JPG" style="width: 701px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254591i92D625EC31DF1706/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 7.JPG" alt="Pic 7.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Could you please help me with this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Raghu&lt;/P&gt;</description>
    <pubDate>Fri, 14 Apr 2023 13:48:23 GMT</pubDate>
    <dc:creator>Community Alums</dc:creator>
    <dc:date>2023-04-14T13:48:23Z</dc:date>
    <item>
      <title>UI Builder - Client Script [Need assistance]</title>
      <link>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2534907#M987137</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Requirement:&lt;/STRONG&gt; When a user selects the application in the typeahead component then all the associated delegated developers should be listed in the stylized text or simple list component.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reference blog:&amp;nbsp;&lt;A href="https://developer.servicenow.com/blog.do?p=/post/quebec-ui-builder-client-scripts/" target="_blank"&gt;https://developer.servicenow.com/blog.do?p=/post/quebec-ui-builder-client-scripts/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Implementation details&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Client state parameter: &lt;/STRONG&gt;To hold the encoded query for the delegated developers to be queried from sys_user table&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 1.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254585iFA3FD54D280F4F9A/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 1.JPG" alt="Pic 1.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Script Include: &lt;/STRONG&gt;To fetch the delegated developers sys_ids from the sys_user table&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 2.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254586i7724A26C54A40090/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 2.JPG" alt="Pic 2.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;function include({imports}) { 
	return{
		getScopePermissionSetRoleAssignments: function(app_name){
			var arrUsers = [];
			var grScopePermissionRoles = new GlideRecord("sys_scope_permission_set_role_assignment");
			grScopePermissionRoles.addQuery("scope.name",${app_name});
			grScopePermissionRoles.query();
			while(grScopePermissionRoles.next()){
				var grUserRole = new GlideRecord("sys_user_has_role");
				grUserRole.addQuery("role",grScopePermissionRoles.role);
				grUserRole.query();
				while(grUserRole.next()){		
					arrUsers.push(grUserRole.user.sys_id.getDisplayValue());
				}
			}
			var arrUtil = new ArrayUtil();
			var arrDistinctUsers = arrUtil.unique(arrUsers);
			var listUsers = arrDistinctUsers.toString();
				
			return listUsers;
		}
	};
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Client Script: &lt;/STRONG&gt;Format the encoded query that needs to be passed in the simple list component or to be displayed in the stylized text for debugging purpose.&lt;/P&gt;&lt;P&gt;&lt;U&gt;Sample one:&lt;/U&gt; sys_idIN65ced4221b4ad118728a7669cc4bcb74,25de1c221b4ad118728a7669cc4bcbaa,06c5ce4ddbd3f7004868776b8c96197f&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 3.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254587i2D516014EABB629C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 3.JPG" alt="Pic 3.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;function handler({api, event, helpers, imports}) {
    const sys_scope = api.elements.typeahead_1;
    const {getScopePermissionSetRoleAssignments} = imports['x_iem_xom_ws_manag.GetDelegatedUsers']();
    const userQuery = `sys_idIN${getScopePermissionSetRoleAssignments(sys_scope)}`;
    api.setState('delegated_developers',userQuery);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Typeahead: &lt;/STRONG&gt;That invokes/executes the client script when a item selected from the typeahead component.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 4.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254588iB4249BC72CE6B099/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 4.JPG" alt="Pic 4.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Stylized text component: &lt;/STRONG&gt;Has a data binding to the client state parameter.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 5.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254589i45696D0DAC7005D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 5.JPG" alt="Pic 5.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;List - Simple component: &lt;/STRONG&gt;has filer property data binding to client state parameter&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 6.JPG" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254590i500B4A319425B7CF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 6.JPG" alt="Pic 6.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Test Results&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Client state parameter value doesn’t change. Seems client script is not invoked.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 7.JPG" style="width: 701px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/254591i92D625EC31DF1706/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 7.JPG" alt="Pic 7.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Could you please help me with this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Raghu&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 13:48:23 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2534907#M987137</guid>
      <dc:creator>Community Alums</dc:creator>
      <dc:date>2023-04-14T13:48:23Z</dc:date>
    </item>
    <item>
      <title>Re: UI Builder - Client Script [Need assistance]</title>
      <link>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2534949#M987147</link>
      <description>&lt;P&gt;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/265966"&gt;@Ankur Bawiskar&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/265064"&gt;@Aman Kumar S&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you please help with this one.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 14:11:19 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2534949#M987147</guid>
      <dc:creator>Community Alums</dc:creator>
      <dc:date>2023-04-14T14:11:19Z</dc:date>
    </item>
    <item>
      <title>Re: UI Builder - Client Script [Need assistance]</title>
      <link>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2537197#M988109</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I've logged the logs to the console and then faced below error wrt UI Script Include.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;to string methodTypeError: Cannot destructure property 'getScopePermissionSetRoleAssignments' of 'imports.x_iem_xom_ws_manag.GetDelegatedUsers(...)' as it is undefined. in servicenow&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Not very sure whether GlideRecord is supported in UI Script Includes or am I using the syntax wrongly for other script statements when specific to UI Script Includes.&lt;/P&gt;&lt;H1&gt;&lt;A href="https://www.youtube.com/watch?v=1XjtMwKFx6U" target="_self"&gt;Debugging tips in UI Builder (ServiceNow - Now Experience)&lt;/A&gt;&lt;/H1&gt;&lt;P&gt;&lt;A href="https://developer.servicenow.com/blog.do?p=/post/quebec-ui-builder-data-resources/" target="_self"&gt;&lt;STRONG&gt;UI BUILDER - DATA RESOURCES&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;So, I removed this client script/script include and created Transform Data Resource.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 8.png" style="width: 999px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/255086i0E3279955365AA54/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 8.png" alt="Pic 8.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Passed the client state parameter to the Data Resource:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pic 9.JPG" style="width: 964px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/255088i723A4D83D98E1356/image-size/large?v=v2&amp;amp;px=999" role="button" title="Pic 9.JPG" alt="Pic 9.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Update the client state parameter from the typeahead component event handle:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RaghavendraMud_1-1681800346739.png" style="width: 400px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/255089i15E5798738D06846/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RaghavendraMud_1-1681800346739.png" alt="RaghavendraMud_1-1681800346739.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Finally the data resource output is referred in the simple list component.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RaghavendraMud_2-1681800406460.png" style="width: 400px;"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/255092i33AA38513975F200/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RaghavendraMud_2-1681800406460.png" alt="RaghavendraMud_2-1681800406460.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Magic worked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Raghu&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Apr 2023 06:50:07 GMT</pubDate>
      <guid>https://www.servicenow.com/community/developer-forum/ui-builder-client-script-need-assistance/m-p/2537197#M988109</guid>
      <dc:creator>Community Alums</dc:creator>
      <dc:date>2023-04-18T06:50:07Z</dc:date>
    </item>
  </channel>
</rss>

