Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Data visualization (chart) not updating the List view in Service Operations Workspace when clicked

Chio
Tera Guru

Problem: Clicking a part of Unassigned tasks chart when grouped by "urgency" is not filtering the list view. 

The Unassigned Tasks chart is working when the grouped by is any of the ff: priority, sys_class_name, state.

 

Background:

We made some changes to the data visualizations in SOW landing page. The landing page chart displays

 

Unassigned Tasks grouped by urgency

Task SLA grouped by time_left

Assigned Tasks group by sys_class_name

Chio_0-1716013993948.png

 

 

Here is the current script

SowIncidentLandingPageUtils

 

function include({imports}) {
let serviceDeskLandingPageUtilsSNC = imports['sn_sow_inc.SowIncidentLandingPageUtilsSNC']();
class ServiceDeskLandingPageUtils extends serviceDeskLandingPageUtilsSNC {
static async getVisualizationConfig(helpers, mode) {
const evamDef = this.getEvamDef();
const visualizationConfig = [

{
"id": "unassigned_tasks",
"tableName": "task",
"tableDisplayValue": "Task",
"myWorkQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"myTeamQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": await helpers.translate("Team Unassigned Tickets"),
"groupByField": "urgency",
"evamId": "615d205d94df0110f87765e94545da03",
"updated_on": "^ORDERBYDESCsys_updated_on",
},


{
"id": "incident_sla",
"tableName": "task_sla",
"tableDisplayValue": "Task SLA",
"myWorkQuery": "task.assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00",
"myTeamQuery": "task.assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00",
"listView": 'sow_landing_page',
"header": await helpers.translate("Tickets Breached or Close to Breaching"),
"groupByField": "time_left",
"evamId": evamDef['incidentSlaEvamDefinitionId'],
"updated_on": "^ORDERBYtime_left",
},
{
"id": "task_assigned",
"tableName": "task",
"tableDisplayValue": "Task",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": mode == 'your_work' ? await helpers.translate("My Assigned Tickets") : await helpers.translate("Team Assigned Tickets"),
"groupByField": "sys_class_name",
"evamId": "615d205d94df0110f87765e94545da03",
"updated_on": "^ORDERBYDESCsys_updated_on",
}

];
return visualizationConfig;
}

static async fetchTitle(table, nameValueMap, groupByLabel, groupMode = false) {
            const groupByField = this.getFieldMap()[groupByLabel];
            return this.getLabelMaps(table, nameValueMap[groupByField], groupByField, groupMode);
        }

        static getLabelMaps(table, selectedField, groupByField, groupMode = false) {
            const labelMap = {
                'incident': {
                    'state': {
                        '1': 'New incidents',
                        '2': 'In Progress incidents',
                        '3': 'On Hold incidents',
                        '6': 'Resolved incidents'
                    },
                    'priority': {
                        '1': 'P1 unassigned incidents',
                        '2': 'P2 unassigned incidents',
                        '3': 'P3 unassigned incidents',
                        '4': 'P4 unassigned incidents',
                        '5': 'P5 unassigned incidents'
                    }
                },
                'sc_task': {
                    'state': {
                        '-5': 'Pending catalog tasks',
                        '1': 'Open catalog tasks',
                        '2': 'Work in progress catalog tasks'
                    }
                },
                'task': {
                    'sys_class_name': {
                        'sc_task': 'Catalog tasks',
                        'incident': 'Incidents',
                        'incident_task': 'Incident Tasks',
                        'change_request': 'Change Requests',
                        'idea': 'Ideas',
                        'rm_story': 'Stories',
                        'universal_request': 'Universal Requests',
                        'sprint': 'Sprints',
                        'kb_feedback_task': 'Knowledge Feedback Tasks',
                        'kb_feedback': 'Knowledge Feedback'
                    },
                   'state': {
                        '-5': 'Pending',
                        '1': 'Open',
                        '2': 'Work in progress'
                    },
                     'urgency': {
                        '1': '1 - High',
                        '2': '2 - Medium',
                        '3': '3 - Low'
                    }
                }
            };

            if((table == 'task' && groupByField == 'urgency') || table == 'task')
                return labelMap[table][groupByField][selectedField];

            if (groupMode)
                return labelMap[table][groupByField][selectedField] + ' assigned to your team';
            return labelMap[table][groupByField][selectedField] + ' assigned to you';
        }

}
return ServiceDeskLandingPageUtils;
}

 

0 REPLIES 0