レコード一覧の画面離脱時
app.record.index.leave イベントは、レコード一覧画面でソート・ページ遷移・フィルタの変更が行われたときに発火します。
一覧に追加した独自のUI要素の後始末などに利用できます。
定義
- 一覧の表示内容が切り替わる直前に発火します。
atPocket.events.on('app.record.index.leave', handler)
イベントハンドラーの登録方法は イベントハンドラーの登録 を参照してください。
イベントオブジェクトのプロパティ
handlerの引数eventの内容
{
"appId": "integer", // アプリID
"exec": "string", // 実行された操作。"sort" / "pagination" / "changeFilter"
"sort": "string", // ソート対象のフィールドUID
"order": "string", // ソート順。"asc" / "desc"
"page": "integer", // ページ番号
"filterId": "string", // 絞り込みID
"viewId": "string" // ビューID
}
現在の一覧の検索条件に、実行された操作のパラメータを上書きしたものが渡されます。プロパティは操作によって次のように変わります。
exec | 発生する操作 | 上書きされるプロパティ |
|---|---|---|
"sort" | 列の並び替え | sort / order / page(1 に戻ります) |
"pagination" | ページの移動 | page |
"changeFilter" | 絞り込みの変更 | filterId / page(1 に戻ります) / sort / order(ともに空になります) |
備考
上記以外にも、一覧の検索条件に含まれるパラメータが渡されます。内容は画面の設定によって変わるため、参照するプロパティは存在確認をしたうえで使用してください。
戻り値
なし
記述方法
atPocket.events.on('app.record.index.leave', function(event) {
// レコード一覧の表示内容が切り替わるときに実行する処理を記述
});
サンプルコード
atPocket.events.on('app.record.index.leave', (event) => {
console.log(`操作: ${event.exec} / ページ: ${event.page}`);
// 一覧に追加した独自要素を取り除く
document.querySelectorAll('.custom_button').forEach((el) => el.remove());
});