1画面でサブテーブルに250行程度のデータを保存しています。
レコード表示時は特に気にならないのですが、レコード編集時に全てが表示されるまでに時間がかかっています。
スピナーを表示しようと思ったのですが、先にreturn eventが動いてしまったりとうまくタイミングがつかめません。
表示処理中で利用者に待ってもらうような方法は、何かないでしょうか?
よろしくお願いします。
1画面でサブテーブルに250行程度のデータを保存しています。
レコード表示時は特に気にならないのですが、レコード編集時に全てが表示されるまでに時間がかかっています。
スピナーを表示しようと思ったのですが、先にreturn eventが動いてしまったりとうまくタイミングがつかめません。
表示処理中で利用者に待ってもらうような方法は、何かないでしょうか?
よろしくお願いします。
kubo さん
250行のサブテーブルって、すごいですね。
以前に試した時は、あまり行数が多いと使い物になりませんでしたが、現時点だとそこそこいけそうですね。
なにかパフォーマンス改善されたのかもしれません。
さて、スピナーだと画面が表示(テーブルが表示)してからイベント処理で実行されますので、今回の用途には使えません。
ということで、css で 操作を抑止し、JavaScript で抑止解除します。
Crome だと 抑止中の画面はグレーアウトされますが、IE, Edge ではグレーアウトがされません。
ただ IE, Edge でも 操作抑止はされます。
色表示等をいじると IE, Edge でもそれらしくなるかもしれませんので、いろいろ試してみてください。
css
.gaia-argoui-app-edit-buttons,
.layout-gaia.editablelayout-gaia {
cursor: pointer;
pointer-events : none;
filter: grayscale();
}
JavaScript
(function() {
"use strict";
kintone.events.on(["app.record.create.show","app.record.edit.show"], function(event) {
var div1 = document.querySelector('.gaia-argoui-app-edit-buttons');
div1.setAttribute('style', 'pointer-events:auto; filter: none;');
var div2 = document.querySelector('.editablelayout-gaia');
div2.setAttribute('style', 'pointer-events:auto; filter: none;');
return event;
});
})();