アクション・チェーンで「イベントの起動」アクションを使用してカスタム・イベントをトリガーできます。これにより、別のアクション・チェーンが開始され、通知の表示やデータの変換などが行われます。 JavaScriptモジュール関数でイベント・ヘルパーのfireCustomEvent()メソッドを使用して、カスタム・イベントをトリガーすることもできます。
- 選択した行データを保持するオブジェクト型のページ変数を作成します:
- JavaScriptファンクション(モジュール・ファンクション)を作成して、表の
ojRowActionイベントをサブスクライブします。このイベントは、ユーザーが表の行をクリックするとトリガーされます。 このojRowActionイベントを使用してカスタム・イベントをトリガーします。これにより、行のデータをrowDataページ変数に保存するアクション・チェーンが開始されます。 ファンクションを作成するには、JavaScriptタブを選択します。 コンテキストのeventHelperオブジェクトのfireCustomEvent()メソッドを使用して、カスタム・イベントをトリガーし、必要なペイロードを渡します。 eventパラメータには、行のデータ(event.detail.context.data)が含まれます。
コード例を次に示します: constructor(context) {
this.eventHelper = context.getEventHelper();
}
subscribeToTableRowActionEvent(table) {
table.addEventListener("ojRowAction", (event) => {
this.eventHelper.fireCustomEvent("onRowAction_CustomEvent", {rowData: event.detail.context.data});
});
};
- ページの起動時にトリガーされる、ページの
vbEnterイベントのイベント・リスナーを作成します。 このイベント・リスナーを使用して、表のojRowActionイベントにサブスクライブするファンクションをコールするアクション・チェーンを開始します。
- ページの「イベント・リスナー」タブを選択し、「+イベント・リスナー」をクリックします。
- 「イベントの選択」ステップで、「ライフサイクル・イベント」の下の
vbEnterを選択し、「次」をクリックします。
- 「アクション・チェーンの選択」ステップで、「ページ・アクション・チェーン」の横にある「追加」アイコンをクリックします。
このリスナーのカスタム・イベントに入力パラメータ(このパラメータには含まれません)がある場合、アクション・チェーンは、カスタム・イベントの入力パラメータを含むevent入力パラメータを使用して作成されます。
- アクション・チェーンを作成して、表の
ojRowActionイベントをサブスクライブするファンクションをコールします。 コール関数処理をキャンバスに追加します。 Function NameプロパティをJavaScriptファンクションに設定し、tableパラメータを使用してファンクションに表を渡します:
- ここで、表の
ojRowActionイベントによってトリガーされるカスタム・イベントを作成します。 また、行のデータをrowDataページ変数に割り当てるアクション・チェーンも作成します。
- ページの「イベント」タブで、「+カスタム・イベント」をクリックしてカスタム・イベントを作成します。 プロパティ・ペインで、ペイロード・プロパティの「パラメータの追加」リンクをクリックし、オブジェクト・タイプの入力パラメータを定義します。 この入力パラメータは、
rowDataページ変数にデータを割り当てるアクション・チェーンに行のデータを渡すために使用されます。
- カスタム・イベントの動作プロパティで、アクション・チェーンをシリアルに実行するかパラレルに実行するかを設定します。 デフォルトの
notifyは並列です。 各オプションの詳細は、「カスタム・イベントのコール・イベント・リスナーの選択」を参照してください。
- イベントが発生したときに開始するアクション・チェーンを指定するイベントのイベント・リスナーを作成します(1つのイベント・リスナーで複数のアクション・チェーンを起動できます)。
- ページの「イベント・リスナー」タブで、「+イベント・リスナー」をクリックします。
- 「イベントの選択」ステップで、「ページ・イベント」までスクロール・ダウンし、作成したカスタム・イベントを選択します。 「次へ」をクリックします
- 「アクション・チェーンの選択」ステップで、「ページ・アクション・チェーン」の横にある「追加」アイコンをクリックします。
リスナーのアクション・チェーンがここで作成されるときに、リスナーのカスタム・イベントに入力パラメータがある場合、アクション・チェーンはevent入力パラメータを使用して作成されます。 このeventオブジェクトには、カスタム・イベントの入力パラメータが含まれます(例: event.param1、event.param2...)およびeventオブジェクトは、新しいアクション・チェーンに自動的に渡されます。
- アクション・チェーン・エディタで、アクション・チェーンには、カスタム・イベントの入力パラメータを含む
event入力パラメータがあることに注意してください。 「変数の割当て」アクションを追加し、行のデータを格納するページ変数にそのVariableプロパティを設定し、そのValueをアクション・チェーンに渡されたeventオブジェクトの関連値に設定します: