DashboardMessageHandler

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes 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 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 ID unique pour le filtre. Cet ID permet aux widgets de rapport de suivre le filtre appliqué à chaque filtre. L’ID ne doit pas nécessairement être unique sur 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(String table, String 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 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(Array filters)

    Appliquez un filtre interactif personnalisé à plusieurs tables.

    Tableau 4. Paramètres
    Nom Type Description
    filtres Tableau Tableau d’objets de filtre qui définit les tables à filtrer et les critères de filtre.
    [
      {
        "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
    Aucun

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

    <?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 my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
    
    function publishMultipleFilter() {
       // Multiple filters can be passed as an array
       var finalFilter = [{"table":"incident","filter":"assignment_group=6fcd3b573b331300ad3cc9bb34efc447"}, {"table":"problem","filter":"assignment_group=6fcd3b573b331300ad3cc9bb34efc447"}];
    
       // Call setDefaultValue first so the filter works with lazy loading
       SNC.canvas.interactiveFilters.setDefaultValue({id: my_dashboardMessageHandler.my_unique_id, filters: finalFilter}, false);
    
       // Then call publishMessage to publish filters
       my_dashboardMessageHandler.publishMessage(finalFilter);
    }
    
    function clearFilter() {
       SNC.canvas.interactiveFilters.removeDefaultValue(my_dashboardMessageHandler.my_unique_id, false);
       my_dashboardMessageHandler.removeFilter();
    }
    </script>
    
    Example filter on the Incident and Problem tables where assignment group is Problem solving <br/>
    <input id="allTasks" type="button" value="All" onclick="clearFilter();" />
    <input id="onlyMine" type="button" value="Assignment group is [Problem solving]" onclick="publishMultipleFilter();" />
    
    </j:jelly>

    DashboardMessageHandler : removeFilter()

    Supprime le filtre actuel publié par cet objet DashboardMessageHandler de tous les rapports sur le 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();"/>