チェックONボタンを押すことで一括でチェックを入れることができます。
今回は絞り込んだ結果に一括更新を行なってみます。
山田さんのデータが絞り込まれました。
チェックONを押して山田さんのcheckBoxのみに値を入れます
山田さんのCheckBoxにのみ確認が入りました。
次はチェックを一括で消してみます。
チェックOFFボタンを押します。
一括で消すことができました。
一括更新.js
(function() {
'use strict';
const getquery = function() {
const appNo = kintone.app.getId()
const OnBtnUpdate = document.createElement('button');
OnBtnUpdate.innerText = 'チェックON';
OnBtnUpdate.id = 'ONDateButton';
const OFFBtnUpdate = document.createElement('button');
OFFBtnUpdate.innerText = 'チェックOFF';
OFFBtnUpdate.id = 'OFFDateButton';
// ボタン増殖防止
if (document.getElementById('ONDateButton') !== null) {
return;
}
// ボタン増殖防止
if (document.getElementById('OFFDateButton') !== null) {
return;
}
// 絞り込み条件取得
const queryCondition = kintone.app.getQueryCondition();
// ONボタンクリック後の処理
OnBtnUpdate.onclick = function() {
const client = new KintoneRestAPIClient();
const getnoparams = {
app: appNo,
query: '' + queryCondition + '',
fields: ['$id', 'checkBox']
};
const checkOnRecords = [];
client.record.getAllRecordsWithCursor(getnoparams).then((resp) => {
// レコードの数でループ
for (let i = 0; i < resp.length; i++) {
checkOnRecords[i] = {
'id': resp[i].$id.value,
'record': {
'checkBox': {
'value': ['確認']
}
}
};
}
const putrecords = {
app: appNo,
records: checkOnRecords
};
client.record.updateAllRecords(putrecords).then(() => {
alert('一括でチェックしました。');
location.reload();
}).catch((error) => {
alert('一括チェックに失敗しました。');
});
});
};
// OFFボタンクリック後の処理
OFFBtnUpdate.onclick = function() {
const client = new KintoneRestAPIClient();
const getnoparams = {
app: appNo,
query: '' + queryCondition + '',
fields: ['$id', 'checkBox']
};
const checkOffRecords = [];
client.record.getAllRecordsWithCursor(getnoparams).then((resp) => {
// レコードの数でループ
for (let i = 0; i < resp.length; i++) {
checkOffRecords[i] = {
'id': resp[i].$id.value,
'record': {
'checkBox': {
'value': []
}
}
};
}
const putrecords = {
app: appNo,
records: checkOffRecords
};
client.record.updateAllRecords(putrecords).then((resp2) => {
alert('一括でチェックを外しました。');
location.reload();
}).catch((error) => {
alert('更新に失敗しました。');
});
});
};
// ボタン設置
kintone.app.getHeaderMenuSpaceElement().appendChild(OnBtnUpdate);
kintone.app.getHeaderMenuSpaceElement().appendChild(OFFBtnUpdate);
}
const eventlist = [
'app.record.index.show'
];
kintone.events.on(eventlist, getquery);
})();