(() => {
'use strict';
const SPACE_CODE = 'specs_btn_space';
const BTN_ID = 'add_btn';
const SET_FIELDS = [
['cpu_1','memory_1','disk_1','os_1'],
['cpu_2','memory_2','disk_2','os_2'],
['cpu_3','memory_3','disk_3','os_3'],
['cpu_4','memory_4','disk_4','os_4'],
['cpu_5','memory_5','disk_5','os_5']
];
let visibleCount = 1; // 最初は1セットだけ
const showSet = (i) => {
SET_FIELDS[i].forEach(code=>{
kintone.app.record.setFieldShown(code,true);
});
};
const hideSet = (i) => {
SET_FIELDS[i].forEach(code=>{
kintone.app.record.setFieldShown(code,false);
});
};
kintone.events.on(
['app.record.create.show','app.record.edit.show'],
function(event){
// ★最初は1セットだけ表示
showSet(0);
hideSet(1);
hideSet(2);
hideSet(3);
hideSet(4);
const space =
kintone.app.record.getSpaceElement(SPACE_CODE);
if(!space) return event;
if(document.getElementById(BTN_ID))
return event;
const btn=document.createElement('button');
btn.textContent="フィールド追加";
btn.onclick=function(){
if(visibleCount>=5){
alert("最大5セットまで");
return;
}
showSet(visibleCount);
visibleCount++;
};
space.appendChild(btn);
return event;
});
})();
コメント