{"version":3,"file":"services_bsm-blHIZod9.js","sources":["../../../app/frontend/entrypoints/controllers/ticket/overview/show/services_bsm.ts"],"sourcesContent":["import jQuery from 'jquery/dist/jquery';\nimport Swal from 'sweetalert2';\nimport * as bootstrap from 'bootstrap'\nimport TicketShowServices from \"./services\";\nimport Utils from \"../../../../utils\";\nimport Calendar from '@event-calendar/core';\nimport DayGrid from '@event-calendar/day-grid';\nimport TimeGrid from '@event-calendar/time-grid';\nimport Interaction from '@event-calendar/interaction';\n\n\nexport default class TicketShowServicesBSM extends TicketShowServices {\n\n private calendars: any = {}\n createCalendar() {\n //noop\n }\n\n bindListeners() {\n super.bindListeners();\n (document.querySelector(\"#ticket_service_calendar_picker\") as HTMLButtonElement).addEventListener(\"change\", async (e) => {\n e.preventDefault();\n const calendarIds = Object.keys(this.calendars);\n calendarIds.forEach((calendarId: string) => {\n const calendar = this.calendars[calendarId];\n let oldDate = (document.querySelector(\"#ticket_service_calendar_picker\") as HTMLInputElement).valueAsDate;\n if (oldDate) {\n calendar.setOption('date', oldDate);\n const header = document.querySelector(\"#ticket_service_calendar_date\");\n if (header) {\n header.innerHTML = `

${oldDate.toLocaleDateString(\"de-DE\", {month: \"2-digit\", year: \"numeric\", day: \"2-digit\"})}

`\n }\n }\n })\n });\n (document.querySelector(\"#ticket_service_calendar_arrows_prev\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const calendarIds = Object.keys(this.calendars);\n calendarIds.forEach((calendarId: string) => {\n const calendar = this.calendars[calendarId];\n let oldDate = calendar.getOption('date');\n oldDate.setDate(oldDate.getDate() - 1)\n calendar.setOption('date', oldDate);\n const header = document.querySelector(\"#ticket_service_calendar_date\");\n if (header) {\n header.innerHTML = `

${oldDate.toLocaleDateString(\"de-DE\", {month: \"2-digit\", year: \"numeric\", day: \"2-digit\"})}

`\n }\n oldDate.setDate(oldDate.getDate() + 1);\n (document.querySelector(\"#ticket_service_calendar_picker\") as HTMLInputElement).value = oldDate.toISOString().substr(0, 10);\n })\n });\n (document.querySelector(\"#ticket_service_calendar_arrows_next\") as HTMLButtonElement).addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const calendarIds = Object.keys(this.calendars);\n calendarIds.forEach((calendarId: string) => {\n const calendar = this.calendars[calendarId];\n let oldDate = calendar.getOption('date');\n oldDate.setDate(oldDate.getDate() + 1)\n calendar.setOption('date', oldDate);\n const header = document.querySelector(\"#ticket_service_calendar_date\");\n if (header) {\n header.innerHTML = `

${oldDate.toLocaleDateString(\"de-DE\", {month: \"2-digit\", year: \"numeric\", day: \"2-digit\"})}

`\n }\n oldDate.setDate(oldDate.getDate() + 1);\n (document.querySelector(\"#ticket_service_calendar_picker\") as HTMLInputElement).value = oldDate.toISOString().substr(0, 10);\n })\n });\n }\n\n createUserCalendar(element: any, userUuid: string, userTitle: string, userColor: string) {\n const calendar = new Calendar({\n target: element,\n props: {\n plugins: [DayGrid, TimeGrid, Interaction],\n options: {\n view: 'timeGridDay',\n views: {timeGridDay: {pointer: true}},\n resources: [{id: 0, title: userTitle, color: userColor, uuid: userUuid}],\n scrollTime: '09:00:00',\n allDaySlot: false,\n events: [],\n nowIndicator: true,\n selectable: true,\n selectBackgroundColor: userColor,\n firstDay: 1,\n headerToolbar: {\n start: \"\",\n center: ``,\n end: \"\"\n },\n eventDrop: async (info: any) => {\n const e = info.event;\n const id = e.id;\n const start = e.start.toUTCString();\n const end = e.end.toUTCString();\n await Utils.entity.upsert({\n uuid: id,\n from: start,\n to: end\n }, \"calendar_appointments\")\n await this.datatable.ajax.reload();\n\n },\n eventClick: (info: any) => {\n if (this.calendarDropdown) {\n if (this.calendarDropdownActive) {\n this.calendarDropdownActive = false;\n this.calendarDropdownActiveEvent = {}\n this.calendarDropdown.classList.remove(\"show\");\n } else {\n const e = info.jsEvent;\n e.preventDefault();\n //@ts-ignore\n const offset = document.querySelector(\"#editTicketServiceMap .modal-content\").getBoundingClientRect()\n const bodyOffsets = document.body.getBoundingClientRect();\n const x = e.pageX - 50;\n const y = e.pageY - 50 - offset.top;\n this.calendarDropdown.style.top = `${y}px`;\n this.calendarDropdown.style.left = `${x}px`;\n this.calendarDropdown.classList.add(\"show\")\n this.calendarDropdownActive = true;\n\n this.calendarDropdownActiveEvent = info.event;\n }\n }\n },\n eventResize: async (info: any) => {\n const e = info.event;\n const id = e.id;\n const start = e.start.toUTCString();\n const end = e.end.toUTCString();\n await Utils.entity.upsert({\n uuid: id,\n from: start,\n to: end\n }, \"calendar_appointments\");\n await this.datatable.ajax.reload();\n },\n select: async (info: any) => {\n console.log(\"AAAAAA\");\n const start = info.start.toUTCString();\n const end = info.end.toUTCString();\n const reply = await Utils.entity.upsert({\n from: start,\n to: end,\n user_id: userUuid,\n ticket_service_map_id: this.calendarCurrentServiceId\n }, \"calendar_appointments\")\n await this.datatable.ajax.reload();\n const appointment = reply.data[0]\n if (calendar) {\n calendar.unselect()\n let title = appointment.title\n if (appointment.external) {\n title = `[EXTERN]${title}`\n }\n calendar.addEvent({id: appointment.uuid, start: appointment.from, end: appointment.to, resourceId: 0, title: title, color: userColor})\n }\n }\n }\n }\n });\n\n const events = this.calendarAppointmentList[userUuid]\n if (events) {\n events.forEach((appointment: any) => {\n if (calendar) {\n let title = appointment.title\n if (appointment.external) {\n title = `[EXTERN]${title}`\n }\n calendar.addEvent({id: appointment.id, start: appointment.start, end: appointment.end, resourceId: 0, title: title, color: userColor, editable: appointment.editable, extendedProps: {external: appointment.external}})\n }\n })\n }\n this.calendars[userUuid] = calendar;\n\n\n const oldDate = new Date();\n const header = document.querySelector(\"#ticket_service_calendar_date\");\n if (header) {\n header.innerHTML = `

${oldDate.toLocaleDateString(\"de-DE\", {month: \"2-digit\", year: \"numeric\", day: \"2-digit\"})}

`\n }\n }\n\n onUserClick(e: any) {\n const currentTarget = e.currentTarget;\n const resourceId = currentTarget.getAttribute(\"data-resource-id\") as string;\n const uuid = currentTarget.getAttribute(\"data-resource-uuid\") as string;\n const name = currentTarget.getAttribute(\"data-resource-name\") as string ;\n const color = currentTarget.getAttribute(\"data-color\") as string;\n const parent = document.querySelector(\"#ticket_service_calendars\") as HTMLElement;\n\n const currentIds = Object.keys(this.calendars)\n if (this.calendars[uuid]) {\n this.calendars[uuid].destroy();\n parent.removeChild((document.querySelector(`#column_${uuid}`) as HTMLElement));\n delete this.calendars[uuid];\n currentTarget.classList.remove(\"active\");\n } else if (currentIds.length <= 5) {\n const parentElem = document.createElement('div');\n parentElem.classList.add(\"col-2\");\n parentElem.id = `column_${uuid}`\n const row = document.createElement('div');\n row.classList.add(\"row\");\n row.innerHTML = `
${name}
`;\n\n const rowCalendar = document.createElement('div');\n rowCalendar.classList.add(\"row\");\n this.createUserCalendar(rowCalendar, uuid, name, color)\n\n parentElem.appendChild(row);\n parentElem.appendChild(rowCalendar);\n\n parent.appendChild(parentElem);\n currentTarget.classList.add(\"active\");\n }\n console.log(\"this.calendars\", this.calendars);\n }\n}"],"names":["DayGrid","TimeGrid","Interaction"],"mappings":"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"}