コラボフローJavaScript APIを利用する際のイベントの記述方法について説明します。
イベントの記述方法
コラボフロー申請書画面で発生する様々なイベントの発生をイベントハンドラー関数により検知し、指定したカスタマイズ処理を実行することができます。
関数
collaboflow.events.on('eventName', function(data));
引数
引数名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
eventName | 文字列または文字列の配列 | 必須 | 対象のイベント名、もしくはイベント名の配列を指定します。配列を指定した場合は、配列で指定された全てのイベントが対象となります。 |
handler | function(data) | 必須 | イベント発生時に実行されるハンドラーを指定します。dataオブジェクトには、イベントハンドラーの戻り値となるオブジェクトが返ります。 |
記述例
// 新規申請画面を開いた際のイベント
collaboflow.events.on('request.input.show', function(data){ });
// 判定画面を開いた際のイベント
collaboflow.events.on('request.detail.show', function(data){ });
イベントハンドラー共通の戻り値
イベントハンドラーの戻り値となるdataオブジェクトの共通プロパティです。
イベントによっては、下記の共通プロパティに加えイベント独自のプロパティが追加で返されます。
プロパティ名 | 説明 | タイプ |
---|---|---|
app_cd | アプリケーションコード | number |
event_name | 発生時のイベント | string |
document_id | 文書ID | number |
processes_id | 経路ID | number |
parts | パーツ値情報 | object |
parts_id | パーツID ※変更イベント時に取得可能 |
string |
row_index | 行インデックス ※明細に配置したパーツの変更イベント時に取得可能 ※1行目の場合、「1」が返ります。 |
number |
table_id | テーブルID ※明細に配置したパーツの変更イベント時に取得可能 |
string |
イベントオブジェクト内、partsプロパティには、下記のパーツ情報オブジェクトが格納されます。
partsオブジェクトの例
parts:{
fid1: {
'value': 'これはサンプルです',
'type': 'text',
'enabled' : false,
'display' : true,
},
fid2: {
'value': '選択肢A',
'type': 'list',
'enabled' : false,
'display' : true,
}
}
partsオブジェクトのプロパティ
プロパティ | 説明 | 型 |
---|---|---|
value | パーツの値 | any |
type | パーツのタイプ | string |
enabled | パーツが入力可能であればtrue、不可であればfalse | boolean |
display | パーツが表示状態であればtrue、非表示であればfalse | boolean |
補足
- イベントハンドラー内の処理でpartsオブジェクトのvalue値を書き換えると、その変更が申請書に反映されます。
- 画面表示時にパーツが表示されている場合は、イベントハンドラー内の処理で、partsオブジェクトのdisplay値を書き換えて、パーツの表示/非表示を変更することができます。
制限事項
- スマートフォン専用画面はJavaScript APIでの操作対象外となります。
- パーツのうち自動計算、Excel添付取込、添付ファイルパーツはpartsオブジェクトに含まれません(イベントの操作対象外です。)
- partsオブジェクトのenabled値は変更不可です。この値を書き換えてパーツの有効/無効状態を変更することはできません。
- 申請書「明細」内のpartsオブジェクトは配列として取得できますが、配列の数を増減させても画面には反映されません。
コメント
0件のコメント
記事コメントは受け付けていません。