サブテーブルの行追加・削除ボタンの位置について

1つのアプリ内に複数のサブテーブルがあり、

あるサブテーブルは項目数が多くなってしまったため、行追加・削除ボタンが右スクロールしないと押せなくなってしまいました。

ボタンを押すためにスクロールするのも面倒と思い、ボタンの位置をサブテーブルの左側へ変更したいと思い下記のようにコードを書いてみました。


kintone.events.on(‘app.record.create.show’,‘app.record.edit.show’, function(event) {

//サブテーブル 追加ボタンの位置調整
for (var tbl_id = 0; tbl_id < 10; tbl_id++) {
[].forEach.call(document.getElementsByClassName(“subtable-gaia”)[tbl_id].getElementsByClassName(“subtable-operation-gaia”), function(button){
button.style.position = ‘absolute’;
button.style.marginLeft = ‘-3240px’;
button.style.marginTop = ‘50px’;
});
}


※項目数が多いサブテーブルが10個あり、それより後に、項目数の少ないサブテーブルがある状況です。

 

これにより、ボタンが左側へは行ったのですが、

行を追加すると追加した行のボタンはデフォルトの位置(サブテーブルの右側)になってしまいます。

(登録、変更画面を開いた時にあるサブテーブルの行にのみ摘要されている)

 

追加された行にも摘要するために何か良い方法はないものでしょうか?

 

よろしくお願い致します。

加藤雅之さま

追加されたときは、changesイベントを使って改めて位置調整をしたほうがいいかと思います。

milkyway0307 さま

 

コメントありがとうございます。

 

changesイベントでうまく位置調整することができました。

ありがとうございます。

 

参考までにですが、

change .テーブルID という記述で今回位置調整することは出来たのですが

行追加ボタンが押されたときのイベントの拾い方は上記の記述であっているのでしょうか? 

(行追加ボタンが押されたとき以外にもイベントが発生するような気もしております。)

 

もし上記の記述ではおかしいようでしたら、

行追加ボタンが押されたときの正しいイベントの拾い方(コードの書き方)をご教示頂ければと思います。

 

よろしくお願い致します。

 

 

加藤雅之さま

仰るように、行の追加・削除を含めて、入力値の変更などさまざまな変化にもイベントが発火するはずです。

それをご理解頂いた上でプログラミングするのであれば、まず問題ないかと思います。

milkyway0307 さま

 

度々ありがとうございます。

 

今回は、ボタン位置の調整で、行追加ボタン以外のときにイベント発生しても問題ないので、

先ほどの記述でよしとしておきます。

 

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