新規投稿
フォローする

サブテーブルの追加削除を制限したい

レコード内に設置しているサブテーブルの横にある「+」「-」の表記を消すもしくは、使えなくする方法を探しています。

record["サブテーブル名"].disabled = true;

上記の記述だと追加削除はできてしまいます。

 

皆様のお知恵をお借りしたく、どうぞよろしくお願い致します。

 

 

1

11件のコメント

Avatar
江田篤史

かめ様

お世話になっております。
cstapの江田と申します。

下記のコードでボタンを非表示にできます。
ただし、DOM要素のクラス名は予告なく変更される可能性があるので注意が必要です。

(function() {
"use strict";
kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event) {
[].forEach.call(document.getElementsByClassName("subtable-operation-gaia"), function(button){
button.style.display = 'none';
});
});
})();
0
Avatar
かめ

sctap江田様

ご回答ありがとうございます。実現できました。とても助かりました。

追加で質問なのですが、こちらは1レコードに複数サブテーブルがあると全ての追加や削除ができなくなりますよね。

個別に指定は可能なのでしょうか?

0
Avatar
江田篤史

かめ様

以下のようなコードで実現できるかと思います。

(function() {
"use strict";
var tableNo = 0; //ボタンを消したいテーブルの番号。(0始まり)
kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event) {
[].forEach.call(document.getElementsByClassName("subtable-gaia")[tableNo].getElementsByClassName("subtable-operation-gaia"), function(button){
button.style.display = 'none';
});
});
})();
1
Avatar
かめ

江田様

動作確認できました。重ね重ねありがとうございました。

0
Avatar
kintone初心者

横から失礼致します。

江田様が提示されている方法は、モバイル版でも動作しますでしょうか。

イベントの指定部分を以下のとおりに変更したのですが、スマートフォンのアプリでは

追加と削除のボタンが表示されたままでした。

 kintone.events.on(['mobile.app.record.create.show','mobile.app.record.edit.show'], function(event) {

ご教示の程、よろしくお願い致します。
 
0
Avatar
かめ

kintone初心者さま

江田様のソースの

kintone.events.on(['mobile.app.record.create.show','mobile.app.record.edit.show'], function(event) {

を変更しただけではモバイル端末では追加&削除のボタンは表示されたままです。

下記のように携帯のDOMに合わせたコードにすると可能かと思います。

[].forEach.call(document.getElementsByClassName("subtable-row-buttons-gaia"), function(button){
button.style.display = 'none';
});
0
Avatar
kintone初心者

かめ様

 

ご返信ありがとうございます。

DOMがPC用と携帯用で別物になるのですね。

ご教示のとおり、携帯のDOMに変更したところ

スマートフォンで追加&削除のボタンを非表示にすることができました。

大変勉強になりました。本当にありがとうございました!

0
Avatar
yamatami
ボタンを消したいテーブルの番号を調べる方法をご教示いただけないでしょうか?

0
Avatar
かめ

yamatami様

テーブル番号は、該当レコードの上から設置されている順番に0,1,2,3…と設定されています。

0
Avatar
yamatami

かめ様

ありがとうございます。

アプリの動作テストで実行したときに、+、マイナスボタンが表示されたままだったのでなやんでいたのですが、

アプリを更新してテストしてみたところ、非表示になっていました。

ありがとうございました。

 

0
Avatar
菅原直樹

個別のテーブルを消す場合に、テーブルの番号を入れている例が↑にありますが、サブテーブルの番号がクラス名subtable-gaiaで検索すると、その隣に「subtable-XXXXXXXX(XXXは数字)」というのがあるので、これを利用して、次のように書くといくつもサブテーブルがあるときに指定できます。

(function () {
"use strict";
kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function (event) {
[].forEach.call(document.getElementsByClassName("subtable-XXXXXXXX")[0].getElementsByClassName("subtable-operation-gaia"), function (button) {
button.style.display = 'none';
});
});
})();
菅原直樹により編集されました
0
サインインしてコメントを残してください。