diff --git a/src/園児別出欠簿入力/detail-page-desktop.js b/src/園児別出欠簿入力/detail-page-desktop.js index b6e1505..4a1426a 100644 --- a/src/園児別出欠簿入力/detail-page-desktop.js +++ b/src/園児別出欠簿入力/detail-page-desktop.js @@ -87,6 +87,32 @@ return event; }); + // -------------------「園での様子_入力者」の処理 ------------------- + const _DATA_HOLDER_MAP = {} + + // 「園での様子_伝達事項」はテキストエリア(複数行入力欄)であり、app.record.edit.changeイベントをサポートしていません + // したがって、データを事前に保存しておき、保存(submit)時のタイミングで更新を行います。 + kintone.events.on(['app.record.index.edit.show', 'app.record.create.show', 'app.record.edit.show'], function (event) { + _DATA_HOLDER_MAP['isEditorChanged'] = false; + _DATA_HOLDER_MAP['prevSituationValue'] = event.record['園での様子_伝達事項']['value'] || ''; + return event; + }); + + kintone.events.on(['app.record.create.change.園での様子_入力者', 'app.record.edit.change.園での様子_入力者', 'app.record.index.edit.change.園での様子_入力者'], function(event) { + _DATA_HOLDER_MAP['isEditorChanged'] = true; + return event; + }); + + kintone.events.on(['app.record.create.submit', 'app.record.edit.submit', 'app.record.index.edit.submit'], function (event) { + const current = event.record['園での様子_伝達事項']['value'] || ''; + + if (_DATA_HOLDER_MAP['prevSituationValue'] != current && !_DATA_HOLDER_MAP['isEditorChanged']) { + event.record['園での様子_入力者']['value'] = [kintone.getLoginUser()]; + } + + return event; + }); + //PVC追加 function dateToFieldInEditIn() { return function (e) {