注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このページでは、Slate のクエリ、関数、変数、ウィジェット、アプリケーションの各レベルで利用可能なすべてのイベントとアクションを一覧で紹介します。これらのイベントとアクションの設定方法と使用方法については、追加のドキュメントを参照してください。
グローバルイベントは、アプリケーションレベルで発生するイベントで、個別のコンポーネントやクエリに固有のものではありません。
slate.ready イベントは、ページのフレームワークが読み込まれ、クエリの実行が開始されると発火します。ページの読み込み直後にトリガーしたいアクション(たとえば、手動クエリの実行)は、ここで実行する必要があります。
slate.resize イベントは、ブラウザーウィンドウのサイズが変更されるたびに発火します。ブラウザーウィンドウのサイズに基づいてサイズが設定されるウィジェットがある場合、そのウィジェットのサイズも変更されます。ただし、一部のウィジェット(Charts など)には redraw アクションがあり、これをトリガーすることで、ブラウザーウィンドウのサイズが変わっても、ウィジェットが正しいサイズで再描画されるようにできます。
page_name]slate.onNavigate[page_name] は、このイベントが追加されたページにユーザーが移動するたびに発火します。
slate.onPrint は、slate.print アクションで開いた印刷モーダルをユーザーが閉じるたびに発火します。
slate.userStorageChanged は、slate.setUserStorage アクションによって sl_user_storage が更新されると発火します。また、別のブラウザータブやウィンドウでユーザーストレージが更新された場合にも発火します。sl_user_storage の新しい値は、{{slEventValue}} として利用可能です。
slate.ready が発火した時点では sl_user_storage が完全に読み込まれていない可能性があるため、このイベントは、ページの読み込み時にユーザーストレージに基づいてローカル変数を初期化する場合に便利です。
slate.getMessage は、Workshop など、ほかのアプリケーション内の iframe で動作する Slate アプリケーション向けのイベントです。slate.getMessage イベントは、親 iframe から次の形式の postMessage を Slate が受信するたびに発火します。
Copied!1{ "target": "slate-parent-iframe-event", "message": <payload> }
また、子ウィンドウまたは親ウィンドウから送信された postMessage に、次のように対象プロパティが設定されたオブジェクトが含まれている場合にも、slate.getMessage イベントが発火します。
Copied!1{ "target": "SLATE_MESSAGING_SERVICE", ...<payload> }
このイベントが発火します。その後、このイベントの JavaScript ペイン内で <payload> が {{slEventValue}} として利用可能になるため、メッセージ内のデータを適切に使用できます。
Slate に送信されるメッセージでは、変数の設定などのアクションを実行することもできます。
Copied!1 2 3 4 5 6 7 8{ "slateActionOption": { "type": "SET_VARIABLES", "payload": { "v_variable": 123 } } }
アクションを実行することもできます。
Copied!1 2 3 4 5 6{ "slateActionOption": { "type": "TRIGGER_ACTION", "payload": <payload for action> } }
slate.getBroadcast は、Slate が開いた BroadcastChannel からメッセージを受信するたびに発火します。BroadcastChannel を開くには、slate.createBroadcastChannel アクションを使用します。メッセージを受信するには、事前にチャネルを開いておく必要があります。
メッセージのペイロードは {{slEventValue}} として利用可能で、次の構造を持ちます。
Copied!1 2 3 4{ "channel": "channel_name", "data": <payload> }
slate.onCloseCheckpoint は、ユーザーが Checkpoint を閉じるたびに発火します。閉じられた Checkpoint に関する情報が {{slEventValue}} として提供され、次の構造を持ちます。
Copied!1 2 3 4 5{ "slateCheckpointId": string, "status": "cancelled" | "no-checkpoint" | "success", "interactionRid": string (optional - if Checkpoint was successful); }
slateCheckpointId は、Checkpoint を識別するユーザー定義の文字列です。slate.showCheckpoint アクションを使用する際に定義します。
Checkpoint の詳細については、Checkpoint のドキュメントを参照してください。
slate.onChildWindowClosed は、slate.redirectToUrl グローバルアクションで開いた子ウィンドウが閉じられると発火します。slate.redirectToUrl を呼び出す際に、windowSharingOptions プロパティを使用してウィンドウに id を割り当てておく必要があります。そうしないと、このイベントは発火しません。
メッセージのペイロード {{slEventValue}} は次の構造を持ち、id は閉じられたウィンドウの ID です。
Copied!1 2 3{ "id": string | number }
slate.viewSaved は、操作ドロップダウンメニューまたは slate.saveView アクションで共有可能なビューを保存した後に発火します。{{slEventValue}} には、新しく作成されたビューのビューID(文字列)が含まれます。
このイベントを slate.loadView アクションと組み合わせることで、保存と読み込みのワークフローを作成できます。たとえば、{{slEventValue}} からビューIDを保存し、後で slate.loadView に渡してそのビューを復元できます。
クエリイベントは、Slate アプリケーションのクエリに関連するイベントで、クエリが完了した場合、またはタイムアウト、クエリの不正な形式、その他のサーバーの問題などの理由でクエリの正常な完了に失敗した場合に発火します。各クエリには、これらのイベントの固有のインスタンスがあります。
このイベントは、QUERY_NAME で指定されたクエリが正常に完了するたびに発火します。各クエリには、このイベントの固有のインスタンスがあります。
このイベントは、タイムアウト、クエリの不正な形式、その他のサーバーの問題などの理由で、QUERY_NAME で指定されたクエリの正常な完了に失敗するたびに発火します。各クエリには、このイベントの固有のインスタンスがあります。
関数イベントは、Slate の関数の実行に関連するイベントです。各関数には、これらのイベントの固有のインスタンスがあります。
このイベントは、FUNCTION_NAME で指定された関数の実行が終了するたびに発火します。各関数には、このイベントの固有のインスタンスがあります。
変数イベントは、Slate の変数とのインタラクションに関連するイベントです。各変数には、これらのイベントの固有のインスタンスがあります。
このイベントは、VARIABLE_NAME で指定された変数が変更されるたびに発火します。変更後の値は {{slEventValue}} として利用可能です。各変数には、このイベントの固有のインスタンスがあります。
ウィジェットイベントは、Slate アプリケーション内でアクションや処理を実行するために使用するトリガーです。アプリケーション内にインタラクティブな動作を作成し、プロセスを自動化するために使用できます。各ウィジェットには、これらのイベントの独自のインスタンスがあります。
このイベントは、WIDGET_ID で指定されたウィジェットの「追加の CSS クラス」プロパティが変更されるたびにトリガーされます。このイベントは、DOM が更新された後、描画される前にトリガーされます。つまり、CSS クラスを使用してウィジェットのサイズを変更する場合、このイベントを使用してそれらのウィジェットの redraw アクションをトリガーすると、期待どおりに動作します。各ウィジェットには、このイベントの独自のインスタンスがあります。
このイベントは、WIDGET_ID で指定されたウィジェットの直下で JavaScript の transitioned イベントが発生するたびにトリガーされます。この場合、「直下」とは、子ウィジェットからのイベントではないことを意味します。transitioned ごとにトリガーされるイベントは1個だけです。具体的には、CSS トランジションを使用すると、サイドバーを瞬時に表示・非表示にする代わりにスライドイン・スライドアウトさせるなど、ページ上の要素にアニメーションを適用できます。これらのトランジションが完了するたびに、JavaScript は transitioned イベントを発火し、Slate がそのイベントを捕捉して引き渡します。これにより、トランジションの完了時にページ上でほかの変更が発生するようにトリガーしたり、サイズが変わった可能性のあるウィジェットで resize アクションを実行させたりできます。
このイベントがトリガーされると、{{slEventValue}} は次のプロパティを持つ JavaScript オブジェクトになります。
elapsedTime:トランジションにかかった時間propertyName:アニメーションが適用されているプロパティの名前targetId:アニメーションが適用されている DOM 要素に ID プロパティがある場合、その値をここで取得できますこれらのプロパティは、特定のトランジションをほかのトランジションと区別するのに役立つ場合があります。コードが正しいトランジションに応答していることを確認してください。各ウィジェットには、このイベントの独自のインスタンスがあります。
このイベントは、WIDGET_ID で指定されたウィジェットの INTERACTION_PROPERTY プロパティが変更されるたびにトリガーされます。変更後の値は {{slEventValue}} として利用可能になります。このイベントは、各ウィジェットのすべてのプロパティで利用できるわけではなく、「インタラクションプロパティ」(selectedValue など、ユーザーのインタラクションによって変更できるウィジェットのプロパティ)でのみ利用できます。各ウィジェットのインタラクションプロパティには、このイベントの独自のインスタンスがあります。
グローバルアクションは、ページやウィンドウの変更、データのエクスポート、アプリケーション間のメッセージングなど、アプリケーションレベルの動作の変更を制御します。
page_name]slate.navigateTo[page_name] アクションは、対象のページを page_name に変更し、URL ルートも対象ページを指すように更新します。共有変数は、ページが変わっても状態を維持します。
slate.scrollToId アクションは、指定された ID を持つ DOM 要素(イベントパネルの JavaScript コードで返される ID)まで、ページ(およびページ内のスクロール可能なほかのコンテナ)をスクロールします。このアクションを使用すると、プログラムでページを特定の要素までスクロールしたり、スクロール可能なテーブルやリスト内の記憶した位置に戻ったりできます。
slate.setWindowTitle アクションを使用すると、現在のブラウザーウィンドウのタイトルを変更し、タブ名を更新できます。アクションを呼び出して文字列を返すと、タブ名が設定されます。ページの読み込み時にこのアクションが呼び出されない場合、Slate はデフォルトでドキュメント名をタブのタイトルに使用します。
slate.print アクションは、ブラウザーの印刷ダイアログを開き、ユーザーが印刷前にプリンターのオプションを選択できるようにします。
slate.downloadBlob アクションを使用すると、Slate のエクスポート制限に従いながら、任意のデータ Blob をダウンロードできます。このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3 4return { fileName: "my_file.txt", blob: new Blob(["Hello, world!"], { type: "text/plain;charset=utf-8" }), };
ユースケースの例として、関数タブで ExcelJS などのライブラリを使用して条件付き書式設定を含む Excel ファイルをダウンロードし、slate.downloadBlob に送信してユーザーがダウンロードできるようにすることが挙げられます。Blob の詳細については、MDN Web ドキュメント ↗を参照してください。
slate.exportWidget アクションを使用すると、ウィジェットを PNG または PDF ファイルとしてエクスポートできます。このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3 4 5 6return { widgetId: "my_chart", exportType: "download", outputType: "png", fileName: "exported_chart", };
このイベントを使用すると、slate.onExportWidget イベントがトリガーされます。このイベントの slEventValue には、次の内容が含まれます。
widgetId:エクスポートされたウィジェットの ID。base64:エクスポートされたウィジェット(PNG または PDF)の base64 エンコードされた文字列。ファイルをコピーまたはダウンロードせずに slate.onExportWidget イベントをトリガーするには、exportType を eventOnly に設定します。
slate.sendMessage アクションは、ほかのアプリケーションの iframe 内に配置された Slate アプリケーションで使用します。具体的には、このアクションは渡された値(パネル内の JavaScript コードから返される値)を受け取り、次の形式の postMessage を親 iframe に送信します。
Copied!1{"source": "slate-parent-iframe-action", "message": <payload>}
<payload> は、パネル内の JavaScript コードから返される値です。
slate.sendMessage アクションは、Slate が iframe 内に配置されていない場合でも、ほかのウィンドウにメッセージを送信するために使用できます。
たとえば、slate.redirectToUrl を使用して、新規タブまたはブラウザーウィンドウで子ウィンドウを開き、そのウィンドウに ID を設定できます。
その後、slate.sendMessage アクションを使用して、特定のウィンドウにメッセージを送信できます。
Copied!1 2 3 4 5 6 7return { "targetOptions": { "targetWindow": "child" | "opener" | "parent", "children": ["child-id1", "child-id2"] // (任意) }, "message": <payload> }
対象ウィンドウが child に設定されている場合、slate.redirectToUrl の使用時に設定した子ウィンドウの ID の配列を指定できます。指定しない場合、すべての子ウィンドウにメッセージが送信されます。
targetWindow が opener の場合は window.opener に、parent の場合は window.parent に postMessage が送信されます。
slate.createBroadcastChannel アクションは、指定された名前の BroadcastChannel を作成します。このチャネルを使用すると、同じチャネル名を持つすべてのブロードキャストチャネルとの間でメッセージを送受信できます。
このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3return { channel: "my_new_channel", };
BroadcastChannel の詳細については、MDN Web ドキュメント ↗を参照してください。
slate.closeBroadcastChannel アクションは、指定された名前の BroadcastChannel を閉じて削除します。チャネルが閉じられている場合、メッセージは送受信されません。
このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3return { channel: "channel_to_close", };
slate.broadcastMessage アクションは、指定された名前のブロードキャストチャネルにメッセージを送信します。メッセージを送信する前に、slate.createBroadcastChannel アクションでチャネルを開く必要があります。
このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3 4return { channel: "my_channel", message: <payload> };
slate.showCheckpoint アクションは、指定された Checkpoint モーダルを開きます。Checkpoint の詳細については、Checkpoint のドキュメントを参照してください。
このアクションを使用するには、次のように return 文を追加します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12return { slateCheckpointId: string; checkpointType: CheckpointTypeV1; primaryCheckpointedItemId?: { id: string; type: CheckpointedItemIdType; }; additionalCheckpointedItemIds?: { id: string; type: CheckpointedItemIdType; }[]; };
slateCheckpointId は、Checkpoint を識別するユーザー定義の文字列で、onCloseCheckpoint イベントのレスポンスで返されます。
checkpointType には、設定された Checkpoint の種類を指定する必要があります。Checkpoint の種類を確認してください。
| プロパティ | データ型 | 説明 |
|---|---|---|
| widgetId | string | エクスポートするウィジェットの ID(ウィジェットリストに表示される ID)。 |
| exportType | "copy" | "download" | ウィジェットをファイルとしてダウンロードするか、クリップボードに保存します。 |
| outputType | "png" | "pdf" | ウィジェットを PNG または PDF ファイルとしてエクスポートします。 |
| fileName | string (optional) | exportType が "download" の場合の、ダウンロードするファイルの名前。 |
iframe、コードサンドボックス、複数選択ボックスのウィジェット、およびこれらのウィジェットのいずれかを含むコンテナは、エクスポートできません。
slate.openAppsPortal アクションは、アプリケーションポータルを開きます。任意の引数を渡すことで、アプリケーションポータル内の移動先を指定できます。引数は次の形式である必要があります。
| アプリケーションポータル内の移動先 | 引数 |
|---|---|
| 指定なし | 引数なし |
| すべてのアプリケーション | { type: "allResultsNavItem" } |
| プラットフォームアプリケーション | { type: "platformAppsNavItem" } |
| おすすめのアプリ | { type: "promotedAppsNavItem" } |
| 指定したカテゴリーのプラットフォームアプリケーション | { type: "platformAppsCategoryNavItem", title: string } |
| 指定したコレクションのおすすめのアプリケーション | { type: "promotedAppsCollectionNavItem", title: string, rid: string } |
slate.askAIPAssist アクションは、AIP Assist サポートツールを開きます。任意の文字列引数 prompt を指定でき、その文字列は AIP Assist チャットでユーザーのメッセージとして送信されます。prompt は、アプリケーション内の現在のユーザーの状態から生成できるため、状況に応じた質問を AIP Assist に送信できます。
Copied!1 2 3return { "prompt": "How do I interact with widgets in Slate?" };
slate.logout アクションは、ユーザーがログアウトするかどうかを確認するブラウザーダイアログを開きます。ユーザーが確定すると、Foundry からログアウトされます。
slate.copyToClipboard アクションは、パネル内の JavaScript コードから返された値をユーザーのクリップボードにコピーします。
slate.redirectToUrl アクションは、アクションに渡された URL にユーザーをリダイレクトします。
このアクションを slate.ready イベントと組み合わせて使用することは推奨しません。ページが読み込まれるとすぐにユーザーがリダイレクトされ、編集が難しくなるためです。ユースケース上、slate.redirectToUrl アクションを slate.ready イベントと組み合わせて使用する必要がある場合は、アクションを無効にするクエリパラメーターを追加することを推奨します。
| プロパティ | データ型 | 説明 |
|---|---|---|
| url | string | リダイレクト先の URL。 |
| target | string (optional) | リソースの読み込み先となるブラウジングコンテキストの名前。window.open の target パラメーターのエイリアスです。 |
| popup | boolean (optional) | url をポップアップウィンドウで開くかどうかを指定します。 |
| windowSharingOptions | { id: string; } (optional) | 開いた子ウィンドウとの postMessage の送受信を有効にします。id プロパティは子ウィンドウの一意の ID を指定します。その後、slate.sendMessage アクションを使用してこのウィンドウと通信できます。 |
たとえば、次のコードは、指定した Web サイトを新規タブで開きます。
Copied!1 2 3 4return { "url": "https://www.palantir.com/", "target": "_blank" };
複数の URL を返して、複数のタブやページを開くこともできます。これには、設定オブジェクトのリストを返します。たとえば、次のコードは、両方の Web サイトをそれぞれ新規タブで開きます。
Copied!1 2 3 4 5 6 7return [{ "url": "https://www.palantir.com/", "target": "_blank" }, { "url": "https://www.palantir.com/uk", "target": "_blank" }];
slate.saveView アクションは、現在のアプリケーションの状態を新しい共有可能なビューとして保存します。パラメーターは必要ありません。
ビューが保存されると、slate.viewSaved イベントが発火し、新しいビューIDを {{slEventValue}} として利用できます。
slate.loadView アクションは、以前に保存した共有可能なビューを ID で読み込みます。読み込むビューを指定するには、イベントの JavaScript からビューIDの文字列を返します。
Copied!1return "view-id-string";
ビューが読み込まれると、アプリケーションは指定されたビューに移動して表示し、保存されたウィジェットのインタラクションプロパティと変数の値を適用します。
クエリアクションは、特定のクエリまたはその結果セットを対象に動作します。アプリケーションの作成者は、特定のイベントがトリガーされたときに、クエリを実行したり、クエリの結果セットをエクスポートしたりできます。
このアクションは、QUERY_NAME で指定されたクエリを直ちに実行します。クエリが手動かどうかにかかわらず動作します。クエリごとに、このアクションのインスタンスがあります。
QUERY_NAME.export は、QUERY_NAME で指定されたクエリの結果を .xlsx ファイルとしてエクスポートします。サーバー上でクエリを実行し、ファイルを生成して、ユーザーのコンピューターにダウンロードします。クエリごとに、このアクションのインスタンスがあります。
クエリタブのエクスポートさせるイベントドロップダウンメニューから、QUERY_NAME.export アクションをイベントのトリガーとして追加できます。

デフォルトでは、ファイル名は QUERY_NAME.xlsx になります。これを変更するには、イベントタブに移動し、QUERY_NAME.export を選択します。その後、return 文を追加してファイル名を設定できます。たとえば、return "january_data" または return {fileName: "january_data"} を指定すると、january_data.xlsx という名前の .xlsx ファイルがダウンロードされます。有効なファイル名は空であってはならず、文字、数字、アンダースコア、スペースのみを含めることができます。return 文のファイル名が無効な場合、クエリ名がファイル名として使用されます。
イベントタブのアクションドロップダウンメニューから、QUERY_NAME.exportXlsx または QUERY_NAME.exportCsv アクションを選択できます。その後、return 文を追加して、ファイル名を有効な名前に変更できます。
これらのアクションは、QUERY_NAME で指定されたクエリの出力をユーザーのローカルマシンにダウンロードします。結果は CSV ファイルまたは Excel ファイルとしてダウンロードできます。デフォルトでは、ファイル名はクエリ名になりますが、イベントで { fileName: <<custom_string>> } オブジェクトを返すことで名前をカスタマイズできます。
関数アクションは、特定の関数またはその結果セットを対象に動作します。アプリケーションの作成者は、特定のイベントがトリガーされたときに、関数を実行したり、関数の結果セットをエクスポートしたりできます。
このアクションは、FUNCTION_NAME で指定された関数を直ちに実行します。関数ごとに、このアクションのインスタンスがあります。
FUNCTION_NAME.export は、FUNCTION_NAME で指定された関数の結果を .xlsx ファイルとしてエクスポートします。関数を実行し、結果をサーバーに送信してファイルを生成し、ユーザーのコンピューターにダウンロードします。関数ごとに、このアクションのインスタンスがあります。
関数タブのエクスポートさせるイベントドロップダウンメニューから、FUNCTION_NAME.export アクションをイベントのトリガーとして追加できます。

デフォルトでは、ファイル名は FUNCTION_NAME.xlsx になります。これを変更するには、イベントタブに移動し、FUNCTION_NAME.export を選択します。その後、return 文を追加してファイル名を設定できます。たとえば、return "january_data" または return {fileName: "january_data"} を指定すると、january_data.xlsx という名前の .xlsx ファイルがダウンロードされます。有効なファイル名は空であってはならず、文字、数字、アンダースコア、スペースのみを含めることができます。return 文のファイル名が無効な場合、関数名がファイル名として使用されます。
イベントタブのアクションドロップダウンメニューから、FUNCTION_NAME.exportXlsx または FUNCTION_NAME.exportCsv アクションを選択できます。その後、return 文を追加して、ファイル名を有効な名前に変更できます。
関数のエクスポートを機能させるには、関数が返すオブジェクトの_すべて_のプロパティが列名を表し、すべてのプロパティ値が、その列の各セルの値を表す同じ長さの配列である必要があります。そのため、クエリ結果を扱う場合は、クエリから ._results プロパティを削除する必要があります。このプロパティは、クエリが正常に実行されたかどうかの情報を提供するために Slate によって追加されますが、関数からのエクスポートを妨げます。
変数アクションは、特定の変数を対象に動作します。アプリケーションの作成者は、特定のイベントがトリガーされたときに、変数の値を変更できます。
このアクションは、VARIABLE_NAME で指定された変数を、アクションが渡した値(アクションパネル内の JavaScript コードの戻り値)に設定します。変数の以前の値または現在の値は引き続き {{VARIABLE_NAME}} として利用できるため、以前の値を使って新しく設定する値を決めることができます。変数ごとに、このアクションのインスタンスがあります。