update
This commit is contained in:
24
src/園児別出欠簿入力/BatchCreateHandler.js
Normal file
24
src/園児別出欠簿入力/BatchCreateHandler.js
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
class BatchCreateHandler {
|
||||||
|
|
||||||
|
constructor(env, headerSpace) {
|
||||||
|
BatchCreateHandler.APP_ENV = env;
|
||||||
|
|
||||||
|
const elements = createBtnGroupArea('batch-action-area', '出欠簿一括作成', this.handleCreateDate, {
|
||||||
|
btnElId: 'batch-btn',
|
||||||
|
})
|
||||||
|
if (!elements) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
headerSpace.appendChild(elements['batch-action-area']);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleCreateDate(e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static getInstance(env, headerSpace) {
|
||||||
|
if (!BatchCreateHandler.instance) {
|
||||||
|
BatchCreateHandler.instance = new BatchCreateHandler(env, headerSpace);
|
||||||
|
}
|
||||||
|
return BatchCreateHandler.instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
28
src/園児別出欠簿入力/ExtractHandler.js
Normal file
28
src/園児別出欠簿入力/ExtractHandler.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
class ExtractHandler {
|
||||||
|
constructor(env, headerSpace) {
|
||||||
|
ExtractHandler.APP_ENV = env;
|
||||||
|
|
||||||
|
const elements = createBtnGroupArea('extract-action-area', '出欠集計表出力', this.handleExtractData, {
|
||||||
|
btnElId: 'extract-btn',
|
||||||
|
yearElId: 'extract-year',
|
||||||
|
monthElId: 'extract-month',
|
||||||
|
classElId: 'extract-classroom'
|
||||||
|
})
|
||||||
|
if (!elements) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
headerSpace.appendChild(elements['extract-action-area']);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleExtractData(e, { year, month, className }) {
|
||||||
|
const fileName = getExcelName(ExtractHandler.APP_ENV, year + month + '_' + className + '組');
|
||||||
|
console.log(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
static getInstance(env, headerSpace) {
|
||||||
|
if (!ExtractHandler.instance) {
|
||||||
|
ExtractHandler.instance = new ExtractHandler(env, headerSpace);
|
||||||
|
}
|
||||||
|
return ExtractHandler.instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/園児別出欠簿入力/Link1Handler.js
Normal file
26
src/園児別出欠簿入力/Link1Handler.js
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
class Link1Handler {
|
||||||
|
|
||||||
|
constructor(env, headerSpace) {
|
||||||
|
Link1Handler.APP_ENV = env;
|
||||||
|
|
||||||
|
const elements = createBtnGroupArea('link-1-action-area', '0,1歳日誌データ連携', this.handleLink, {
|
||||||
|
btnElId: 'link-1-btn',
|
||||||
|
yearElId: 'link-1-year',
|
||||||
|
monthElId: 'link-1-month',
|
||||||
|
})
|
||||||
|
if (!elements) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
headerSpace.appendChild(elements['link-1-action-area']);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleLink(e, { year, month }) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static getInstance(env, headerSpace) {
|
||||||
|
if (!Link1Handler.instance) {
|
||||||
|
Link1Handler.instance = new Link1Handler(env, headerSpace);
|
||||||
|
}
|
||||||
|
return Link1Handler.instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
29
src/園児別出欠簿入力/Link2Handler.js
Normal file
29
src/園児別出欠簿入力/Link2Handler.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
class Link2Handler {
|
||||||
|
|
||||||
|
constructor(env, headerSpace) {
|
||||||
|
Link2Handler.APP_ENV = env;
|
||||||
|
|
||||||
|
const elements = createBtnGroupArea('link-2-action-area', '2歳以上日誌データ連携', this.handleLink, {
|
||||||
|
btnElId: 'link-2-btn',
|
||||||
|
yearElId: 'link-2-year',
|
||||||
|
monthElId: 'link-2-month',
|
||||||
|
dateElId: 'link-2-date',
|
||||||
|
defaultThisMonth: true,
|
||||||
|
})
|
||||||
|
if (!elements) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
headerSpace.appendChild(elements['link-2-action-area']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
handleLink(e, { year, month, date }) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static getInstance(env, headerSpace) {
|
||||||
|
if (!Link2Handler.instance) {
|
||||||
|
Link2Handler.instance = new Link2Handler(env, headerSpace);
|
||||||
|
}
|
||||||
|
return Link2Handler.instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
58
src/園児別出欠簿入力/clock-btn-desktop.js
Normal file
58
src/園児別出欠簿入力/clock-btn-desktop.js
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
(function () {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
// ------------------- 詳細画面表示時の処理 -------------------
|
||||||
|
kintone.events.on('app.record.detail.show', function (event) {
|
||||||
|
const area = kintone.app.record.getSpaceElement('header-clocking-btn-area');
|
||||||
|
|
||||||
|
const clockIn = createBtn('clock-in', '登園', dateToFieldInDetail('登園時刻'));
|
||||||
|
const clockOut = createBtn('clock-out', '帰園', dateToFieldInDetail('帰園時刻'));
|
||||||
|
area.appendChild(clockIn);
|
||||||
|
area.appendChild(clockOut);
|
||||||
|
|
||||||
|
hideSpaceField(['clock-in-btn-area', 'clock-out-btn-area']);
|
||||||
|
});
|
||||||
|
|
||||||
|
kintone.events.on('app.record.print.show', (event) => {
|
||||||
|
hideSpaceField(['clock-in-btn-area', 'clock-out-btn-area']);
|
||||||
|
});
|
||||||
|
|
||||||
|
function dateToFieldInDetail(fieldCode) {
|
||||||
|
return async function (e) {
|
||||||
|
await new KintoneRestAPIClient().record.updateRecord({
|
||||||
|
app: kintone.app.getId(),
|
||||||
|
id: kintone.app.record.getId(),
|
||||||
|
record: {
|
||||||
|
[fieldCode]: {
|
||||||
|
value: getCurrentTime()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------- 編集画面表示時の処理 -------------------
|
||||||
|
kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function (event) {
|
||||||
|
const clockIn = createBtn('clock-in', '登園', dateToFieldInEdit('登園時刻'));
|
||||||
|
kintone.app.record.getSpaceElement('clock-in-btn-area').appendChild(clockIn);
|
||||||
|
const clockOut = createBtn('clock-out', '帰園', dateToFieldInEdit('帰園時刻'));
|
||||||
|
kintone.app.record.getSpaceElement('clock-out-btn-area').appendChild(clockOut);
|
||||||
|
});
|
||||||
|
|
||||||
|
function dateToFieldInEdit(fieldCode) {
|
||||||
|
return function (e) {
|
||||||
|
var record = kintone.app.record.get();
|
||||||
|
record['record'][fieldCode]['value'] = getCurrentTime();
|
||||||
|
kintone.app.record.set(record);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentTime() {
|
||||||
|
const now = new Date();
|
||||||
|
const hours = String(now.getHours()).padStart(2, '0');
|
||||||
|
const minutes = String(now.getMinutes()).padStart(2, '0');
|
||||||
|
return `${hours}:${minutes}`;
|
||||||
|
}
|
||||||
|
})();
|
||||||
@@ -6,113 +6,17 @@
|
|||||||
const headerSpace = getHeaderSpace('single-label-line');
|
const headerSpace = getHeaderSpace('single-label-line');
|
||||||
|
|
||||||
if (event.viewId === APP_ENV.view["0,1歳日誌データ連携用途"]) {
|
if (event.viewId === APP_ENV.view["0,1歳日誌データ連携用途"]) {
|
||||||
const elements = createBtnGroupArea('link-1-action-area', '0,1歳日誌データ連携', handleLink1, {
|
Link1Handler.getInstance(APP_ENV, headerSpace);
|
||||||
btnElId: 'link-1-btn',
|
|
||||||
yearElId: 'link-1-year',
|
|
||||||
monthElId: 'link-1-month',
|
|
||||||
})
|
|
||||||
if (!elements) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
headerSpace.appendChild(elements['link-1-action-area']);
|
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.viewId === APP_ENV.view["2歳以上日誌データ連携用途"]) {
|
if (event.viewId === APP_ENV.view["2歳以上日誌データ連携用途"]) {
|
||||||
const elements = createBtnGroupArea('link-2-action-area', '2歳以上日誌データ連携', handleLink2, {
|
Link2Handler.getInstance(APP_ENV, headerSpace);
|
||||||
btnElId: 'link-2-btn',
|
|
||||||
yearElId: 'link-2-year',
|
|
||||||
monthElId: 'link-2-month',
|
|
||||||
dateElId: 'link-2-date',
|
|
||||||
defaultThisMonth: true,
|
|
||||||
})
|
|
||||||
if (!elements) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
headerSpace.appendChild(elements['link-2-action-area']);
|
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
const elements1 = createBtnGroupArea('batch-action-area', '出欠簿一括作成', handleCreateDate, {
|
BatchCreateHandler.getInstance(APP_ENV, headerSpace);
|
||||||
btnElId: 'batch-btn',
|
ExtractHandler.getInstance(APP_ENV, headerSpace);
|
||||||
})
|
|
||||||
const elements2 = createBtnGroupArea('extract-action-area', '出欠集計表出力', handleExtractData, {
|
|
||||||
btnElId: 'extract-btn',
|
|
||||||
yearElId: 'extract-year',
|
|
||||||
monthElId: 'extract-month',
|
|
||||||
classElId: 'extract-classroom'
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!elements1 || !elements2) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
headerSpace.appendChild(elements1['batch-action-area']);
|
|
||||||
headerSpace.appendChild(elements2['extract-action-area']);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleCreateDate(e) {
|
|
||||||
}
|
|
||||||
function handleExtractData(e, { year, month, className }) {
|
|
||||||
const fileName = getExcelName(APP_ENV, year + month + '_' + className + '組');
|
|
||||||
console.log(fileName);
|
|
||||||
}
|
|
||||||
function handleLink1(e, { year, month }) {
|
|
||||||
}
|
|
||||||
function handleLink2(e, { year, month, date }) {
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------- 詳細画面表示時の処理 -------------------
|
|
||||||
|
|
||||||
kintone.events.on('app.record.detail.show', function (event) {
|
|
||||||
const area = kintone.app.record.getSpaceElement('header-clocking-btn-area');
|
|
||||||
|
|
||||||
const clockIn = createBtn('clock-in', '登園', dateToFieldInDetail('登園時刻'));
|
|
||||||
const clockOut = createBtn('clock-out', '帰園', dateToFieldInDetail('帰園時刻'));
|
|
||||||
area.appendChild(clockIn);
|
|
||||||
area.appendChild(clockOut);
|
|
||||||
|
|
||||||
hideSpaceField(['clock-in-btn-area', 'clock-out-btn-area']);
|
|
||||||
});
|
|
||||||
|
|
||||||
kintone.events.on('app.record.print.show', (event) => {
|
|
||||||
hideSpaceField(['clock-in-btn-area', 'clock-out-btn-area']);
|
|
||||||
});
|
|
||||||
|
|
||||||
function dateToFieldInDetail(fieldCode) {
|
|
||||||
return async function (e) {
|
|
||||||
await new KintoneRestAPIClient().record.updateRecord({
|
|
||||||
app: kintone.app.getId(),
|
|
||||||
id: kintone.app.record.getId(),
|
|
||||||
record: {
|
|
||||||
[fieldCode]: {
|
|
||||||
value: getCurrentTime()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------- 編集画面表示時の処理 -------------------
|
|
||||||
kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function (event) {
|
|
||||||
const clockIn = createBtn('clock-in', '登園', dateToFieldInEdit('登園時刻'));
|
|
||||||
kintone.app.record.getSpaceElement('clock-in-btn-area').appendChild(clockIn);
|
|
||||||
const clockOut = createBtn('clock-out', '帰園', dateToFieldInEdit('帰園時刻'));
|
|
||||||
kintone.app.record.getSpaceElement('clock-out-btn-area').appendChild(clockOut);
|
|
||||||
});
|
|
||||||
|
|
||||||
function dateToFieldInEdit(fieldCode) {
|
|
||||||
return function (e) {
|
|
||||||
var record = kintone.app.record.get();
|
|
||||||
record['record'][fieldCode]['value'] = getCurrentTime();
|
|
||||||
kintone.app.record.set(record);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCurrentTime() {
|
|
||||||
const now = new Date();
|
|
||||||
const hours = String(now.getHours()).padStart(2, '0');
|
|
||||||
const minutes = String(now.getMinutes()).padStart(2, '0');
|
|
||||||
return `${hours}:${minutes}`;
|
|
||||||
}
|
|
||||||
})();
|
})();
|
||||||
Reference in New Issue
Block a user