DashboardMessageHandler
Stellt Methoden zum Definieren von benutzerdefinierter Filterlogik für interaktive Filter bereit.
Weitere Informationen zu interaktiven Filtern finden Sie unter Berichterstellung und interaktive Filter.
DashboardMessageHandler – DashboardMessageHandler(String id)
Instanziieren Sie ein DashboardMessageHandler-Objekt mit einer vorgegebenen eindeutigen ID.
| Name | Typ | Beschreibung |
|---|---|---|
| ID | Zeichenfolge | Eine eindeutige ID für den Filter. Mit dieser ID können Berichts-Widgets nachverfolgen, welcher Filter auf die einzelnen Filter angewendet wurde. Die ID muss nicht für alle Dashboards eindeutig sein, aber jedes Dashboard darf nicht mehrere Filter mit derselben ID enthalten. |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
DashboardMessageHandler – publishFilter(String table, String encodedQuery)
Jedes DashboardMessageHandler-Objekt kann einen einzelnen Filter veröffentlichen.
Das Veröffentlichen eines neuen Filters aus demselben Objekt überschreibt den ursprünglichen Filter. Verwenden Sie mehrere DashboardMessageHandler-Objekte, um mehrere Filter zu veröffentlichen.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Die zu filternde Tabelle, z. B. Aufgabe. |
| encodedQuery | Zeichenfolge | Eine codierte Abfrage, die den zu veröffentlichenden Filter angibt. |
| Typ | Beschreibung |
|---|---|
| void |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
<input id="onlyMine" type="button" value="Only mine" onclick="my_dashboardMessageHandler.publishFilter('task','caller_idDYNAMIC90d1921e5f510100a9ad2572f2b477fe');"/>
DashboardMessageHandler – veröffentlichenMessage(Array filter)
Wenden Sie einen benutzerdefinierten interaktiven Filter auf mehrere Tabellen an.
| Name | Typ | Beschreibung |
|---|---|---|
| Filter | Array | Array von Filterobjekten, die die zu filternden Tabellen und die Filterkriterien definieren. |
| filter.table | Zeichenfolge | Name der zu filternden Tabelle. |
| filter.filter | Zeichenfolge | Codierte Abfrage, die die Filterkriterien enthält, die auf die Tabelle angewendet werden sollen. |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Jelly-Skript filtert die Tabellen „Incident“ und „Problem“, um Datensätze zurückzugeben, in denen die Zuweisungsgruppe „Problemlösung“ lautet.
<?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()
Entfernt den aktuellen Filter, der von diesem DashboardMessageHandler-Objekt veröffentlicht wird, aus allen Berichten im Dashboard.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
<input id="removeFilter" type="button" value="Remove filter" onclick="my_dashboardMessageHandler.removeFilter();"/>