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 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 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.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| filtres | Tableau | Tableau d’objets de filtre qui définit les tables à filtrer et les critères de filtre. |
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
<input id="removeFilter" type="button" value="Remove filter" onclick="my_dashboardMessageHandler.removeFilter();"/>