データ・アクション・モデル・クラス

様々なタイプのデータ・アクション・モデル・クラスがあります。

AbstractDataAction

このクラスの役割は次のとおりです:

  • Knockoutモデルの格納(サブクラスは独自のプロパティでこれを拡張します)。
  • サブクラスが実装する必要のある抽象メソッドの定義:
    • + invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) <<abstract>>

      渡されたコンテキストによるデータ・アクションの起動 - DataActionManagerによってのみコールする必要があります。

    • + getGadgetInfos(oReport): AbstractGadgetInfo[] <<abstract>>

      このタイプのデータ・アクションを編集するためのユーザー・インタフェース・フィールドのレンダリングを担当するGadgetInfosを構築して返します。

    • + validate() : DataActionError

      データ・アクションを検証し、nullが有効な場合はnullを、無効な場合はDataActionErrorを返します。

  • データ・アクションのユーザー・インタフェース・フィールドの汎用部分をレンダリングするために使用する次のメソッドにデフォルト実装を指定します:
    • + getSettings():JSON

      データ・アクションKnockout ModelをJSONに直列化し、レポートに含める準備ができます(komapping.toJS(_koModel)を使用)。

    • + createNameGadgetInfo(oReport) : AbstractGadgetInfo

      データ・アクション「名前」フィールドをレンダリングできるGadgetInfoを構築して戻します。

    • + createAnchorToGadgetInfo(oReport) : AbstractGadgetInfo

      データ・アクション「アンカー」フィールドをレンダリングできるGadgetInfoを構築して戻します。

    • + createPassValuesGadgetInfo(oReport) : AbstractGadgetInfo

      データ・アクション「値を渡す」フィールドをレンダリングできるGadgetInfoを構築して戻します。

サブクラスでは、ベース・クラスが提供するGadgetInfoをすべて必要とするわけではないため、これらのメソッドをすべて呼び出す必要はありません。 このように各フィールドのレンダリングを切り離すことで、サブクラスは必要なガジェットを自由に選択できます。 いくつかのサブクラスで、これらの共通データ・アクション・ガジェットの異なる実装を提供することもできます。

CanvasDataAction、URLNavigationDataAction、HTTPAPIDataAction、EventDataAction

これらは、データ・アクションの基本タイプの具象クラスです。 これらのクラスは、それ自体を使用して、これらのタイプのデータ処理の汎用ユーザー・インタフェースを提供します。 また、カスタム・データ処理プラグインを拡張する便利なベース・クラスとして機能できます。

  • CanvasDataAction: キャンバスへのナビゲートに使用します。
  • URLNavigationDataAction: 新しいブラウザ・ウィンドウでwebページを開くために使用します。
  • HTTPAPIDataAction: HTTP APIに対してGET/POST/PUT/DELETE/TRACEリクエストを作成し、HTTP Responseをプログラムによって処理する場合に使用します。
  • EventDataAction: イベント・ルーターを介してJavaScriptイベントを公開するために使用します。

各クラスには次の役割があります:

  • ベース・クラスの抽象メソッドを実装します。
    • invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext)

      このメソッドでは、KOModelで定義されているプロパティと指定されたDataActionContextオブジェクトを組み合せてデータ・アクションを起動します。

    • getGadgetInfos(oReport): AbstractGadgetInfo[]

      このメソッドは次のように動作します:

      • AbstractGadgetInfosを含む配列を作成します。
      • AbstractGadgetInfoを配列にプッシュする個々のcreateXXXGadgetInfo()メソッドをコールします。
      • 配列を返します。
  • データ・アクションの特定のサブクラスに固有の個別のガジェットを作成するための追加メソッドを指定します。

これらの具象クラスのサブクラスでは、カスタム・ユーザー・インタフェースでスーパークラスによって提供されるすべてのガジェットを使用する必要はありません。 このようにして各ガジェットの構成を切り離すことで、サブクラスは必要なガジェットを自由に選択できます。

DataActionKOModel、ValuePassingMode

DataActionKOModelクラスは、AbstractDataActionの異なるサブクラスで共有されるベースKOModelを提供します。 「DataActionKOModelクラス」を参照してください。