{"version":3,"file":"list-6ys0H0aS.js","sources":["../../../app/frontend/entrypoints/controllers/teams/calendar/overview/list.ts"],"sourcesContent":["import jQuery from 'jquery/dist/jquery';\nimport * as bootstrap from 'bootstrap'\nimport Utils from '../../../../utils'\nimport DefaultController from \"../../../defaultController\";\n\nexport default class TeamsCalendarList extends DefaultController {\n private changed = false\n private currentDate = new Date();\n private mode: any = null\n private users = []\n private absentOnly = false\n private sickOnly = false\n getEntityData(elem: any) {\n return {}\n }\n\n async init() {\n await super.init()\n if (!this.mode) {\n this.mode = ((document.querySelector(\"#calendar_row\") as HTMLDivElement).getAttribute(\"data-mode\") as string)\n }\n this.setInputValue();\n }\n\n async updateContent() {\n if (!this.mode) {\n this.mode = ((document.querySelector(\"#calendar_row\") as HTMLDivElement).getAttribute(\"data-mode\") as string)\n }\n await Utils.showLoader()\n const content = await Utils.entity.request(`/api/v1/calendar/content`, \"POST\", {\n date: this.currentDate.getTime(),\n users: this.users,\n mode: this.mode,\n absent_only: this.absentOnly,\n sick_only: this.sickOnly,\n });\n if (content.status === 200) {\n (document.querySelector(\"#calendar_row\") as HTMLDivElement).innerHTML = content.content\n }\n await Utils.hideLoader()\n }\n\n bindListeners() {\n (document.querySelector(\"#calendar_prev\") as HTMLElement).addEventListener(\"click\", async (e) => {\n this.changed = true\n e.preventDefault()\n if (this.mode === \"weekly\") {\n const d = new Date(this.currentDate);\n d.setDate(d.getDate() - 7);\n this.currentDate = d\n } else if(this.mode === \"daily\") {\n const d = new Date(this.currentDate);\n d.setDate(d.getDate() - 1)\n this.currentDate = d\n } else {\n const d = new Date(this.currentDate);\n d.setMonth(d.getMonth() - 1)\n this.currentDate = d\n }\n await this.updateContent()\n this.setInputValue()\n });\n\n (document.querySelector(\"#calendar_next\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n this.changed = true\n e.preventDefault()\n if (this.mode === \"weekly\") {\n const d = new Date(this.currentDate);\n d.setDate(d.getDate() + 7);\n this.currentDate = d\n } else if(this.mode === \"daily\") {\n const d = new Date(this.currentDate);\n d.setDate(d.getDate() + 1)\n this.currentDate = d\n } else {\n const d = new Date(this.currentDate);\n d.setMonth(d.getMonth() + 1)\n this.currentDate = d\n }\n await this.updateContent()\n this.setInputValue()\n });\n (document.querySelector(\"#calendar_absent_only\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n if (this.absentOnly) {\n (document.querySelector(\"#calendar_absent_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_absent\")\n this.absentOnly = false;\n\n (document.querySelector(\"#calendar_sick_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_sick\");\n this.sickOnly = false;\n\n } else {\n (document.querySelector(\"#calendar_absent_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.show_all\");\n (document.querySelector(\"#calendar_sick_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_sick\");\n this.sickOnly = false;\n this.absentOnly = true;\n }\n await this.updateContent()\n this.setInputValue()\n });\n (document.querySelector(\"#calendar_sick_only\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n if (this.sickOnly) {\n (document.querySelector(\"#calendar_sick_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_sick\")\n this.sickOnly = false;\n\n (document.querySelector(\"#calendar_absent_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_absent\");\n this.absentOnly = false;\n } else {\n (document.querySelector(\"#calendar_sick_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.show_all\")\n this.sickOnly = true;\n (document.querySelector(\"#calendar_absent_only\") as HTMLButtonElement).innerHTML = Utils.translate(\"calendar.only_show_absent\");\n this.absentOnly = false;\n }\n await this.updateContent()\n this.setInputValue()\n });\n\n (document.querySelector(\"#calendar_daily\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const v = (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value\n if (this.changed) {\n this.currentDate = this.parseDate(v)\n } else {\n this.currentDate = new Date()\n }\n document.querySelectorAll(\".calendar_btn\").forEach((e) => {\n e.classList.remove(\"btn-primary\")\n e.classList.add(\"btn-secondary\")\n });\n (document.querySelector(\"#calendar_daily\") as HTMLButtonElement).classList.add(\"btn-primary\");\n (document.querySelector(\"#calendar_daily\") as HTMLButtonElement).classList.remove(\"btn-secondary\");\n this.mode = \"daily\";\n await this.updateContent()\n this.setInputValue()\n });\n\n (document.querySelector(\"#calendar_weekly\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const v = (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value;\n if (this.changed) {\n this.currentDate = this.parseDate(v)\n } else {\n this.currentDate = new Date()\n };\n\n document.querySelectorAll(\".calendar_btn\").forEach((e) => {\n e.classList.remove(\"btn-primary\")\n e.classList.add(\"btn-secondary\")\n });\n\n (document.querySelector(\"#calendar_weekly\") as HTMLButtonElement).classList.add(\"btn-primary\");\n (document.querySelector(\"#calendar_weekly\") as HTMLButtonElement).classList.remove(\"btn-secondary\");\n this.mode = \"weekly\";\n await this.updateContent()\n this.setInputValue()\n });\n\n (document.querySelector(\"#calendar_monthly\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const v = (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value;\n if (this.changed) {\n this.currentDate = this.parseDate(v)\n } else {\n this.currentDate = new Date()\n }\n document.querySelectorAll(\".calendar_btn\").forEach((e) => {\n e.classList.remove(\"btn-primary\")\n e.classList.add(\"btn-secondary\")\n });\n (document.querySelector(\"#calendar_monthly\") as HTMLButtonElement).classList.add(\"btn-primary\");\n (document.querySelector(\"#calendar_monthly\") as HTMLButtonElement).classList.remove(\"btn-secondary\")\n this.mode = \"monthly\";\n await this.updateContent()\n this.setInputValue()\n })\n\n\n jQuery('#calendar_user_select').on('select2:select', async (e: any) => {\n const data = e.params.data;\n console.log(data);\n // @ts-ignore\n this.users.push(data.id)\n await this.updateContent()\n });\n jQuery('#calendar_user_select').on('select2:unselect', async (e: any) => {\n const data = e.params.data;\n this.users = this.users.filter(u => u !== data.id)\n await this.updateContent()\n });\n }\n\n setInputValue() {\n if (this.mode === \"monthly\") {\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).setAttribute(\"type\", \"month\")\n let month: any = this.currentDate.getMonth()+1\n if (month <= 9) {\n month = `0${month}`\n }\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).setAttribute(\"type\", \"month\");\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value = `${this.currentDate.getFullYear()}-${month}`\n } else if(this.mode === \"daily\") {\n let month: any = this.currentDate.getMonth()+1\n if (month <= 9) {\n month = `0${month}`\n }\n let day: any = this.currentDate.getDate()\n if (day === 0) {\n day = 1\n }\n if (day <= 9) {\n day = `0${day}`\n }\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).setAttribute(\"type\", \"date\");\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value = `${this.currentDate.getFullYear()}-${month}-${day}`\n } else {\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).setAttribute(\"type\", \"week\");\n (document.querySelector(\"#calendar_times_date\") as HTMLInputElement).value = `${this.currentDate.getFullYear()}-W${this.getWeekNumber(this.currentDate)}`\n }\n (document.querySelector(\".calendar-title\") as HTMLElement).innerHTML = this.currentDate.toLocaleString(navigator.language, { month: \"long\", year: \"numeric\" });\n }\n getWeekNumber(date: Date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n const dayNum = d.getUTCDay() || 7;\n d.setUTCDate(d.getUTCDate() + 4 - dayNum);\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));\n // @ts-ignore\n let num: any = Math.ceil((((d - yearStart) / 86400000) + 1)/7)\n if (num <= 9) {\n num = `0${num}`\n }\n return num;\n }\n\n parseDate(v: any) {\n if (this.mode === \"monthly\") {\n return this.parseMonth(v)\n } else if(this.mode === \"daily\") {\n return this.parseDay(v)\n } else {\n return this.parseWeek(v)\n }\n }\n\n parseDay(v: any) {\n return new Date(v.split(\"-\")[0], parseInt(v.split(\"-\")[1])-1, v.split(\"-\")[2])\n }\n\n parseMonth(v: any) {\n return new Date(v.split(\"-\")[0], parseInt(v.split(\"-\")[1])-1, 10)\n }\n\n parseWeek(v: string) {\n const w = v.split(\"-\")[1].replace(\"W\", \"\")\n const y = v.split(\"-\")[0]\n // @ts-ignore\n const d = (1 + (w - 1) * 7);\n // @ts-ignore\n return new Date(y, 0, d);\n }\n}"],"names":["e"],"mappings":"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"}