kintone編集画面表示時に操作ロック出来ないか

サブテーブルを使用して100件程度のチェックシートをアプリ化して

運用しています。24時間かけて1枚のチェックシート(1レコード)を消化

するのですが、サブテーブルの読み込みに5秒程度かかるため、その間に

なんらかの操作をするとデータが壊れてしまいます。

モーダルダイアログか、読み込み終わりまで操作不可にするような仕掛けを

考えているのですが、何かお知恵はございませんでしょうか。

JavaScript のイベント処理だと、イベントが開始されるまで処理が行われませんので、

CSS で 操作を抑止して、JavaScript のイベント処理で抑止を解除されてはいかがでしょうか?

なお DOM 操作になりますので、kintone の仕様変更で動作しなくなる場合があります。

 

CSS

/* 編集画面で操作を抑止 */
.gaia-argoui-app-edit-form,
.editablelayout-gaia {
pointer-events: none;
}
/* 編集画面で操作を抑止解除 */
.gaia-argoui-app-edit-form.xp-pointer-auto,
.editablelayout-gaia.xp-pointer-auto {
pointer-events: auto;
}

JavaScript

(function() {
"use strict";

const cnames = ['gaia-argoui-app-edit-form','editablelayout-gaia'];
kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event) {
cnames.forEach(function(cn) {
var ele = document.getElementsByClassName(cn);
if (ele.length > 0) {
ele[0].classList.add('xp-pointer-auto');
}
});
return event;
});
})();

こちら、ご教示頂いた方法で、実装してみました。ありがとうございました。