DashboardMessageHandler

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 1 minute de lecture
  • Fournit des méthodes pour définir une logique de filtrage personnalisée pour les filtres interactifs.

    Pour plus d’informations sur les filtres interactifs, consultez Génération de rapports et filtres interactifs.

    DashboardMessageHandler : DashboardMessageHandler(ID de chaîne)

    Instanciez un objet DashboardMessageHandler avec un ID unique donné.

    Tableau 1. Paramètres
    Nom Type Description
    ID Chaîne Un ID unique pour le filtre. Cet ID permet aux widgets de rapports de suivre le filtre appliqué à chaque filtre. L’ID n’a pas besoin d’être unique dans tous les tableaux de bord, mais chaque tableau de bord ne peut pas avoir plusieurs filtres avec le même ID.
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");

    DashboardMessageHandler : publishFilter(Table de chaînes, Chaîne encodedQuery)

    Chaque objet DashboardMessageHandler peut publier un seul filtre.

    La publication d’un nouveau filtre à partir du même objet remplace le filtre d’origine. Utilisez plusieurs objets DashboardMessageHandler pour publier plusieurs filtres.

    Tableau 2. Paramètres
    Nom Type Description
    table Chaîne La table à filtrer, par exemple la tâche.
    encodedQuery Chaîne Requête codée qui spécifie le filtre à publier.
    Tableau 3. Renvoie
    Type Description
    nul
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
    <input id="onlyMine" type="button" value="Only mine"    onclick="my_dashboardMessageHandler.publishFilter('task','caller_idDYNAMIC90d1921e5f510100a9ad2572f2b477fe');"/>

    DashboardMessageHandler : publishMessage(filtres de tableau)

    Appliquer un filtre interactif personnalisé à plusieurs tables.

    Tableau 4. Paramètres
    Nom Type Description
    filtres Tableau Tableau d’objets de filtre qui définissent les tables à filtrer et les critères de filtrage.
    [
      {
        "table": String,
        "filter": String 
      }
    ]
    filtres.table Chaîne Nom de la table à filtrer.
    filtres.filtre Chaîne Requête codée contenant les critères de filtre à appliquer à la table.
    Tableau 5. Renvoie
    Type Description
    Néant

    Ce script Jelly filtre les tables Incident et Problème pour renvoyer les enregistrements dans lesquels le groupe d’affectation est en résolution de problème.

    <?xml version="1.0" encoding="utf-8" ?>
    <j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
    <script>
     var dmh = new DashboardMessageHandler("aha_dmh");
     var filter = "cmdb_ci.sys_idINcdafbfc9db8f570466e0a345ca96198a"; 
     //this is the encoded query string
     var fullFilter = dmh.getFilterMessage('change_request',filter); 
     //creates a JSON object
    
     SNC.canvas.interactiveFilters.setDefaultValue({id: dmh.aha_dmh, filters:[fullFilter],}, false);
     var published = dmh.publishMessage([fullFilter]);
    </script>
    
    </j:jelly>

    DashboardMessageHandler : removeFilter()

    Supprime le filtre actuel publié par cet objet DashboardMessageHandler de tous les rapports du tableau de bord.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    nul
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
    <input id="removeFilter" type="button" value="Remove filter"    onclick="my_dashboardMessageHandler.removeFilter();"/>