Configurar os donuts na página principal do nível 2

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • Configure os dados exibidos em donuts na seção Visão Geral da página principal do nível 2.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Você pode personalizar o rótulo do cabeçalho, a fonte de dados, a métrica, agrupar por campo e viewAllQuery para todos os donuts. Por exemplo, as Tarefas do Catálogo atribuíram a mim o donut.

    Procedimento

    1. Navegue até Todos > Central de administração do Espaço de operações de serviços > Visão geral.
    2. Na guia Visão geral, na seção Configuração inicial, selecione a opção Configurar a página principal.
    3. No formulário da página principal, na seção Nível 1, selecione Configurar ao lado de Configurações de Donut.
      A definição de inclusão do client script SOWLandingPageTier2Utils é exibida.
    4. Edite o campo Script e adicione o código dentro da classe SOWLandingPageTier2Utils.
      static async getVisualizationConfig(helpers, mode) { 
      
                  const visualizationConfig = [{ 
      
                      "id": "incidentAssigned", 
      
                      "tableName": "incident", 
      
                      "tableDisplayValue": "Incident", 
      
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
      
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
      
                      "header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"), 
      
                      "groupByField": "state", 
      
                      "evamId": "01a404e8b7203010e69dbc16de11a93f", 
      
                      "updated_on": "^ORDERBYDESCsys_updated_on", 
      
                  }, 
      
                  { 
      
                      "id": "problemsAssigned", 
      
                      "tableName": "problem", 
      
                      "tableDisplayValue": "Problem", 
      
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
      
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
      
                      "header": mode == 'your_work' ? await helpers.translate("Problems assigned to you") : await helpers.translate("Problems assigned to your team"), 
      
                      "groupByField": "state", 
      
                      "evamId": "5f0697b8f49bc510f8773ad5bd0ae292", 
      
                      "updated_on": "^ORDERBYDESCsys_updated_on", 
      
                  }, 
      
                  { 
      
                      "id": "changesAssigned", 
      
                      "tableName": "change_request", 
      
                      "tableDisplayValue": "Change Request", 
      
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
      
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
      
                      "header": mode == 'your_work' ? await helpers.translate("Changes assigned to you") : await helpers.translate("Changes assigned to your team"), 
      
                      "groupByField": "state", 
      
                      "evamId": "e1f06c4194130110f87765e94545da91", 
      
                      "updated_on": "^ORDERBYDESCsys_updated_on", 
      
                  }, 
      
                  { 
      
                      "id": "taskAssigned", 
      
                      "tableName": "task", 
      
                      "tableDisplayValue": "Task", 
      
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task", 
      
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task", 
      
                      "header": mode == 'your_work' ? await helpers.translate("Tasks assigned to you") : await helpers.translate("Tasks assigned to your team"), 
      
                      "groupByField": "sys_class_name", 
      
                      "evamId": "615d205d94df0110f87765e94545da03", 
      
                      "updated_on": "^ORDERBYDESCsys_updated_on", 
      
                  }]; 
      
                  return visualizationConfig; 
      
              } 
      Por exemplo, para adicionar um donut de problema, inclua o seguinte no script para permitir que o novo donut interaja com a lista na página principal. Isso é copiado de SOWLandingPageTier2UtilsSNC, mas tem a problem_task adicionada.
      static async fetchTitle(table, nameValueMap, groupMode = false, elementId) { 
      
                  if (table === "task") { 
      
                      return this.getLabelMaps(table, nameValueMap['sys_class_name'], groupMode, elementId); 
      
                  } 
      
                  return this.getLabelMaps(table, nameValueMap['state'], groupMode, elementId); 
      
              } 
      
       
      
      static getLabelMaps(table, selectedField, groupMode = false, elementId) { 
      
                  if (selectedField == undefined) { 
      
                      selectedField = 'all'; 
      
                  } 
      
                  const labelMap = { 
      
                      'incident': { 
      
                          '1': 'New incidents', 
      
                          '2': 'In Progress incidents', 
      
                          '3': 'On Hold incidents', 
      
                          '6': 'Resolved incidents', 
      
                          'all': 'Incidents' 
      
                      }, 
      
                      'change_request': { 
      
                          '0': 'In Review changes', 
      
                          '-1': 'Implement changes', 
      
                          '-2': 'Scheduled changes', 
      
                          '-3': 'Authorize changes', 
      
                          '-4': 'Assess changes', 
      
                          '-5': 'New changes', 
      
                          'all': 'Changes' 
      
                      }, 
      
                      'problem_task': { 
      
                          '151': 'New', 
      
                          '154': 'Work in Progress', 
      
                          '152': 'Assess', 
      
                          '157': 'Closed', 
      
                          'all': 'Problem Tasks' 
      
                      }, 
      
                      'problem': { 
      
                          '101': 'New problems', 
      
                          '102': 'Assess problems', 
      
                          '106': 'Resolved problems', 
      
                          '104': 'Fix in Progress problems', 
      
                          '103': 'Root Cause Analysis problems', 
      
                          'all': 'Problems' 
      
                      }, 
      
                      'task': { 
      
                          'incident_task': 'Incident tasks', 
      
                          'problem_task': 'Problem tasks', 
      
                          'change_task': 'Change tasks', 
      
                          'sc_task': 'Catalog tasks', 
      
                          'incident': 'Incidents', 
      
                          'problem': 'Problems', 
      
                          'change_request': 'Change requests', 
      
                          'all': 'Tasks' 
      
                      } 
      
                  }; 
      
                  if (elementId === 'delegated_task') 
      
                      return labelMap[table][selectedField] + ' delegated to you'; 
      
                  if (groupMode) 
      
                      return labelMap[table][selectedField] + ' assigned to your team'; 
      
                  return labelMap[table][selectedField] + ' assigned to you'; 
      
              } 
      
       
      Inclua o seguinte código como donut adicional.
      { 
      
                      "id": "problem_task_assigned", 
      
                      "tableName": "problem_task", 
      
                      "tableDisplayValue": "Problem Tasks", 
      
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
      
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
      
                      "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", 
      
                      "header": mode == 'your_work' ? await helpers.translate("Problem Tasks assigned to you") : await helpers.translate("Problem Tasks assigned to your team"), 
      
                      "groupByField": "state", 
      
                      //  "evamId": evamDef['incidentEvamDefinitionId'], 
      
                      "updated_on": "^ORDERBYDESCsys_updated_on", 
      
        }, 
    5. Selecione Atualizar.