krewSheet
イベント処理の記述方法

krewSheetで発生する様々なイベントについて、ハンドラーを紐付けして実行することができます。

  • krewSheetのイベントAPIはPC版のみ利用できます。
  • krewSheetのイベントAPIはSheetモードでのみ利用できます。Xrossモードでは利用できません。
イベントハンドラーを登録する

関数

krewsheet.events.on(event, handler(event))

プロパティ

パラメータ名 指定する値 必須 説明
event 文字列 または 文字列の配列 必須 イベントハンドラーをバインドする対象のイベントタイプ、またはイベントタイプの配列を指定します。
handler(event) Function(Object) 必須 ベント発生時に実行されるハンドラーです。eventオブジェクトは共通でtypeプロパティにイベントタイプを持ちます。
また、常に「krewSheet」となるsenderプロパティを持ちます。typeプロパティはkintone標準のイベントと共通の値となるため、kintone標準のイベントとの判別に使用できます。
下記のイベントのハンドラー内でkintone.Promiseオブジェクト※ をreturnすると、非同期処理の実行を待ってイベントの処理を開始します。
  • レコード一覧の表示後イベント(app.record.index.show)
  • 保存実行前イベント(app.record.index.edit.submit)
  • 保存成功後イベント(app.record.index.edit.submit.success)
  • 編集開始時イベント(app.record.index.edit.show)
  • フィールド値変更時イベント(app.record.index.edit.change.<フィールドコード>)
  • レコード削除前イベント(app.record.index.delete.submit)
※kintone.Promiseオブジェクトは、thenメソッドを持っているオブジェクトです。
▼参考(外部サイト)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise

戻り値

ありません。

サンプルプログラム
コードのコピー
// イベントハンドラーの登録を実行する
let handler = function(event) {
    console.log(event);
};
kintone.events.on('app.record.index.show', function(event) {
    if (window.krewsheet){
        krewsheet.events.on('app.record.index.show', handler);
    }
});

 

  • krewSheetのイベントハンドラーはkrewSheetがロードされてから登録する必要があるため、kintoneのレコード一覧画面の表示後イベントで登録してください。
特定のイベントタイプ内の特定のイベントハンドラーを削除する

関数

krewsheet.events.off(event, handler(event))

プロパティ

パラメータ名 指定する値 必須 説明
event 文字列 または 文字列の配列 必須 削除対象のイベントハンドラーを登録したイベントタイプ、またはイベントタイプの配列を指定します。
handler(event) Function(Object) 必須 削除対象のイベントハンドラーです。 イベント登録時と同一のオブジェクトを指定します。

戻り値

サンプルプログラム
コードのコピー
// イベントハンドラーの削除を実行する
let handler = function(event) {
    console.log(event);
};
if (window.krewsheet){
    krewsheet.events.off('app.record.index.edit.submit.success', handler);
}
特定のイベントタイプ内のすべてのイベントハンドラーを削除する

関数

krewsheet.events.off(event)

プロパティ

パラメータ名 指定する値 必須 説明
event 文字列 または 文字列の配列 必須 削除対象のイベントハンドラーを登録したイベントタイプ、またはイベントタイプの配列を指定します。

戻り値

サンプルプログラム
コードのコピー
if (window.krewsheet){
    krewsheet.events.off('app.record.index.show');
}
すべてのイベントハンドラーを削除する

関数

krewsheet.events.off()

戻り値

関連するトピック

 

 


Copyright © 2024 MESCIUS inc. All rights reserved.