データ・アクション・コード相互作用

データ・アクションは、ユーザー・インタフェース・フィールドを作成するとき、およびユーザーがデータ・アクションを起動するときに、Oracle Analyticsコードとやり取りします。

新しいデータ・アクション・インスタンス用のフィールドの作成

このやり取りは、Oracle Analyticsがデータ・アクションのユーザー・インタフェース・フィールドをレンダリングするときに開始します。そのために、次を行います:

  1. データ・アクションから返されるGadgetInfosの親のGadgetInfoとして動作するPanelGadgetInfoを作成します。
  2. データ・アクションのgetGadgetInfos()をコールします。
  3. 最初のステップで作成したPanelGadgetInfoの子としてデータ・アクションのGadgetInfosを追加します。
  4. PanelGadgetInfoをレンダリングするPanelGadgetViewを作成します。
  5. PanelGadgetViewのコンテナであるHTMLElementを設定します。
  6. HostedComponentツリーにすでに接続されているHostedComponentの子のHostedComponentとしてPanelGadgetViewを登録します。

    これにより、getGadgetInfos()から返される配列の表示順序でパネル・ガジェット内にデータ・アクションのガジェットがレンダリングされます。

データ・アクションの起動

ユーザーがOracle Analyticsユーザー・インタフェースから(たとえば、ビジュアライゼーションのデータ・ポイントのコンテキスト・メニューから)データ・アクションを起動すると、このやり取りが開始します。

ユーザー相互作用に応答して、コードにより次の操作が行われます:

  1. データ・アクションのID、データ・アクションの起動元であるDataVisualization、およびTransientVizContextオブジェクトが含まれるINVOKE_DATA_ACTIONイベントを公開します。
  2. DataActionManagerは、次の操作によってこのイベントを処理します:
    1. データ・アクション・インスタンスをそのIDから取得します。
    2. 指定されたDataVisualizationでマークされたデータ・ポイントのLogicalFilterTreesを取得します。
    3. データ・アクションのターゲットに渡されるすべての情報が含まれたDataActionContextを構築します。
    4. データ・アクションのinvoke(oDataActionContext)をコールします。