kintone plugin series
Boost!イベント
Boost!シリーズのプラグインは、それぞれのプラグインで発生するイベントについて、JavaScriptを使用して、独自の処理を追加することが出来るようになっております。
イベントタイプ毎の詳細につきましては以下を参照して下さい。
イベント処理の記述方法
ハンドラーを様々なイベントにアタッチする方法を紹介します。
イベントハンドラーを登録する
- 構文
-
kb.event.on(type, handler)
- プロパティ
-
パラメータ名 指定する値 説明 type 文字列、または文字列の配列 イベントハンドラーをバインドする対象のイベントタイプ、またはイベントタイプの配列を指定します。 handler 関数 イベント発生時に実行されるハンドラーです。
イベントのハンドラー内でPromiseオブジェクトをreturnすると、非同期処理の完了を待って次の処理を開始します。
- 戻り値
- ありません。
- サンプル
-
(() => { "use strict"; const handler = (event) => { console.log(event); }; kb.event.on('kb.view.load', handler); })();
イベントハンドラーを削除する
- 構文
-
kb.event.off(type, handler)
- プロパティ
-
パラメータ名 指定する値 説明 type 文字列、または文字列の配列 削除対象のイベントハンドラーをバインドしたイベントタイプ、またはイベントタイプの配列を指定します。 handler 関数 削除対象のイベントハンドラーです。バインド時と同一のイベントハンドラーを指定します。
- 戻り値
- ありません。
- サンプル
-
(() => { "use strict"; const handler = (event) => { console.log(event); }; kb.event.on('kb.view.load', handler); kb.event.off('kb.view.load', handler); })();
eventオブジェクトで実行できる操作
eventオブジェクトで実行できる操作を紹介します。
フィールドの値を書き換える
イベントハンドラーがレコードオブジェクトのフィールドの値を上書きしてイベントオブジェクトを返す場合、レコードのフィールドはオブジェクトのそれらの値で更新されます。
- サンプル
-
(() => { "use strict"; kb.event.on('kb.change.field_1_', (event) => { const record = event.record; if (record.field_1_.value=='') { record.field_2_.value=='option1'; } return event; }); })();
ルックアップを自動取得する
イベントハンドラがlookupフィールドのlookupプロパティにtrueを入力し、イベントオブジェクトを返す場合、それらのlookupフィールドの取得を自動で行います。
lookupフィールドをクリアする場合は、valueプロパティを空値にした状態で、lookupプロパティにtrueを入力します。
- サンプル
-
(() => { "use strict"; kb.event.on('kb.edit.load', (event) => { const record = event.record; if (!record.field_3_.value) { record.field_3_.value=1; record.field_3_.lookup=true; } return event; }); })();
後続処理を中止させる
イベントハンドラがerrorプロパティにtrueを入力し、イベントオブジェクトを返す場合、後続処理を含む操作がキャンセルされます。
- サンプル
-
(() => { "use strict"; kb.event.on('kb.create.submit', (event) => { const record = event.record; if (record.field_1_.value=='') { kb.alert('No value entered.'); event.error=true; } return event; }); })();