【kintone API】アクションボタンを非表示にする方法

【kintone API】アクションボタンを非表示にする方法

kintone APIで、アクションボタンを非表示にするカスタマイズについて紹介します。

アクションボタンの要素取得

レコード詳細画面の表示時に、ステータスバーのアクションボタンを非表示します。今回はボタン名が「アクション」のものを非表示とします。

まず、レコード詳細画面の表示時のイベントで、ステータスアクションのDOMをgetElementsByClassName('gaia-app-statusbar-action-label')で取得します。ここで、注意点としては、'app.record.detail.show'のイベント直後だと、ステータスアクションのDOMが取得できません。

そこで、setTimeoutで遅延させることでDOMを取得できるようにします。また、レコードのプロセス管理を行っている場合は、ステータスを変更されるDOMも一緒に取得されるので、その場合はボタンの表示名で条件に追加する必要があります。

サンプルとして、下記のコードでボタンを非表示にできます。

 1(function () {
 2  "use strict";
 3
 4  kintone.events.on('app.record.detail.show', function (event) {
 5    setTimeout(function () {
 6      const statusBarActions = document.getElementsByClassName('gaia-app-statusbar-action-label');
 7
 8      for (let i = 0; i < statusBarActions.length; i++) {
 9        const actionLabel = statusBarActions[i];
10        if (actionLabel.title === "アクション") {
11          actionLabel.parentNode.style.display = 'none';
12        }
13      }
14    }, 100);
15
16    return event;
17  });
18})();

適宜、レコードの条件などを追加することで、より実践的な活性制御が実現できます。


今回はkintone APIでのアクションボタンの制御についてまとめました。以上で記事を終わりにします。

参考文献