Class KAIDEN.base.foundation.GadgetManager

Constructor

Static GadgetManager ( )
GadgetManager.

ガジェットに関する管理やメディエータの役目をします

シングルトンのため、 new GadgetManager()を何度行っても必ず単一のインスタンスを返却します。

Returns
KAIDEN.base.foundation.GadgetManager
インスタンス

Instance members

Instance MethodsDefined By

complementData ( [Object args], [String callerGadgetId], [String gadgetId4forceOnly], [String blockId4forceOnly], [int positionMin], [int positionMax] ) KAIDEN.base.foundation.GadgetManager
補完イベント(complementData/getGlobalComplement)を発行.
Parameters
args : Object
イベント引数
callerGadgetId : String
呼び出し元ガジェットID
gadgetId4forceOnly : String
特定のガジェットIDのみにイベントを発行する場合のガジェットID
blockId4forceOnly : String
特定のブロックIDのみにイベントを発行する場合のブロックID
positionMin : int
処理順の最小値(指定値を含む)
positionMax : int
処理順の最大値(指定値を含まない)
complementDataDeferred ( [Object args], [String callerGadgetId], [String gadgetId4forceOnly], [String blockId4forceOnly], [int positionMin], [int positionMax] ) KAIDEN.base.foundation.GadgetManager
補完イベント(complementData/getGlobalComplement)を発行.
Parameters
args : Object
イベント引数
callerGadgetId : String
呼び出し元ガジェットID
gadgetId4forceOnly : String
特定のガジェットIDのみにイベントを発行する場合のガジェットID
blockId4forceOnly : String
特定のブロックIDのみにイベントを発行する場合のブロックID
positionMin : int
処理順の最小値(指定値を含む)
positionMax : int
処理順の最大値(指定値を含まない)
execPull ( String eventKey, Object arg, String callerGadgetId, [String gadgetId4forceOnly] ) : Object[] KAIDEN.base.foundation.GadgetManager
全ガジェットに対してpullイベントを実行.
Parameters
eventKey : String
イベントキー
arg : Object
イベント引数
callerGadgetId : String
呼び出し元ガジェットID
gadgetId4forceOnly : String
特定のガジェットIDのみにイベントを発行する場合のガジェットID
Returns
Object[]
各ガジェットの戻り値配列 ※以下をプロパティに持つオブジェクトの配列
  • gadgetAttr:ガジェット属性オブジェクト
  • result:戻り値
execPush ( String eventKey, Object arg, String callerGadgetId, [String gadgetId4forceOnly] ) : Object[] KAIDEN.base.foundation.GadgetManager
全ガジェットに対しpushイベントを実行.
Parameters
eventKey : String
イベントキー
arg : Object
イベント引数
callerGadgetId : String
呼び出し元ガジェットID
gadgetId4forceOnly : String
特定のガジェットIDのみにイベントを発行する場合のガジェットID
Returns
unknown
各ガジェットの戻り値配列 ※以下をプロパティに持つオブジェクトの配列
  • gadgetAttr:ガジェット属性オブジェクト
  • result:戻り値
get ( String gadgetId ) : Object KAIDEN.base.foundation.GadgetManager
ガジェットオブジェクトを返却.

シンタックスシュガーのKAIDEN.getGadget("ガジェットId");が便利です。

Parameters
gadgetId : String
ガジェットID
Returns
Object
ガジェットオブジェクト
getDataSet ( [String/String[] gadgetIds] ) : Object KAIDEN.base.foundation.GadgetManager
ガジェットの入力値データを返却.
Parameters
gadgetIds : String/String[]
指定したガジェットのみ返却。省略した場合は全ガジェット
Returns
Object
入力値データを保持したオブジェクト.

{ガジェットId:{フィールドキー:値 ... }, ガジェットId:{TmtableId:[{フィールドキー:値},{フィールドキー:値}] } }の形式で返却します

ガジェット間通信の返却の中から以下の優先順でいずれかを返却します。
  1. "fail"
  2. "warn"
  3. "success"

それぞれメッセージが返却されていた場合にはメッセージを表示します。

ガジェット間通信の戻り値が、「jp.co.slcs.kaiden.v2.base.foundation.model.dto.LogicResultDto」をである必要があります

