データ・アクション・コード相互作用
データ・アクションは、ユーザー・インタフェース・フィールドを作成するとき、およびユーザーがデータ・アクションを起動するときに、Oracle Analyticsコードとやり取りします。
新しいデータ・アクション・インスタンス用のフィールドの作成
このやり取りは、Oracle Analyticsがデータ・アクションのユーザー・インタフェース・フィールドをレンダリングするときに開始します。そのために、次を行います:
- データ・アクションから返される
GadgetInfosの親のGadgetInfoとして動作するPanelGadgetInfoを作成します。 - データ・アクションの
getGadgetInfos()をコールします。 - 最初のステップで作成した
PanelGadgetInfoの子としてデータ・アクションのGadgetInfosを追加します。 PanelGadgetInfoをレンダリングするPanelGadgetViewを作成します。PanelGadgetViewのコンテナであるHTMLElementを設定します。HostedComponentツリーにすでに接続されているHostedComponentの子のHostedComponentとしてPanelGadgetViewを登録します。これにより、
getGadgetInfos()から返される配列の表示順序でパネル・ガジェット内にデータ・アクションのガジェットがレンダリングされます。
データ・アクションの起動
ユーザーがOracle Analyticsユーザー・インタフェースから(たとえば、ビジュアライゼーションのデータ・ポイントのコンテキスト・メニューから)データ・アクションを起動すると、このやり取りが開始します。
ユーザー相互作用に応答して、コードにより次の操作が行われます:
- データ・アクションのID、データ・アクションの起動元である
DataVisualization、およびTransientVizContextオブジェクトが含まれるINVOKE_DATA_ACTIONイベントを公開します。 DataActionManagerは、次の操作によってこのイベントを処理します:- データ・アクション・インスタンスをそのIDから取得します。
- 指定された
DataVisualizationでマークされたデータ・ポイントのLogicalFilterTreesを取得します。 - データ・アクションのターゲットに渡されるすべての情報が含まれた
DataActionContextを構築します。 - データ・アクションの
invoke(oDataActionContext)をコールします。