Bulk update customization
概要
プロセス管理利用時、ステータス承認が必要なレコードが溜まってきたケースを想定します。
複数レコードの個別承認は手間がかかるので、レコード一覧画面から一括で承認ができるようにカスタマイズします。
UI 周りに kintone UI Component を使用することで、kintone にマッチする画面をスピーディーに作成できます。
使用するコンポーネント
完成イメージ
以下が、画面の完成イメージです。
事前準備
一括承認専用のレコード一覧を作成します。「(作業者が自分)」の一覧を使用することもできますが、今回はわかりやすい一覧を別途作成します。
例として、ステータスが「In progress」、作業者がログインユーザーのレコードのみが表示される一覧を作成します。
JavaScript/CSS カスタマイズ
kintone UI Component の UMD ファイルをアプリに読み込んだ上で、以下のような実装をした JavaScript ファイル(bulkUpdate.js)をアップロードします。
ファイルのアップロード方法などは、Quick Start をご覧ください。
今回は、確認画面の作成に SweetAlert2 を使用するので、別途以下ファイルを読み込みます。
今後のバージョンアップデートで Dialog コンポーネントの提供を予定しているので、確認画面の実装は将来的にはそちらで置き換えることも可能です。
bulkUpdate.js
kintone.events.on('app.record.index.show', (event) => {
// Write the process here
});
一覧画面にボタンを設置
Button コンポーネントを利用して、レコード一覧画面に Bulk approval ボタンを設置します。
ここでは、各一覧が持つ view ID を利用して、一括承認専用の一覧にのみボタンを表示させています。
※ view ID はレコード一覧画面の URL から取得できます。
if (event.viewId !== 6342505) {
return event;
}
// Prevent duplication bug with ID granted by property
if (document.getElementById('kuc_button') !== null) {
return event;
}
const header = kintone.app.getHeaderMenuSpaceElement();
const button = new Kuc.Button({
type: 'submit',
text: 'Bulk approval',
id: 'kuc_button'
});
header.appendChild(button);