var fields = [
{ to: ‘employee_name’, from: [‘FirstName’,‘LastName’,‘Nickname’], sep: ‘-’ },
// { to: ‘employee_name’, from: [‘FirstName’,‘LastName’,‘Nickname’], sep: ‘’ }
];
// 追加、編集画面表示イベント
kintone.events.on([‘app.record.create.show’,‘app.record.edit.show’,‘app.record.index.edit.show’], function (event) {
var record = event.record;
for (var i = 0; i < fields.length; i++) {
record[fields[i].to].disabled = true;
}
return event;
});
// text change イベント
var changeType = {};
for (var i = 0; i < fields.length; i++) {
for (var j = 0; j < fields[i].from.length; j++) {
changeType[‘app.record.create.change.’ + fields[i].from[j]] = i;
changeType[‘app.record.edit.change.’ + fields[i].from[j]] = i;
changeType[‘app.record.index.create.change.’ + fields[i].from[j]] = i;
changeType[‘app.record.index.edit.change.’ + fields[i].from[j]] = i;
}
}
var changeEvents = Object.keys(changeType);
kintone.events.on(changeEvents, function(event) {
var record = event.record;
var pno = changeType[event.type];
var to = fields[pno].to;
var sep = fields[pno].sep;
record[to].value = concatText(fields[pno].from, sep);
return event;
function concatText(pArray, pSeparator) {
var str = ‘’;
for (var i = 0; i < pArray.length; i++) {
if (record[pArray[i]].value) {
if (str) {
str += pSeparator;
}
str += record[pArray[i]].value;
}
}
return str;
}