Parameters
ret : Object[]
ガジェット間通信の戻り値
Returns
String
"success"/"warn"/"fail"のいずれか
getNeighboringAccessor ( Object target, String name, [boolean skipDistinctionUiType] ) : KAIDEN.base.foundation.Accessor KAIDEN.base.foundation.GadgetManager
elementと同一ガジェットブロック内、同一TMテーブル同タプル内のname属性をもったelementを検索し、アクセッサを返却.
Parameters
target : Object
対象エレメント(HtmlElement)、または所属オブジェクト(「KAIDEN.gadgetMan.whereMe」の結果)
name : String
検索するelementの名前
skipDistinctionUiType : boolean
trueを設定するとユーザ定義のエレメントタイプを判定しません
Returns
KAIDEN.base.foundation.Accessor
アクセッサ
elementがカードブロックに所属するかを返却.
Parameters
element : HtmlElement
対象エレメント(HtmlElement)
Returns
unknown
下記いずれかを返却
  • true:カードブロックに所属する場合
  • false:カードブロックに所属しない場合
elementがTMテーブルに所属するかを返却.
Parameters
element : HtmlElement
対象エレメント(HtmlElement)
Returns
unknown
下記いずれかを返却
  • true:TMテーブルに所属する場合
  • false:TMテーブルに所属しない場合
ガジェットの初期化後に実行するファンクションを実行.
See KAIDEN.base.foundation.GadgetManager.pushPostInitialize
Parameters
gadgetId : String
ガジェットID
全ガジェットに単項目チェック後イベント(postSingleValidate)を発行.

すべてのガジェットが"true"を返却した(もしくは処理該当ガジェットが存在しない)場合のみ、trueを返却します

単項目チェック後に処理を行い、なんらかの理由で後続処理を実施しないように制御したい場合には、イベントリスナよりfalseを返却してください

引数は省略可能ですが、すべての引数を省略した場合のみ、前回と同じ引数をイベントに渡します。それ以外は指定された引数をイベントに渡します。

Parameters
arg : Object
イベント引数
Returns
boolean
処理結果
全ガジェットに単項目チェック前イベント(preSingleValidate)を発行.

すべてのガジェットが"true"を返却した(もしくは処理該当ガジェットが存在しない)場合のみ、trueを返却します

単項目チェック前に処理を行い、なんらかの理由で単項目チェックを実施しないように制御したい場合には、イベントリスナよりfalseを返却してください

引数は省略可能ですが、すべての引数を省略した場合のみ、前回と同じ引数をイベントに渡します。それ以外は指定された引数をイベントに渡します。

Parameters
arg : Object
イベント引数
Returns
boolean
処理結果
pushPostInitialize ( String gadgetId, Function func ) KAIDEN.base.foundation.GadgetManager
ガジェットの初期化後に実行するファンクション定義.

通常、ガジェットに対する操作は、以下のようにの後に行う必要があります。

<k:gadgetContainer>~省略~</k:gadgetContainer>
<script type="text/javascript"> //ガジェットに対する処理 </script>

ガジェット内部でインクルードJSPに処理が書かれているなど、どうしてもガジェット内でそのガジェットの操作が必要な場合に、ファンクションを登録します。
登録されたファンクションは、ガジェット初期化後に実行されます。

See KAIDEN.base.foundation.GadgetManager.postInitialize
Parameters
gadgetId : String
ガジェットID
func : Function
関数
registAndInitGadget ( String gadgetId, String gadgetCapterTitle ) KAIDEN.base.foundation.GadgetManager
ガジェットを初期化し、ガジェットマネージャ自身に登録.

すべてのガジェットはこの機能でガジェットマネージャに登録する必要があります。
ただし、通常はタグリブ()にて、この登録処理も出力されるため、開発者はこの機能を直接利用することはありません。

  1. 本機能では、ガジェット内の要素に対して、以下のルールでname属性、id属性を付与し初期化します。
    また、tmtableに属するエレメントは行挿入時などにname属性にタプルIDも付与されます。
    • name属性の先頭に【ガジェットID + "-" + ブロックID + "-"】 を付与。
      ※変更前のname属性は、data-kaiden-org-nameに保持。
    • id属性の先頭に【ガジェットID + "-" + ブロックID + "-"】 を付与。
      ※ 変更前のid属性はdata-kaiden-org-idに保持。
  2. エラーコンテナにガジェット自身のバリデーションエラー表示エリアを登録します。

初期化後、以下のようにガジェットオブジェクトを取り出せます。
KAIDEN.base.foundation.GadgetManager().get("ガジェットId");
シンタックスシュガーのKAIDEN.getGadget("ガジェットId");が便利です。

