イベントの記述方法

コラボフローJavaScript APIを利用する際のイベントの記述方法について説明します。

イベントの記述方法

コラボフロー申請書画面で発生する様々なイベントの発生をイベントハンドラー関数により検知し、指定したカスタマイズ処理を実行することができます。

関数

collaboflow.events.on('eventName', function(data));

引数

引数名

指定する値

必須

説明

eventName

文字列または文字列の配列

必須

対象のイベント名、もしくはイベント名の配列を指定します。配列を指定した場合は、配列で指定された全てのイベントが対象となります。

handler

function(data)

必須

イベント発生時に実行されるハンドラーを指定します。dataオブジェクトには、イベントハンドラーの戻り値となるオブジェクトが返ります。


記述例
記述例
Copied!

// 新規申請画面を開いた際のイベント
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オブジェクトの例
Copied!

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オブジェクトは配列として取得できますが、配列の数を増減させても画面には反映されません。