背景・実現したいこと
kintoneのグラフ表示につきまして、一定時間で最新表示をさせたいと考えております。
自動で最新表示は以下のプログラムで可能になったのですが、「自動/手動」を切り替えて、
手動が選択されている場合には、プログラムが動かないように制御したいのですが、
自動/手動を切り替えるボタンやラジオボタンを置く事は可能なのでしょうか。
もしくは同様の事が実現できるプラグインはありますでしょうか。
利用したソースコード
kintone.events.on('app.report.show', (event) => {
// ページ表示完了した10秒後にリロード
setTimeout(doReload, 10000);
return event;
});
function doReload() {
// reloadメソッドによりページをリロード
window.location.reload();
}
あまさん
こんにちは。
表示画面は異なりますが、ボタン配置でしたら以下参考になると思います。
第2回 レコード一覧画面にボタンを置いてみよう!
画面を開いた初期状態をどちらかに固定するので良ければ
たとえば表示時は「自動」とし、ボタンを押すたびに「手動」⇔「自動」を切り替える処理でいけると思います。
もし別の画面に飛んで再度戻ってきたときも状態を保持しておくとなると、状態をどこかに保存しておく必要があります。
状態保存用のアプリを作るか、SessionStorageに保存するといった処理になります。
koichiさん
お忙しい中、御回答有難う御座いました。
一覧画面にボタンは追加できましたが、グラフ画面には’app.report.show’と変更してもボタンは表示されませんでした。。。
質問させて頂いた後、グラフのプルダウンで自動表示用グラフ/手動表示用グラフを変えてもいいかと思いやってみましたが、JavascriptからグラフのIDを取得できないようで、断念致しました。
他システムからデータを常時取得し、kintoneのグラフで見れたらいいかなと思いましたが、自動更新できないようでしたら、他のツールで検討する事になりそうです。
ご確認いただきありがとうございます。
kintone.app.getHeaderMenuSpaceElement() は一覧画面のみしか対応していないですね。
グラフ画面では別の方法でHTML要素を取得する必要がありそうです。
追加したい位置のHTML要素を取得してappendChildすることで配置は可能です。
たとえば以下のようなものです。
document.getElementById('view-chart-type-gaia').appendChild(button);