ガジェットオブジェクトには以下のものが格納されています。

  • attr (Object)
    以下のガジェット属性が格納されています。
    • gadgetClass (String)
    • gadgetVariation (String)
    • gadgetInstance (String)
    • gadgetId (String)
    • errorContainerId (String)
    • gadgetCapterTitle (String) ※ガジェットチャプタータイトル
    • formId (String) ※ガジェット内のformId
  • tmtables (配列)
    KAIDEN.base.foundation.Tmtableが格納されています。
    取り出すには、tmtables["TmテーブルID"]としてください。
  • blockAccessors (配列)
    KAIDEN..base.foundation.BlockAccessorsが格納されています。
    取り出すには、blockAccessors["ブロックID"]としてください。
  • validationManager (Object) ※開発者が利用することはありません
  • eventManager (Object)
    KAIDEN.base.foundation.GadgetEventManagerが格納されています。
    ガジェットにイベントを登録する場合に取り出して利用してください。
  • dialogs(配列)
    KAIDEN.base.foundation.Dialogが格納されています。 取り出すには、dialogs["ダイアログID"]としてください。
  • clearInput (Function(blockId))
    特定のブロック(tmtable除く)をクリアします。
  • variable (Object)
    空のオブジェクトです。 ※機能実装時に一時的に値等を格納するのに利用してください。
Parameters
gadgetId : String
ガジェットID
gadgetCapterTitle : String
ガジェットチャプタータイトル
setDataSet ( String gadgetIds, Object data, boolean isReplaceTmtable, [Object exclude] ) KAIDEN.base.foundation.GadgetManager
特定のガジェットにデータを設定.

ガジェットデータを以下の形式にすると、ガジェット内の同名フィールドに対して値を自動的に設定します
{ガジェットId:{フィールドキー:値 ... }, ガジェットId:{TmtableId:[{フィールドキー:値},{フィールドキー:値}] } }

Parameters
gadgetIds : String
ガジェットID
data : Object
ガジェットデータ
isReplaceTmtable : boolean
true:tmtalbeを洗い替える(タプルID復元) false:tmtableにデータを追記する
exclude : Object
除外フィールド(形式:{ブロックId|(tmtalbeId)}:field}
setGetDataSetFunction ( String gadgetId, Function func ) KAIDEN.base.foundation.GadgetManager
特定のガジェットの入力値データをオブジェクトで返却.
Parameters
gadgetId : String
No description.
func : Function
No description.
showCaution ( String gadgetId, String type, String message ) KAIDEN.base.foundation.GadgetManager
ガジェットのcationエリアに警告メッセージを表示.

ガジェットブロック(ID="caution")が存在する場合のみ実行されます。

Parameters
gadgetId : String
ガジェットID
type : String
"warn"もしくは"fail"
message : String
メッセージ
validate ( [String eventKey], [boolean escalationDefaultValidate], [Object arg] ) : boolean KAIDEN.base.foundation.GadgetManager
全ガジェットのクライアントバリデーションを実行.

単項目チェック後に、関連チェック(relationValidate)およびガジェット間チェック(gadgetRelationValidate)イベントを発行し、単項目・関連チェック・ガジェット間チェックのすべてがtrueの場合のみ、trueを返却します

※関連チェック(relationValidate)およびガジェット間チェック(gadgetRelationValidate)イベントは、true/falseいずれかを返却してください

引数は省略可能ですが、すべての引数を省略した場合のみ、前回と同じ条件でバリデーションを行います。それ以外は指定された条件でバリデーションを行います。

Parameters
eventKey : String
イベントキー
escalationDefaultValidate : boolean
イベントキーに対するバリデートに加えてデフォルトバリデートを実行
arg : Object
関連チェック、ガジェット間チェックに対するバリデーション引数
Returns
booelan
バリデーション結果(true:エラーなし、false:エラーあり)
全ガジェットのクライアントバリデーションをリセット.

各項目のエラー状態がリセットされます

whereMe ( HtmlElement element ) : Object KAIDEN.base.foundation.GadgetManager
elementがガジェットおよびTMテーブルなど、どこに所属するかを返却.
Parameters
element : HtmlElement
対象エレメント(HtmlElement)
Returns
Object
以下のプロパティを持つオブジェクト
  • gadgetId:ガジェットID
  • tmtableId:TmテーブルID
  • tmtTupleId:Tmテーブル内のタプルID
  • blockId:ブロックID

Static members