VBAやpythonは書いたことありますが、JS、kintoneカスタマイズは初心者です
現在、
ドロップダウン フィールドコート「棚列」 中身「A,B,C」
ドロップダウン フィールドコート「棚行1」 中身「1,2,3」
ドロップダウン フィールドコート「棚行2」 中身「1,2,3,4,5」
文字列 フィールドコート「棚行列」 中身「棚列&棚行1&棚行2」
を作り、物理的な棚の中身を管理するアプリを作成しております。その配置をエクセル風にし、一覧に「棚行列」を表示してどこに何があるかわかるようにしております。ただし、物理的に、行の方の数字が列によって異なるため、以下のように記載しました。
(() => {
‘use strict’;
// 制御に利用するフィールドコード
const statusFieldCode_ = ‘棚列’;
// 表示非表示を切り替えるフィールドのフィールドコード
const fieldCodes1 = ‘棚行1’; //Aのとき
const fieldCodes2 = ‘棚行2’; //B,Cのとき
//
kintone.events.on([
‘app.record.create.show’,
‘app.record.edit.show’,
app.record.create.change.${statusFieldCode_}
,
app.record.edit.change.${statusFieldCode_}
], (event) => {
const record = event.record;
const statusFieldValue_ = record[statusFieldCode_].value;
if (statusFieldValue_ == 'A') {
kintone.app.record.setFieldShown(fieldCodes1, true);
kintone.app.record.setFieldShown(fieldCodes2, false);
record['棚行2'].value = null;
} else if (statusFieldValue_ == 'B'|| statusFieldValue_ == 'C') {
kintone.app.record.setFieldShown(fieldCodes1, false);
kintone.app.record.setFieldShown(fieldCodes2, true);
record['棚行1'].value = null;
} else {
kintone.app.record.setFieldShown(fieldCodes1, false);
kintone.app.record.setFieldShown(fieldCodes2, false);
record['棚行1'].value = null;
record['棚行2'].value = null;
};
return event;
});
})();
ただし、ここで、最後のelseが棚列のデフォルト"-----"を選ばれたときにこのような動作を期待しているのですが、実際には実行されません。棚に置かない大きなものも管理対象としているため、棚列等を必須項目にはできず、例えば、A1と選んだ後に、Aを-----のデフォルトに戻しても棚行1の1が選択されたまま、保存されるということが起こり、デフォルト時に、nullを入れたい(できれば、falseも)のですが、どうすればよいでしょうか?