データ・アクション・モデル・クラス
様々なタイプのデータ・アクション・モデル・クラスがあります。
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クラス」を参照してください。