データ・アクション・コード相互作用
データ・アクションは、ユーザー・インタフェース・フィールドを作成するとき、およびユーザーがデータ・アクションを起動するときに、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)
をコールします。