DashboardMessageHandler
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 la section Génération de rapports et filtres interactifs.
DashboardMessageHandler : DashboardMessageHandler(ID de chaîne)
Instanciez un objet DashboardMessageHandler avec un ID unique donné.
| 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 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 écrase le filtre d’origine. Utilisez plusieurs objets DashboardMessageHandler pour publier plusieurs filtres.
| Nom | Type | Description |
|---|---|---|
| Table | Chaîne | La table à filtrer, telle que la tâche. |
| encodedQuery | Chaîne | Requête codée qui spécifie le filtre à publier. |
| 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)
Appliquez un filtre interactif personnalisé à plusieurs tables.
| Nom | Type | Description |
|---|---|---|
| filtres | Tableau | Tableau d’objets de filtre qui définissent les tables à filtrer et les critères de filtrage. |
| filters.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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| nul |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
<input id="removeFilter" type="button" value="Remove filter" onclick="my_dashboardMessageHandler.removeFilter();"/>