ダッシュボードメッセージハンドラー
インタラクティブフィルターのカスタムフィルタリングロジックを定義するメソッドを提供します。
インタラクティブフィルターの詳細については、「 レポート と インタラクティブフィルター」を参照してください。
DashboardMessageHandler:DashboardMessageHandler (文字列 ID)
指定された一意の ID を持つ DashboardMessageHandler オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ID | 文字列 | フィルターの一意の ID。この ID により、レポートウィジェットは、各フィルターを適用したフィルターを追跡できます。ID はすべてのダッシュボードで一意である必要はありませんが、各ダッシュボードに同じ ID のフィルターを複数含めることはできません。 |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
DashboardMessageHandler - publishFilter(文字列テーブル, 文字列 encodedQuery)
各 DashboardMessageHandler オブジェクトは 1 つのフィルターを発行できます。
同じオブジェクトから新しいフィルターを公開すると、元のフィルターが上書きされます。複数の DashboardMessageHandler オブジェクトを使用して、複数のフィルターを公開します。
| 名前 | タイプ | 説明 |
|---|---|---|
| table | 文字列 | タスクなど、フィルタリングするテーブル。 |
| encodedQuery | 文字列 | 公開するフィルターを指定するエンコードされたクエリ。 |
| タイプ | 説明 |
|---|---|
| なし |
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 (アレイフィルター)
カスタムインタラクティブフィルターを複数のテーブルに適用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィルター | アレイ | フィルタリングするテーブルとフィルター基準を定義するフィルターオブジェクトのアレイ。 |
| filters.table | 文字列 | フィルタリングするテーブルの名前。 |
| filters.filter | 文字列 | テーブルに適用するフィルター基準を含むエンコードクエリ。 |
| タイプ | 説明 |
|---|---|
| なし |
この Jelly スクリプトは、インシデントテーブルと問題テーブルをフィルタリングして、アサイン先グループが問題解決であるレコードを返します。
<?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()
この DashboardMessageHandler オブジェクトによって公開されている現在のフィルターを、ダッシュボード上のすべてのレポートから削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
<input id="removeFilter" type="button" value="Remove filter" onclick="my_dashboardMessageHandler.removeFilter();"/>