56 lines
1.7 KiB
JavaScript
56 lines
1.7 KiB
JavaScript
(function () {
|
||
"use strict";
|
||
|
||
// マイビューのID
|
||
const mineView = 8352036;
|
||
// 分類フィールドのプレースホルダー
|
||
const classifyField = "${classify}";
|
||
|
||
// ボタン分類マッピング
|
||
const btnClassifyMap = {
|
||
"1歳児": "(0~2歳)",
|
||
"2歳児": "(0~2歳)",
|
||
"3歳児": "(3~5歳)",
|
||
"4歳児": "(3~5歳)",
|
||
"5歳児": "(3~5歳)",
|
||
"5歳児": "(3~5歳)",
|
||
}
|
||
|
||
// アクションマッピング
|
||
const actionMap = {
|
||
"担任作成中": `指導教諭確認依頼${classifyField}`,
|
||
"指導教諭確認中": `承認する`,
|
||
"主幹確認中": `承認する`,
|
||
"園長確認中": `承認する${classifyField}`
|
||
}
|
||
|
||
/**
|
||
* ステータスから接頭辞を取得する
|
||
* @param {string} status - ステータス文字列
|
||
*/
|
||
const getStatusPrefix = (status) => {
|
||
return status.split("(")[0];
|
||
};
|
||
|
||
// kintoneイベントの登録
|
||
kintone.events.on("app.record.index.show", (event) => {
|
||
// 特定のビューの場合のみ処理を実行
|
||
if (event.viewId === mineView) {
|
||
// BatchApprovalHandlerクラスのインスタンスを作成
|
||
const batchApproval = new BatchApprovalHandler(
|
||
mineView,
|
||
classifyField,
|
||
btnClassifyMap,
|
||
actionMap,
|
||
getStatusPrefix,
|
||
_StatusFieldMap
|
||
);
|
||
|
||
// 一括承認ボタンを作成
|
||
batchApproval.createApproveBtn();
|
||
}
|
||
return event;
|
||
});
|
||
|
||
})();
|