データ・アクション・モデル・クラス
データ・アクション・モデル・クラスにはいくつかの異なるタイプがあります。
AbstractDataAction
このクラスの役割は次のとおりです:
- Knockoutモデルの格納(サブクラスは独自のプロパティでこれを自由に拡張できます)。
- サブクラスが実装する必要のある抽象メソッドの定義:
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) <<abstract>>渡されたコンテキストでデータ・アクションを起動します(コール元は常に
DataActionManagerである必要があります)。+ getGadgetInfos(oReport): AbstractGadgetInfo[] <<abstract>>このタイプのデータ・アクションを編集するためのユーザー・インタフェース・フィールドをレンダリングする役割を持つ
GadgetInfosを構築して返します。+ validate() : DataActionErrorデータ・アクションを検証して、有効な場合はnullを、無効な場合は
DataActionErrorを返します。
- データ・アクションのユーザー・インタフェース・フィールドの一般的な部分をレンダリングするために使用される次のメソッドのデフォルト実装を提供:
+ getSettings():JSONレポートに含める準備のためにデータ・アクションのKnockoutモデルを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クラスを参照してください。