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