{"version":3,"file":"app.js","mappings":"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","sources":["webpack://culturalartsplanning/./Content/scss/app.scss?dfad","webpack://culturalartsplanning/./Content/scss/vendors.scss?d67a","webpack://culturalartsplanning/./Content/ts/Components.tsx","webpack://culturalartsplanning/./Content/ts/app.tsx","webpack://culturalartsplanning/./Content/ts/common/apiClient.ts","webpack://culturalartsplanning/./Content/ts/common/applicationUtils.ts","webpack://culturalartsplanning/./Content/ts/common/dateUtils.ts","webpack://culturalartsplanning/./Content/ts/common/enums.ts","webpack://culturalartsplanning/./Content/ts/common/errorMessages.ts","webpack://culturalartsplanning/./Content/ts/common/index.ts","webpack://culturalartsplanning/./Content/ts/common/inlineStyles.ts","webpack://culturalartsplanning/./Content/ts/common/numberUtils.ts","webpack://culturalartsplanning/./Content/ts/common/planningUtils.ts","webpack://culturalartsplanning/./Content/ts/common/siteUtils.ts","webpack://culturalartsplanning/./Content/ts/common/stringUtils.ts","webpack://culturalartsplanning/./Content/ts/components/ActorContracts/ActorContractCreation.tsx","webpack://culturalartsplanning/./Content/ts/components/ActorContracts/ActorTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/ActorContracts/OccasionScheduleTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/ActorContracts/SelectedApplicationTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/ActorContracts/index.tsx","webpack://culturalartsplanning/./Content/ts/components/BlockedDates/index.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/Calender/NoScrollCalenderCaptions.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/LoadingSpinner.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/Messages/ErrorMessage.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/Messages/InfoMessage.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/Messages/SuccessMessage.tsx","webpack://culturalartsplanning/./Content/ts/components/Common/ProgressBar.tsx","webpack://culturalartsplanning/./Content/ts/components/InformationPanel/AgeChart.tsx","webpack://culturalartsplanning/./Content/ts/components/InformationPanel/Budgets.tsx","webpack://culturalartsplanning/./Content/ts/components/InformationPanel/GenreChart.tsx","webpack://culturalartsplanning/./Content/ts/components/InformationPanel/index.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationDatesAccordionItem.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationDetailsAccordionItem.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationPlanningFilter.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationSiteSelection.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationSiteSelectionFilter.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationSiteSelectionTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/ApplicationTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/ApplicationPlanning/index.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/DateFilterModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/PlanningModal/PlanningCalendar.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/PlanningModal/index.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/PlanningOverviewAccordionItem.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/PlanningOverviewTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/AvailableSiteDateAccordionItem.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SiteApplicationSelection.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SiteApplicationSelectionFilter.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SiteApplicationSelectionTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SiteDetailsAccordionItem.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SitePlanningFilter.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/SiteTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Planning/SitePlanning/index.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/AdjustPriceModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/AdjustSelectionAgeTagsModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/ApplicationDetailsModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/ApplicationSelectionColorModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/Filter.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/SelectionCommentModal.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/SelectionOverviewAccordion.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/SelectionSummaryMail.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/SelectionTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/Selection/index.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteContracts/InternalSiteAgreement.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteContracts/SiteContractCreation.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteContracts/SiteScheduleTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteContracts/SiteTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteContracts/index.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteSelection/CalenderModal.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteSelection/SiteTableRow.tsx","webpack://culturalartsplanning/./Content/ts/components/SiteSelection/index.tsx","webpack://culturalartsplanning/./Pages/ApplicationPeriods/application_period_create_update.ts","webpack://culturalartsplanning/./Pages/ApplicationPeriods/application_periods_index.ts","webpack://culturalartsplanning/./Pages/Application/application_create_update.ts","webpack://culturalartsplanning/./Pages/Application/application_display.ts","webpack://culturalartsplanning/./Pages/Applications/applications_index.ts","webpack://culturalartsplanning/./Pages/Sites/site_create_update.ts","webpack://culturalartsplanning/./Pages/Sites/sites_index.ts","webpack://culturalartsplanning/webpack/bootstrap","webpack://culturalartsplanning/webpack/runtime/chunk loaded","webpack://culturalartsplanning/webpack/runtime/compat get default export","webpack://culturalartsplanning/webpack/runtime/define property getters","webpack://culturalartsplanning/webpack/runtime/global","webpack://culturalartsplanning/webpack/runtime/hasOwnProperty shorthand","webpack://culturalartsplanning/webpack/runtime/make namespace object","webpack://culturalartsplanning/webpack/runtime/node module decorator","webpack://culturalartsplanning/webpack/runtime/jsonp chunk loading","webpack://culturalartsplanning/webpack/before-startup","webpack://culturalartsplanning/webpack/startup","webpack://culturalartsplanning/webpack/after-startup"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","import React from \"react\";\r\nimport { createRoot } from \"react-dom/client\";\r\nimport SiteSelection from \"./components/SiteSelection\";\r\n\r\nimport Selection from \"./components/Selection\";\r\nimport ApplicationPlanning from \"./components/Planning/ApplicationPlanning\";\r\nimport ApplicationSiteSelection from \"./components/Planning/ApplicationPlanning/ApplicationSiteSelection\";\r\nimport SitePlanning from \"./components/Planning/SitePlanning\";\r\nimport SiteApplicationSelection from \"./components/Planning/SitePlanning/SiteApplicationSelection\";\r\nimport ActorContracts from \"./components/ActorContracts\";\r\nimport ActorContractCreation from \"./components/ActorContracts/ActorContractCreation\";\r\nimport SelectionSummaryMail from \"./components/Selection/SelectionSummaryMail\";\r\nimport SiteContracts from \"./components/SiteContracts\";\r\nimport SiteContractCreation from \"./components/SiteContracts/SiteContractCreation\";\r\nimport InternalSiteAgreement from \"./components/SiteContracts/InternalSiteAgreement\";\r\nimport BlockedDates from \"./components/BlockedDates\";\r\n\r\nexport default class Components {\r\n enableSelectionComponent = () => {\r\n const container = document.getElementById(\"selection-page-component\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const targetGroup = container.getAttribute(\"data-target-group\");\r\n const isCulturalManagement = container.dataset.isCulturalManagement === \"True\";\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableSiteSelectionComponent = () => {\r\n const container = document.getElementById(\"site-selection-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n\r\n const root = createRoot(container);\r\n root.render();\r\n }\r\n };\r\n\r\n enableApplicationPlanningComponent = () => {\r\n const container = document.getElementById(\"application-planning-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const canManagePlanning = container.getAttribute(\"data-can-manage-planning\");\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableApplicationSiteSelectionComponent = () => {\r\n const container = document.getElementById(\"application-site-selection-container\");\r\n\r\n if (container) {\r\n const applicationId = container.getAttribute(\"data-application-id\");\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const canManagePlanning = container.dataset[\"canManagePlanning\"];\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableSitePlanningComponent = () => {\r\n const container = document.getElementById(\"site-planning-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const canManagePlanning = container.dataset[\"canManagePlanning\"];\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableSiteApplicationSelectionComponent = () => {\r\n const container = document.getElementById(\"site-application-selection-container\");\r\n\r\n if (container) {\r\n const siteId = container.getAttribute(\"data-site-id\");\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const canManagePlanning = container.dataset[\"canManagePlanning\"];\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableActorContracts = () => {\r\n const container = document.getElementById(\"actor-contracts-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n\r\n const root = createRoot(container);\r\n root.render();\r\n }\r\n };\r\n\r\n enableActorContractCreation = () => {\r\n const container = document.getElementById(\"actor-contract-creation-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const cultureProviderId = container.getAttribute(\"data-culture-provider-id\");\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableSiteContracts = () => {\r\n const container = document.getElementById(\"site-contracts-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n\r\n const root = createRoot(container);\r\n root.render();\r\n }\r\n };\r\n\r\n enableSiteContractCreation = () => {\r\n const container = document.getElementById(\"site-contract-creation-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const siteId = container.getAttribute(\"data-site-id\");\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableSelectionSummaryMail = () => {\r\n const container = document.getElementById(\"selection-summary-mail-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const userEmail = container.getAttribute(\"data-user-email\");\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableInternalSiteAgreement = () => {\r\n const container = document.getElementById(\"internal-site-agreement-container\");\r\n\r\n if (container) {\r\n const applicationPeriodId = container.getAttribute(\"data-application-period-id\");\r\n const siteId = container.getAttribute(\"data-site-id\");\r\n\r\n const root = createRoot(container);\r\n root.render(\r\n \r\n );\r\n }\r\n };\r\n\r\n enableBlockedDatesEditor = () => {\r\n const container = document.getElementById(\"blocked-dates-editor-container\");\r\n\r\n if (container) {\r\n const root = createRoot(container);\r\n root.render();\r\n }\r\n };\r\n}\r\n","import * as bs from \"bootstrap\";\r\n\r\nimport AirDatepicker, { AirDatepickerViewsSingle } from \"air-datepicker\"; // https://air-datepicker.com/docs\r\nimport localeSv from \"air-datepicker/locale/sv\";\r\nimport { Tooltip } from \"bootstrap\"; // https://getbootstrap.com/docs/5.0/getting-started/javascript/\r\nimport { ValidationService } from \"aspnet-client-validation\"; // https://github.com/haacked/aspnet-client-validation\r\nimport Swal, { SweetAlertIcon } from \"sweetalert2\";\r\n\r\nimport Components from \"./Components\";\r\nimport ApplicationCreateUpdate from \"../../Pages/Application/application_create_update\";\r\nimport ApplicationsIndex from \"../../Pages/Applications/applications_index\";\r\nimport SiteCreateUpdate from \"../../Pages/Sites/site_create_update\";\r\nimport ApplicationPeriodsIndex from \"../../Pages/ApplicationPeriods/application_periods_index\";\r\nimport ApplicationDisplay from \"../../Pages/Application/application_display\";\r\nimport { ApplicationPeriodCreateUpdate } from \"../../Pages/ApplicationPeriods/application_period_create_update\";\r\nimport SitesIndex from \"../../Pages/Sites/sites_index\";\r\nimport { isSameDay } from \"./common/dateUtils\";\r\n\r\n(window as any).components = new Components();\r\n(window as any).AirDatepicker = AirDatepicker;\r\nconst validationService = new ValidationService();\r\n(window as any).ValidationService = validationService;\r\n(window as any).Swal = Swal;\r\n\r\n(window as any).pages = {};\r\n(window as any).pages.ApplicationCreateUpdate = new ApplicationCreateUpdate();\r\n(window as any).pages.ApplicationDisplay = new ApplicationDisplay();\r\n(window as any).pages.ApplicationsIndex = new ApplicationsIndex();\r\n(window as any).pages.SiteCreateUpdate = new SiteCreateUpdate();\r\n(window as any).pages.ApplicationPeriodsIndex = new ApplicationPeriodsIndex();\r\n(window as any).pages.ApplicationPeriodCreateUpdate = new ApplicationPeriodCreateUpdate();\r\n(window as any).pages.SitesIndex = new SitesIndex();\r\n\r\nconst enableDatepickers = () => {\r\n const blockedDates: string[] = (window as any).blockedDates || [];\r\n const datepickers = Array.from(document.querySelectorAll(\"input.datepicker-multiple\")) as Array;\r\n\r\n for (let i = 0; i < datepickers.length; i++) {\r\n const datepickerInput = datepickers[i];\r\n datepickerInput.classList.add(\"d-none\");\r\n\r\n const dates = (datepickers[i] as HTMLInputElement).value.split(\",\").map((d) => new Date(d));\r\n const airDatePicker = new AirDatepicker(datepickerInput, {\r\n locale: localeSv,\r\n inline: true,\r\n minDate: datepickerInput.dataset[\"from\"] || false,\r\n maxDate: datepickerInput.dataset[\"to\"] || false,\r\n multipleDates: true,\r\n onSelect({ datepicker }) {\r\n // This rerenders all cells when a date is clicked which disables blocked dates that were previously selected\r\n datepicker.update({});\r\n },\r\n onRenderCell: ({ date, cellType, datepicker }) => {\r\n datepicker.selectedDates;\r\n const dateString = date.toLocaleString().slice(0, 10);\r\n if (cellType === \"day\") {\r\n\r\n // Blocked dates that are already selected should not be disabled to allow users to unselect these\r\n if (\r\n blockedDates.includes(dateString) &&\r\n !datepicker.selectedDates.some((d) => isSameDay(date, d))\r\n ) {\r\n return {\r\n disabled: true,\r\n classes: \"disabled-class\",\r\n attrs: {\r\n title: \"Inga tillfällen tillåtna detta datum\"\r\n }\r\n };\r\n }\r\n }\r\n }\r\n });\r\n\r\n dates.forEach((d) => {\r\n if (d) {\r\n airDatePicker.selectDate(d);\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst enableTooltips = () => {\r\n const tooltipTriggers = document.querySelectorAll('[data-bs-toggle=\"tooltip\"]');\r\n for (let i = 0; i < tooltipTriggers.length; i++) {\r\n new Tooltip(tooltipTriggers[i] as HTMLElement);\r\n }\r\n};\r\n\r\nconst enableConfirmDelete = () => {\r\n const deleteButtons = document.querySelectorAll(\"button[data-confirm]\");\r\n for (let i = 0; i < deleteButtons.length; i++) {\r\n const deleteButton = deleteButtons[i] as HTMLButtonElement;\r\n deleteButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = deleteButton.dataset[\"confirm\"];\r\n const url = deleteButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Ta bort\",\r\n text: text,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Avbryt\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const antiforgeryInput = document.querySelector(\r\n 'input[name=\"__RequestVerificationToken\"]'\r\n ) as HTMLInputElement;\r\n const headers =\r\n antiforgeryInput != null ? { RequestVerificationToken: antiforgeryInput.value } : {};\r\n const response = await fetch(url, { method: \"DELETE\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst enableVisibleIf = () => {\r\n const extractValue = (el: HTMLElement): Array => {\r\n if (el instanceof HTMLInputElement) {\r\n if (el.type && el.type === \"checkbox\") {\r\n return el.checked ? [\"true\"] : [\"false\"];\r\n }\r\n } else if (el instanceof HTMLSelectElement) {\r\n return el.value.split(\",\");\r\n }\r\n return null;\r\n };\r\n\r\n const extractValues = (els: Array): Array => {\r\n if (els[0] instanceof HTMLInputElement) {\r\n if (els[0].type && els[0].type === \"checkbox\") {\r\n return els\r\n .map((el) => ((el as HTMLInputElement).checked ? (el as HTMLInputElement).value : null))\r\n .filter((x) => x != null);\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n const toggleElement = (el: HTMLElement) => {\r\n const elVisibleIf = el.dataset[\"visibleIf\"];\r\n const parts = elVisibleIf.split(\"==\");\r\n if (parts.length === 2) {\r\n const inputSelector = parts[0];\r\n const requiredValue = parts[1];\r\n\r\n const inputs = Array.from(document.querySelectorAll(inputSelector)) as Array;\r\n\r\n if (inputs.length === 0) {\r\n return;\r\n } else if (inputs.length === 1) {\r\n let selectedValues = extractValue(inputs[0]);\r\n if (selectedValues.includes(requiredValue)) {\r\n el.classList.remove(\"d-none\");\r\n } else {\r\n el.classList.add(\"d-none\");\r\n }\r\n } else if (inputs.length > 1) {\r\n let selectedValues = extractValues(inputs);\r\n if (selectedValues.includes(requiredValue)) {\r\n el.classList.remove(\"d-none\");\r\n } else {\r\n el.classList.add(\"d-none\");\r\n }\r\n }\r\n }\r\n };\r\n\r\n const elements = document.querySelectorAll(\"[data-visible-if]\");\r\n for (let i = 0; i < elements.length; i++) {\r\n const el = elements[i] as HTMLElement;\r\n const elVisibleIf = el.dataset[\"visibleIf\"];\r\n\r\n const parts = elVisibleIf.split(\"==\");\r\n if (parts.length === 2) {\r\n toggleElement(el);\r\n\r\n const inputSelector = parts[0];\r\n const inputs = document.querySelectorAll(inputSelector);\r\n for (let j = 0; j < inputs.length; j++) {\r\n const input = inputs[j] as HTMLElement;\r\n input.addEventListener(\"change\", (e) => {\r\n toggleElement(el);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\ninterface AlertData {\r\n icon?: string;\r\n title?: string;\r\n text?: string;\r\n}\r\n\r\nconst displayTempDataAlert = () => {\r\n const alertData = (window as any).alertData as AlertData;\r\n if (alertData != null && alertData.icon) {\r\n Swal.fire({\r\n icon: alertData.icon as SweetAlertIcon,\r\n title: alertData.title,\r\n html: alertData.text\r\n });\r\n }\r\n};\r\n\r\nwindow.addEventListener(\"DOMContentLoaded\", () => {\r\n enableDatepickers();\r\n enableTooltips();\r\n enableConfirmDelete();\r\n enableVisibleIf();\r\n validationService.bootstrap({ watch: true, root: document.body });\r\n displayTempDataAlert();\r\n});\r\n","import ErrorMessage from \"../components/Common/Messages/ErrorMessage\";\r\nimport AdjustedSelectionAgeTag from \"../types/AdjustedSelectionAgeTag\";\r\nimport Application from \"../types/Application\";\r\nimport ApplicationPeriod from \"../types/ApplicationPeriod\";\r\nimport CultureProvider from \"../types/CultureProvider\";\r\nimport PlannedApplicationSite from \"../types/PlannedApplicationSite\";\r\nimport PlanningComment from \"../types/PlanningComment\";\r\nimport Result from \"../types/Result\";\r\nimport SelectionComment from \"../types/SelectionComment\";\r\nimport Site from \"../types/Site\";\r\nimport { HexColor, TargetGroup } from \"./enums\";\r\nimport { pageLoadErrorMessage } from \"./errorMessages\";\r\n\r\nexport async function fetchApplicationPeriod(applicationPeriodId: number): Promise> {\r\n try {\r\n const fetchResult = await fetch(`/api/applicationPeriod/${applicationPeriodId}`);\r\n\r\n if (!fetchResult.ok) {\r\n const errorMessage = await fetchResult.text();\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const fetchedApplicationPeriod: ApplicationPeriod = await fetchResult.json();\r\n\r\n fetchedApplicationPeriod.occasionsFrom = new Date(fetchedApplicationPeriod.occasionsFrom);\r\n fetchedApplicationPeriod.occasionsTo = new Date(fetchedApplicationPeriod.occasionsTo);\r\n\r\n return { value: fetchedApplicationPeriod };\r\n } catch (e) {\r\n return {\r\n errorMessage: e.message ? e.message : \"Något gick fel när anmälningsperioden hämtades.\"\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchApplicationById(applicationId: number): Promise> {\r\n try {\r\n const fetchResponse = await fetch(`/api/application/${applicationId}`);\r\n\r\n if (!fetchResponse.ok) {\r\n const errorMessage = await fetchResponse.text();\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const application: Application = await fetchResponse.json();\r\n\r\n application.document.possibleOccasionDates = application.document.possibleOccasionDates.map((d) => new Date(d));\r\n\r\n return {\r\n value: application\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message ? error.message : \"Något gick fel när intresseanmälan hämtades.\";\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchViableApplicationsForSite(\r\n siteId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = `Något gick fel när evenemangen hämtades.`;\r\n\r\n const fetchResult = await fetchData(\r\n `/api/site/${siteId}/viableApplications/${applicationPeriodId}`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((a) => {\r\n const possibleOccasionDates: Date[] = [];\r\n a.document.possibleOccasionDates.forEach((dateString) => possibleOccasionDates.push(new Date(dateString)));\r\n a.document.possibleOccasionDates = possibleOccasionDates;\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchApplicationsForActorContractCreation(\r\n applicationPeriodId: number,\r\n cultureProviderId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när intresseanmälningarna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/cultureProvider/${cultureProviderId}/plannedApplications`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport const fetchAllSites = async (): Promise> => {\r\n const defaultErrorMessage = \"Något gick fel när spelplatserna hämtades.\";\r\n\r\n try {\r\n const fetchResult = await fetch(`/api/sites`);\r\n\r\n if (!fetchResult.ok) {\r\n const errorMessage = (await fetchResult.text()) || defaultErrorMessage;\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const fetchedSites: Site[] = await fetchResult.json();\r\n\r\n fetchedSites.forEach((s) => {\r\n s.availableSiteDates.forEach((sa) => (sa.availableDate = new Date(sa.availableDate)));\r\n });\r\n\r\n return { value: fetchedSites };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return { errorMessage: errorMessage };\r\n }\r\n};\r\n\r\nexport async function fetchViableSitesByApplicationId(applicationId: number): Promise> {\r\n try {\r\n const fetchResponse = await fetch(`/api/application/${applicationId}/viableSites`);\r\n\r\n if (!fetchResponse.ok) {\r\n const errorMessage = await fetchResponse.text();\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const sites: Site[] = await fetchResponse.json();\r\n\r\n return { value: sites };\r\n } catch (error) {\r\n const errorMessage = error.message\r\n ? error.message\r\n : `Något gick fel när lämpliga spelplatser för evenemang ${applicationId} hämtades.`;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchSiteById(siteId: number): Promise> {\r\n try {\r\n const fetchResponse = await fetch(`/api/site/${siteId}`);\r\n\r\n if (!fetchResponse.ok) {\r\n let errorMessage = await fetchResponse.text();\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const site = await fetchResponse.json();\r\n\r\n return {\r\n value: site\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message ? error.message : `Något gick fel när spelplats ${siteId} hämtades.`;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchSelectedApplicationsByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n try {\r\n const fetchResult = await fetch(`/api/applicationPeriod/${applicationPeriodId}/applications/selected`);\r\n\r\n if (!fetchResult.ok) {\r\n const errorMessage = await fetchResult.text();\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const selectedApplications = (await fetchResult.json()) as Application[];\r\n\r\n selectedApplications.forEach((a) => {\r\n a.document.possibleOccasionDates = a.document.possibleOccasionDates.map((pod) => new Date(pod));\r\n });\r\n\r\n return { value: selectedApplications };\r\n } catch (e) {\r\n return {\r\n errorMessage: e.message ? e.message : \"Something went wrong when fetching the selected applications.\"\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchSitesByApplicationPeriodId(applicationPeriodId: number): Promise> {\r\n try {\r\n const fetchResult = await fetch(`/api/applicationPeriod/${applicationPeriodId}/sites`);\r\n\r\n if (!fetchResult.ok) {\r\n const errorMessage = await fetchResult.text();\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const sites = await fetchResult.json();\r\n return { value: sites };\r\n } catch (e) {\r\n return {\r\n errorMessage: e.message ? e.message : \"Something went wrong when fetching the sites.\"\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchAvailableSiteDatesForSiteAndApplicationPeriod(\r\n siteId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatsens tillgänglighet hämtades.\";\r\n\r\n try {\r\n const fetchResponse = await fetch(`/api/site/${siteId}/availableSiteDate/${applicationPeriodId}`);\r\n\r\n if (!fetchResponse.ok) {\r\n const errorMessage = (await fetchResponse.text()) || defaultErrorMessage;\r\n\r\n return { errorMessage: errorMessage };\r\n }\r\n\r\n const availableSiteDates: AvailableSiteDate[] = await fetchResponse.json();\r\n\r\n availableSiteDates.forEach((sa) => (sa.availableDate = new Date(sa.availableDate)));\r\n\r\n return { value: availableSiteDates };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return { errorMessage: errorMessage };\r\n }\r\n}\r\n\r\nexport async function postAvailableSiteTime(availableSiteTime: AvailableSiteTime): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatsens tillgängliga tid uppdaterades.\";\r\n\r\n const requestConfig: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement)\r\n .value\r\n },\r\n body: JSON.stringify(availableSiteTime)\r\n };\r\n\r\n try {\r\n const postResponse = await fetch(\"/api/site/availableSiteTime/\", requestConfig);\r\n\r\n if (!postResponse.ok) {\r\n const errorMessage = (await postResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n return {\r\n value: undefined\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchAvailableSiteDatesByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const apiEndpoint = `/api/applicationPeriod/${applicationPeriodId}/availableSiteDates`;\r\n const defaultErrorMessage = \"Något gick fel när spelplatsernas tillgängliga datum hämtades.\";\r\n\r\n const fetchResult = await fetchData(apiEndpoint, defaultErrorMessage);\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((asd) => (asd.availableDate = new Date(asd.availableDate)));\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchAvailableSiteTimesByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const apiEndpoint = `/api/applicationPeriod/${applicationPeriodId}/availableSiteTimes`;\r\n const defaultErrorMessage = \"Något gick fel när spelplatsernas tillgängliga tider hämtades.\";\r\n\r\n const fetchResult = await fetchData(apiEndpoint, defaultErrorMessage);\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function postPlannedApplicationSite(plannedApplicationSite: PlannedApplicationSite) {\r\n const defaultErrorMessage = \"Något gick fel när evenemanget skulle programläggas på spelplatsen.\";\r\n\r\n const pasToPost: PlannedApplicationSite = { ...plannedApplicationSite, application: null, site: null };\r\n\r\n const postResult = await postRequest(\"/api/plannedApplicationSite\", defaultErrorMessage, pasToPost);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deletePlannedApplicationSite(plannedApplicationSite: PlannedApplicationSite) {\r\n const defaultErrorMessage = \"Något gick fel när det programlagda tillfället skulle tas bort.\";\r\n\r\n const deleteResult = await deleteRequest(\r\n `/api/plannedApplicationSite/${plannedApplicationSite.id}`,\r\n defaultErrorMessage\r\n );\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function fetchPlannedApplicationSitesByApplicationId(\r\n applicationId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när evenemangets programlagda tillfällen hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/application/${applicationId}/plannedApplicationSites`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((pas) => {\r\n pas.occasion1Starts = new Date(pas.occasion1Starts);\r\n pas.occasion1Ends = new Date(pas.occasion1Ends);\r\n pas.occasion2Starts = new Date(pas.occasion2Starts);\r\n pas.occasion2Ends = new Date(pas.occasion2Ends);\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchPlannedApplicationSitesByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när anmälningsperiodens programlagda tillfällen hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/plannedApplicationSites`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((pas) => {\r\n pas.occasion1Starts = new Date(pas.occasion1Starts);\r\n pas.occasion1Ends = new Date(pas.occasion1Ends);\r\n pas.occasion2Starts = new Date(pas.occasion2Starts);\r\n pas.occasion2Ends = new Date(pas.occasion2Ends);\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchPlannedApplicationSitesBySiteIdAndApplicationPeriodId(\r\n siteId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatsens programlagda tillfällen hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/site/${siteId}/applicationPeriod/${applicationPeriodId}/plannedApplicationSites`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((pas) => {\r\n pas.occasion1Starts = new Date(pas.occasion1Starts);\r\n pas.occasion1Ends = new Date(pas.occasion1Ends);\r\n pas.occasion2Starts = new Date(pas.occasion2Starts);\r\n pas.occasion2Ends = new Date(pas.occasion2Ends);\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchPlannedApplicationSitesForActorContract(\r\n cultureProviderId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när aktörens programlagda tillfällen hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/cultureProvider/${cultureProviderId}/plannedApplicationSites`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (fetchResult.value) {\r\n fetchResult.value.forEach((pas) => {\r\n pas.occasion1Starts = new Date(pas.occasion1Starts);\r\n pas.occasion1Ends = new Date(pas.occasion1Ends);\r\n pas.occasion2Starts = new Date(pas.occasion2Starts);\r\n pas.occasion2Ends = new Date(pas.occasion2Ends);\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId(\r\n siteId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatsens tillgängliga tid hämtades.\";\r\n try {\r\n const fetchResponse = await fetch(\r\n `/api/applicationPeriod/${applicationPeriodId}/site/${siteId}/availableSiteTime`\r\n );\r\n\r\n if (!fetchResponse.ok) {\r\n const errorMessage = (await fetchResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n let fetchedData: AvailableSiteTime;\r\n try {\r\n fetchedData = await fetchResponse.json();\r\n } catch {\r\n //\r\n // An exception is thrown if no value was present. This happens when no available time has been set for the Site.\r\n //\r\n return {\r\n value: {\r\n siteId: siteId,\r\n applicationPeriodId: applicationPeriodId,\r\n availableFrom: \"\",\r\n availableTo: \"\"\r\n }\r\n };\r\n }\r\n\r\n return {\r\n value: fetchedData\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nexport async function fetchCultureProvidersForContractCreation(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när aktörerna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/contractCreation/cultureProviders`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchCultureProviderForContractCreation(\r\n applicationPeriodId: number,\r\n cultureProviderId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när aktören hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/cultureProvider/${cultureProviderId}/contractCreation`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchPlannedApplications(\r\n siteId: number,\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när intresseanmälningarna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/site/${siteId}/plannedApplications`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function sendSelectionSummary(\r\n applicationPeriodId: number,\r\n numberOfApplications: number,\r\n numberOfActors: number,\r\n numberOfSelectedApplications: number,\r\n numberOfSelectedActors: number,\r\n numberOfSelectedOccasions: number,\r\n numberOfActorsWithOperationalSupport: number\r\n) {\r\n const defaultErrorMessage = \"Något gick fel när sammanfattningen efter urvalsprocessen skickades.\";\r\n\r\n const requestBody = {\r\n numberOfApplications: numberOfApplications,\r\n numberOfActors: numberOfActors,\r\n numberOfSelectedApplications: numberOfSelectedApplications,\r\n numberOfSelectedActors: numberOfSelectedActors,\r\n numberOfSelectedOccasions: numberOfSelectedOccasions,\r\n numberOfActorsWithOperationalSupport: numberOfActorsWithOperationalSupport\r\n };\r\n\r\n const postResult = await postRequest(\r\n `/api/selection/${applicationPeriodId}/selectionSummary`,\r\n defaultErrorMessage,\r\n requestBody\r\n );\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function sendTestSelectionSummary(\r\n applicationPeriodId: number,\r\n numberOfApplications: number,\r\n numberOfActors: number,\r\n numberOfSelectedApplications: number,\r\n numberOfSelectedActors: number,\r\n numberOfSelectedOccasions: number,\r\n numberOfActorsWithOperationalSupport: number\r\n) {\r\n const defaultErrorMessage = \"Något gick fel när sammanfattningen efter urvalsprocessen skickades.\";\r\n\r\n const requestBody = {\r\n numberOfApplications: numberOfApplications,\r\n numberOfActors: numberOfActors,\r\n numberOfSelectedApplications: numberOfSelectedApplications,\r\n numberOfSelectedActors: numberOfSelectedActors,\r\n numberOfSelectedOccasions: numberOfSelectedOccasions,\r\n numberOfActorsWithOperationalSupport: numberOfActorsWithOperationalSupport\r\n };\r\n\r\n const postResult = await postRequest(\r\n `/api/selection/${applicationPeriodId}/testSelectionSummary`,\r\n defaultErrorMessage,\r\n requestBody\r\n );\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function sendInternalSiteAgreement(siteId: number, applicationPeriodId: number, agreementHtml: string) {\r\n const defaultErrorMessage = \"Något gick fel när överenskommelsen skickades.\";\r\n\r\n const requestBody = {\r\n agreementHtml: agreementHtml\r\n };\r\n\r\n const postResult = await postRequest(\r\n `/api/applicationPeriod/${applicationPeriodId}/site/${siteId}/sendInternalSiteAgreement`,\r\n defaultErrorMessage,\r\n requestBody\r\n );\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function fetchSitesWithPlannedOccasions(applicationPeriodId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatserna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/sitesWithPlannedOccasions`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchApplicationsWithPlannedOccasions(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när intresseanmälningarna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/applicationsWithPlannedOccasions`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (!fetchResult.errorMessage) {\r\n fetchResult.value.forEach((application) => {\r\n application.document.possibleOccasionDates = application.document.possibleOccasionDates.map(\r\n (pod) => new Date(pod)\r\n );\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchSitesWithAvailableDates(applicationPeriodId: number) {\r\n const defaultErrorMessage = \"Något gick fel när spelplatserna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/sitesWithAvailableDates`,\r\n defaultErrorMessage\r\n );\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function fetchBlockedDates(): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när de blockerade datumen hämtades.\";\r\n\r\n const fetchResult = await fetchData(\"/api/blockedDate\", defaultErrorMessage);\r\n\r\n if (fetchResult.errorMessage) {\r\n return { errorMessage: fetchResult.errorMessage };\r\n }\r\n\r\n const dates = fetchResult.value.map((dateString) => new Date(dateString));\r\n\r\n return { value: dates };\r\n}\r\n\r\nexport async function fetchBlockedDatesByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när de blockerade datumen hämtades.\";\r\n const url = `/api/applicationPeriod/${applicationPeriodId}/blockedDates`;\r\n\r\n const fetchResult = await fetchData(url, defaultErrorMessage);\r\n\r\n if (fetchResult.errorMessage) {\r\n return { errorMessage: fetchResult.errorMessage };\r\n }\r\n\r\n const dates = fetchResult.value.map((dateString) => new Date(dateString));\r\n\r\n return { value: dates };\r\n}\r\n\r\nexport async function postBlockedDate(date: Date) {\r\n const defaultErrorMessage = \"Något gick fel när det blockerade datumet skulle läggas till.\";\r\n\r\n const postResult = await postRequest(\"/api/blockedDate\", defaultErrorMessage, date);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deleteBlockedDate(date: Date) {\r\n const defaultErrorMessage = \"Något gick fel när det blockerade datumet skulle tas bort.\";\r\n\r\n const deleteResult = await deleteRequest(`/api/blockedDate/${date.toISOString()}`, defaultErrorMessage);\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function postAdjustedOccasionPrice(\r\n applicationId: number,\r\n adjustedOccasionPrice: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när priset uppdaterades.\";\r\n\r\n const postBody = {\r\n applicationId: applicationId,\r\n adjustedOccasionPrice: adjustedOccasionPrice\r\n };\r\n\r\n const postResult = await postRequest(\"/api/application/adjustedOccasionPrice\", defaultErrorMessage, postBody);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function unlockPossibleOccasionDates(applicationId: number, openUntil: Date): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när möjliga datum för evenemanget låstes upp.\";\r\n\r\n const requestBody = {\r\n openUntil: openUntil\r\n };\r\n\r\n const putResult = await putRequest(\r\n `/api/application/${applicationId}/possible-occasion-dates/open`,\r\n defaultErrorMessage,\r\n requestBody\r\n );\r\n\r\n return putResult;\r\n}\r\n\r\nexport async function lockPossibleOccasionDates(applicationId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när möjliga datum för evenemanget stängdes.\";\r\n\r\n const putResult = await putRequest(\r\n `/api/application/${applicationId}/possible-occasion-dates/lock`,\r\n defaultErrorMessage\r\n );\r\n\r\n return putResult;\r\n}\r\n\r\nexport async function postSelectionComment(selectionComment: SelectionComment): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när kommentaren sparades.\";\r\n\r\n const postResult = await postRequest(`/api/selectionComment`, defaultErrorMessage, selectionComment);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function fetchSitesForSitePlanning(applicationPeriodId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när spelplatserna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/sitePlanning/sites`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (!fetchResult.errorMessage) {\r\n fetchResult.value.forEach((site) => {\r\n site.plannedApplicationSites = site.plannedApplicationSites.map((pas) => ({\r\n ...pas,\r\n occasion1Starts: new Date(pas.occasion1Starts),\r\n occasion1Ends: new Date(pas.occasion1Ends),\r\n occasion2Starts: pas.occasion2Starts && new Date(pas.occasion2Starts),\r\n occasion2Ends: pas.occasion2Ends && new Date(pas.occasion2Ends),\r\n site: site\r\n }));\r\n\r\n site.availableSiteDates.forEach((asd) => (asd.availableDate = new Date(asd.availableDate)));\r\n });\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function postApplicationSelectionColor(\r\n hexColor: HexColor,\r\n applicationId: number,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när färgmarkeringen sparades.\";\r\n\r\n const postBody = {\r\n applicationId: applicationId,\r\n hexColor: hexColor,\r\n targetGroup: targetGroup,\r\n isCulturalManagement: isCulturalManagement\r\n };\r\n\r\n const postResult = await postRequest(`/api/applicationSelectionColor`, defaultErrorMessage, postBody);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deleteApplicationSelectionColor(selectionColorId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när färgmarkerings togs bort\";\r\n\r\n const deleteResult = await deleteRequest(`/api/applicationSelectionColor/${selectionColorId}`, defaultErrorMessage);\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function postApplicationTargetGroupExclusion(\r\n applicationId: number,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när intresseanmälan doldes.\";\r\n\r\n const postBody = {\r\n applicationId: applicationId,\r\n targetGroup: targetGroup,\r\n isCulturalManagement: isCulturalManagement\r\n };\r\n\r\n const postResult = await postRequest(`/api/applicationTargetGroupExclusion`, defaultErrorMessage, postBody);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deleteApplicationTargetGroupExclusion(\r\n applicationTargetGroupExclusionId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när intresseanmälan visades.\";\r\n\r\n const deleteResult = await deleteRequest(\r\n `/api/applicationTargetGroupExclusion/${applicationTargetGroupExclusionId}`,\r\n defaultErrorMessage\r\n );\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function postPlanningComment(planningComment: PlanningComment): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när kommentaren sparades.\";\r\n\r\n const body = {\r\n applicationId: planningComment.applicationId,\r\n siteId: planningComment.siteId,\r\n comment: planningComment.comment,\r\n date: planningComment.date\r\n };\r\n\r\n const postResult = await postRequest(`/api/planningComment`, defaultErrorMessage, body);\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deletePlanningComment(planningCommentId: number): Promise> {\r\n const defaultErrorMesage = \"Något gick fel när kommenteran togs bort.\";\r\n\r\n const deleteResult = await deleteRequest(`/api/planningComment/${planningCommentId}`, defaultErrorMesage);\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function fetchPlanningCommentsByApplicationPeriodId(\r\n applicationPeriodId: number\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när kommentarerna hämtades.\";\r\n\r\n const fetchResult = await fetchData(\r\n `/api/applicationPeriod/${applicationPeriodId}/planningComments`,\r\n defaultErrorMessage\r\n );\r\n\r\n if (!fetchResult.errorMessage) {\r\n fetchResult.value = fetchResult.value.map((pc) => ({ ...pc, date: new Date(pc.date) }));\r\n }\r\n\r\n return fetchResult;\r\n}\r\n\r\nexport async function confirmPlannedDate(plannedApplicationSiteId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när det programlagda datumet markerades som bekräftat.\";\r\n\r\n const putResult = await putRequest(\r\n `/api/plannedApplicationSite/${plannedApplicationSiteId}/date/confirm`,\r\n defaultErrorMessage\r\n );\r\n\r\n return putResult;\r\n}\r\n\r\nexport async function unconfirmPlannedDate(plannedApplicationSiteId: number): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när det programlagda datumet markerades som ej bekräftat.\";\r\n\r\n const putResult = await putRequest(\r\n `/api/plannedApplicationSite/${plannedApplicationSiteId}/date/unconfirm`,\r\n defaultErrorMessage\r\n );\r\n\r\n return putResult;\r\n}\r\n\r\nexport async function postAdjustedSelectionAgeTag(\r\n adjustedSelectionAgeTag: AdjustedSelectionAgeTag\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när de justerade målgrupperna sparades\";\r\n\r\n const postResult = await postRequest(\r\n `/api/adjustedSelectionAgeTag`,\r\n defaultErrorMessage,\r\n adjustedSelectionAgeTag\r\n );\r\n\r\n return postResult;\r\n}\r\n\r\nexport async function deleteAdjustedSelectionAgeTag(adjustedSelectionAgeTagId: number): Promise> {\r\n const defaultErrorMesage = \"Något gick fel när de justerade målgrupperna sparades\";\r\n\r\n const deleteResult = await deleteRequest(\r\n `/api/adjustedSelectionAgeTag/${adjustedSelectionAgeTagId}`,\r\n defaultErrorMesage\r\n );\r\n\r\n return deleteResult;\r\n}\r\n\r\nexport async function resetAdjustedSelectionAgeTags(\r\n applicationId: number,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): Promise> {\r\n const defaultErrorMessage = \"Något gick fel när evenemangets målgrupper återställdes.\";\r\n\r\n const postResult = await postRequest(\r\n `/api/application/${applicationId}/adjustedSelectionAgeTags/reset`,\r\n defaultErrorMessage\r\n );\r\n\r\n return postResult;\r\n}\r\n\r\nasync function fetchData(apiEndpoint: string, defaultErrorMessage: string): Promise> {\r\n try {\r\n const fetchResponse = await fetch(apiEndpoint);\r\n\r\n if (!fetchResponse.ok) {\r\n const errorMessage = (await fetchResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n const fetchedData: TValue = await fetchResponse.json();\r\n\r\n return {\r\n value: fetchedData\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nasync function postRequest(\r\n apiEndpoint: string,\r\n defaultErrorMessage: string,\r\n body: any = {}\r\n): Promise> {\r\n const requestConfig: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement)\r\n .value\r\n },\r\n body: JSON.stringify(body)\r\n };\r\n\r\n try {\r\n const postResponse = await fetch(apiEndpoint, requestConfig);\r\n\r\n if (!postResponse.ok) {\r\n const errorMessage = (await postResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n let responseValue: TResponse;\r\n\r\n try {\r\n responseValue = await postResponse.json();\r\n } catch (e) {\r\n // The response did not contain a JSON-object\r\n }\r\n\r\n return {\r\n value: responseValue\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nasync function putRequest(\r\n apiEndpoint: string,\r\n defaultErrorMessage: string,\r\n body: any = {}\r\n): Promise> {\r\n const requestConfig: RequestInit = {\r\n method: \"PUT\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement)\r\n .value\r\n },\r\n body: JSON.stringify(body)\r\n };\r\n\r\n try {\r\n const putResponse = await fetch(apiEndpoint, requestConfig);\r\n\r\n if (!putResponse.ok) {\r\n const errorMessage = (await putResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n let responseValue: TResponse;\r\n\r\n try {\r\n responseValue = await putResponse.json();\r\n } catch (e) {\r\n // The response did not contain a JSON-object\r\n }\r\n\r\n return {\r\n value: responseValue\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n\r\nasync function deleteRequest(apiEndpoint: string, defaultErrorMessage: string): Promise> {\r\n const requestConfig: RequestInit = {\r\n method: \"DELETE\",\r\n headers: {\r\n RequestVerificationToken: (document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement)\r\n .value\r\n }\r\n };\r\n\r\n try {\r\n const postResponse = await fetch(apiEndpoint, requestConfig);\r\n\r\n if (!postResponse.ok) {\r\n const errorMessage = (await postResponse.text()) || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n\r\n return {\r\n value: undefined\r\n };\r\n } catch (error) {\r\n const errorMessage = error.message || defaultErrorMessage;\r\n\r\n return {\r\n errorMessage: errorMessage\r\n };\r\n }\r\n}\r\n","import { ApplicationPlanningFilterOptions } from \"../components/Planning/ApplicationPlanning/ApplicationPlanningFilter\";\r\nimport { SiteApplicationSelectionFilterOptions } from \"../components/Planning/SitePlanning/SiteApplicationSelectionFilter\";\r\nimport Application from \"../types/Application\";\r\nimport ApplicationPeriod from \"../types/ApplicationPeriod\";\r\nimport ApplicationSelectionColor from \"../types/ApplicationSelectionColor\";\r\nimport ApplicationTargetGroupExclusion from \"../types/ApplicationTargetGroupExclusion\";\r\nimport PlannedApplicationSite from \"../types/PlannedApplicationSite\";\r\nimport { isSameDay } from \"./dateUtils\";\r\nimport { AgeTag, ApplicationPlanningStatus, SiteType, TargetGroup } from \"./enums\";\r\nimport { sum } from \"./numberUtils\";\r\nimport { hasTwoOccasions } from \"./planningUtils\";\r\nimport { toGroupedAgeTags } from \"./stringUtils\";\r\n\r\nexport const targetGroupNames = {\r\n [TargetGroup.PreSchool]: \"Förskola\",\r\n [TargetGroup.SchoolLower]: \"Lågstadium\",\r\n [TargetGroup.SchoolMiddle]: \"Mellanstadium\",\r\n [TargetGroup.SchoolUpper]: \"Högstadium\",\r\n [TargetGroup.HighSchool]: \"Gymnasium\",\r\n [TargetGroup.SpecialNeedsSchool]: \"Anpassad skola\",\r\n [TargetGroup.Other]: \"Extern budget\",\r\n [TargetGroup.Total]: \"Total\",\r\n [TargetGroup.DayCareSchool]: \"Fritidshem\",\r\n [TargetGroup.SFI]: \"SFI\"\r\n};\r\n\r\nexport function getBudgetByTargetGroup(\r\n applicationPeriod: ApplicationPeriod,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement = false\r\n): number {\r\n let budget = 0;\r\n\r\n if (targetGroup === TargetGroup.PreSchool) {\r\n budget = isCulturalManagement ? applicationPeriod.preSchoolBudgetCM : applicationPeriod.preSchoolBudget;\r\n } else if (targetGroup === TargetGroup.SchoolLower) {\r\n budget = isCulturalManagement ? applicationPeriod.schoolLowerBudgetCM : applicationPeriod.schoolLowerBudget;\r\n } else if (targetGroup === TargetGroup.SchoolMiddle) {\r\n budget = isCulturalManagement ? applicationPeriod.schoolMiddleBudgetCM : applicationPeriod.schoolMiddleBudget;\r\n } else if (targetGroup === TargetGroup.SchoolUpper) {\r\n budget = isCulturalManagement ? applicationPeriod.schoolUpperBudgetCM : applicationPeriod.schoolUpperBudget;\r\n } else if (targetGroup === TargetGroup.HighSchool) {\r\n budget = isCulturalManagement ? applicationPeriod.highSchoolBudgetCM : applicationPeriod.highSchoolBudget;\r\n } else if (targetGroup === TargetGroup.SpecialNeedsSchool) {\r\n budget = isCulturalManagement\r\n ? applicationPeriod.specialNeedsSchoolBudgetCM\r\n : applicationPeriod.specialNeedsSchoolBudget;\r\n } else if (targetGroup === TargetGroup.Other) {\r\n budget = isCulturalManagement ? applicationPeriod.otherBudgetCM : applicationPeriod.otherBudget;\r\n }\r\n\r\n return budget;\r\n}\r\n\r\nexport function getCurrentCostByTargetGroup(\r\n applications: Application[],\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): number {\r\n return applications\r\n .map((a) => getCostForEvent(a, getNumberOfOccasionsByTargetGroup(a, targetGroup, isCulturalManagement)))\r\n .reduce((a, b) => a + b, 0);\r\n}\r\n\r\nexport function getRemainingBudgetByTargetGroup(\r\n applications: Application[],\r\n applicationPeriod: ApplicationPeriod,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): number {\r\n const remainingBudget =\r\n getBudgetByTargetGroup(applicationPeriod, targetGroup) -\r\n getCurrentCostByTargetGroup(applications, targetGroup, isCulturalManagement);\r\n\r\n return remainingBudget;\r\n}\r\n\r\nexport function getCurrentElementarySchoolCost(applications: Application[], isCulturalManagement: boolean): number {\r\n let currentCost = 0;\r\n\r\n applications.forEach((application) => {\r\n const numberOfOccasions =\r\n getNumberOfOccasionsByTargetGroup(application, TargetGroup.SchoolLower, isCulturalManagement) +\r\n getNumberOfOccasionsByTargetGroup(application, TargetGroup.SchoolMiddle, isCulturalManagement) +\r\n getNumberOfOccasionsByTargetGroup(application, TargetGroup.SchoolUpper, isCulturalManagement);\r\n\r\n const costForEvent = getCostForEvent(application, numberOfOccasions);\r\n currentCost += costForEvent;\r\n });\r\n\r\n return currentCost;\r\n}\r\n\r\nexport function getTotalCostForEvents(applications: Application[], isCulturalManagement = false) {\r\n let totalCost = 0;\r\n\r\n applications.forEach((a) => {\r\n const numberOfOccasions = getTotalNumberOfOccasionsFromSelection(a, isCulturalManagement);\r\n totalCost += getCostForEvent(a, numberOfOccasions);\r\n });\r\n\r\n return totalCost;\r\n}\r\n\r\nexport function getCostForEvent(application: Application, numberOfOccasions: number): number {\r\n if (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) {\r\n return application.adjustedOccasionPrice * numberOfOccasions;\r\n }\r\n\r\n if (!application.document.isVisiting && !application.document.isOwnStage) {\r\n return 0;\r\n }\r\n\r\n if (application.document.isVisiting && application.document.isOwnStage) {\r\n const visitingCost = GetCostForVisitingEvent(application, numberOfOccasions);\r\n const ownStageCost = getCostForOwnStageEvent(application, numberOfOccasions);\r\n\r\n return Math.max(visitingCost, ownStageCost);\r\n }\r\n\r\n if (application.document.isVisiting) {\r\n return GetCostForVisitingEvent(application, numberOfOccasions);\r\n }\r\n\r\n return getCostForOwnStageEvent(application, numberOfOccasions);\r\n}\r\n\r\nexport function getCostForOwnStageEvent(application: Application, numberOfOccasions: number): number {\r\n if (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) {\r\n return application.adjustedOccasionPrice * numberOfOccasions;\r\n }\r\n\r\n const cost = application.document.numberOfSeats * application.document.ticketPrice * numberOfOccasions;\r\n return cost;\r\n}\r\n\r\nexport function getCostForSelectedOwnStageEvents(applications: Application[]): number {\r\n const cost = sum(applications.map((a) => getCostForOwnStageEvent(a, getTotalNumberOfOccasionsFromSelection(a))));\r\n\r\n return cost;\r\n}\r\n\r\nexport function GetCostForVisitingEvent(application: Application, numberOfOccasions: number): number {\r\n if (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) {\r\n return application.adjustedOccasionPrice * numberOfOccasions;\r\n }\r\n \r\n let visitingCost;\r\n\r\n if (application.document.occasionPrice2) {\r\n //\r\n // Two occasions will be planned on the same date in as high extent as possible. On these dates, the second occasion has a reduced cost (occasionPrice2).\r\n // If there is an occasion that cannot be grouped on the same date as another (in which case numberOfOccasions % 2 === 1), then this occasion gets the regular cost per occasion.\r\n //\r\n const numberOfOccasionPairs = Math.floor(numberOfOccasions / 2);\r\n const numberOfSingleOccasions = numberOfOccasions % 2;\r\n\r\n visitingCost =\r\n numberOfOccasionPairs * (application.document.occasionPrice + application.document.occasionPrice2) +\r\n numberOfSingleOccasions * application.document.occasionPrice;\r\n } else {\r\n //\r\n // There is no reduced price for the second occasion on the same date.\r\n //\r\n visitingCost = numberOfOccasions * application.document.occasionPrice;\r\n }\r\n\r\n return visitingCost;\r\n}\r\n\r\nexport function getNumberOfOccasionsByTargetGroup(\r\n application: Application,\r\n targetGroup: string,\r\n isCulturalManagement: boolean\r\n): number {\r\n if (targetGroup === TargetGroup.PreSchool && !isCulturalManagement) return application.numberOfOccasionsPreSchool;\r\n else if (targetGroup === TargetGroup.PreSchool) return application.numberOfOccasionsPreSchoolCM;\r\n else if (targetGroup === TargetGroup.SchoolLower && !isCulturalManagement)\r\n return application.numberOfOccasionsSchoolLower;\r\n else if (targetGroup === TargetGroup.SchoolLower) return application.numberOfOccasionsSchoolLowerCM;\r\n else if (targetGroup === TargetGroup.SchoolMiddle && !isCulturalManagement)\r\n return application.numberOfOccasionsSchoolMiddle;\r\n else if (targetGroup === TargetGroup.SchoolMiddle) return application.numberOfOccasionsSchoolMiddleCM;\r\n else if (targetGroup === TargetGroup.SchoolUpper && !isCulturalManagement)\r\n return application.numberOfOccasionsSchoolUpper;\r\n else if (targetGroup === TargetGroup.SchoolUpper) return application.numberOfOccasionsSchoolUpperCM;\r\n else if (targetGroup === TargetGroup.HighSchool && !isCulturalManagement)\r\n return application.numberOfOccasionsHighSchool;\r\n else if (targetGroup === TargetGroup.HighSchool) return application.numberOfOccasionsHighSchoolCM;\r\n else if (targetGroup === TargetGroup.SpecialNeedsSchool && !isCulturalManagement)\r\n return application.numberOfOccasionsSpecialNeedsSchool;\r\n else if (targetGroup === TargetGroup.SpecialNeedsSchool) return application.numberOfOccasionsSpecialNeedsSchoolCM;\r\n else if (targetGroup === TargetGroup.Other && !isCulturalManagement) return application.numberOfOccasionsOther;\r\n else if (targetGroup === TargetGroup.Other) return application.numberOfOccasionsOtherCM;\r\n\r\n return 0;\r\n}\r\n\r\nexport function updateNumberOfOccasionsByTargetGroup(\r\n application: Application,\r\n targetGroup: string,\r\n numberOfOccasions: number,\r\n isCulturalManagement: boolean\r\n): Application {\r\n if (targetGroup === TargetGroup.PreSchool && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsPreSchool: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.PreSchool)\r\n return { ...application, numberOfOccasionsPreSchoolCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolLower && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsSchoolLower: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolLower)\r\n return { ...application, numberOfOccasionsSchoolLowerCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolMiddle && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsSchoolMiddle: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolMiddle)\r\n return { ...application, numberOfOccasionsSchoolMiddleCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolUpper && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsSchoolUpper: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SchoolUpper)\r\n return { ...application, numberOfOccasionsSchoolUpperCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.HighSchool && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsHighSchool: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.HighSchool)\r\n return { ...application, numberOfOccasionsHighSchoolCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SpecialNeedsSchool && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsSpecialNeedsSchool: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.SpecialNeedsSchool)\r\n return { ...application, numberOfOccasionsSpecialNeedsSchoolCM: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.Other && !isCulturalManagement)\r\n return { ...application, numberOfOccasionsOther: numberOfOccasions };\r\n else if (targetGroup === TargetGroup.Other) return { ...application, numberOfOccasionsOtherCM: numberOfOccasions };\r\n\r\n return { ...application };\r\n}\r\n\r\nexport function getTotalNumberOfOccasionsFromSelection(application: Application, isCulturalManagement = false): number {\r\n if (isCulturalManagement) {\r\n return (\r\n application.numberOfOccasionsPreSchoolCM +\r\n application.numberOfOccasionsSchoolLowerCM +\r\n application.numberOfOccasionsSchoolMiddleCM +\r\n application.numberOfOccasionsSchoolUpperCM +\r\n application.numberOfOccasionsHighSchoolCM +\r\n application.numberOfOccasionsSpecialNeedsSchoolCM +\r\n application.numberOfOccasionsOtherCM\r\n );\r\n }\r\n\r\n return (\r\n application.numberOfOccasionsPreSchool +\r\n application.numberOfOccasionsSchoolLower +\r\n application.numberOfOccasionsSchoolMiddle +\r\n application.numberOfOccasionsSchoolUpper +\r\n application.numberOfOccasionsHighSchool +\r\n application.numberOfOccasionsSpecialNeedsSchool +\r\n application.numberOfOccasionsOther\r\n );\r\n}\r\n\r\nexport function getTotalBudget(applicationPeriod: ApplicationPeriod, isCulturalManagement = false): number {\r\n if (isCulturalManagement) {\r\n return (\r\n applicationPeriod.preSchoolBudgetCM +\r\n applicationPeriod.schoolLowerBudgetCM +\r\n applicationPeriod.schoolMiddleBudgetCM +\r\n applicationPeriod.schoolUpperBudgetCM +\r\n applicationPeriod.highSchoolBudgetCM +\r\n applicationPeriod.specialNeedsSchoolBudgetCM +\r\n applicationPeriod.otherBudgetCM\r\n );\r\n }\r\n\r\n return (\r\n applicationPeriod.preSchoolBudget +\r\n applicationPeriod.schoolLowerBudget +\r\n applicationPeriod.schoolMiddleBudget +\r\n applicationPeriod.schoolUpperBudget +\r\n applicationPeriod.highSchoolBudget +\r\n applicationPeriod.specialNeedsSchoolBudget +\r\n applicationPeriod.otherBudget\r\n );\r\n}\r\n\r\nexport function getElementarySchoolBudget(applicationPeriod: ApplicationPeriod, isCulturalManagement = false): number {\r\n if (isCulturalManagement) {\r\n return (\r\n applicationPeriod.schoolLowerBudgetCM +\r\n applicationPeriod.schoolMiddleBudgetCM +\r\n applicationPeriod.schoolUpperBudgetCM\r\n );\r\n }\r\n\r\n return (\r\n applicationPeriod.schoolLowerBudget + applicationPeriod.schoolMiddleBudget + applicationPeriod.schoolUpperBudget\r\n );\r\n}\r\n\r\nexport function getAdjustedAgeTagsByTargetGroup(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): AgeTag[] {\r\n let ageTags = getAgeTagsByTargetGroup(targetGroup).filter((a) => application.document.ageTags.includes(a));\r\n\r\n const adjustments = application.adjustedSelectionAgeTags\r\n ? application.adjustedSelectionAgeTags.filter(\r\n (a) => a.adjustedIn === targetGroup && a.isCulturalManagement === isCulturalManagement\r\n )\r\n : [];\r\n\r\n adjustments.forEach((a) => {\r\n if (a.isTargeted) {\r\n ageTags.push(a.ageTag as AgeTag);\r\n } else {\r\n ageTags = ageTags.filter((at) => at !== a.ageTag);\r\n }\r\n });\r\n\r\n return ageTags;\r\n}\r\n\r\nexport function getGroupedAgeTags(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): string {\r\n const ageTags = getAdjustedAgeTagsByTargetGroup(application, targetGroup, isCulturalManagement);\r\n const groupedAgeTags = toGroupedAgeTags(ageTags).join(\", \");\r\n\r\n return groupedAgeTags;\r\n}\r\n\r\nexport function applicationBelongsToTargetGroup(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): boolean {\r\n let targetGroupAgeTags: string[] = [];\r\n\r\n if (targetGroup === TargetGroup.PreSchool) {\r\n targetGroupAgeTags = [AgeTag.Age3, AgeTag.Age4, AgeTag.Age5];\r\n } else if (targetGroup === TargetGroup.SchoolLower) {\r\n targetGroupAgeTags = [AgeTag.Year0, AgeTag.Year1, AgeTag.Year2, AgeTag.Year3];\r\n } else if (targetGroup === TargetGroup.SchoolMiddle) {\r\n targetGroupAgeTags = [AgeTag.Year4, AgeTag.Year5, AgeTag.Year6];\r\n } else if (targetGroup === TargetGroup.SchoolUpper) {\r\n targetGroupAgeTags = [AgeTag.Year7, AgeTag.Year8, AgeTag.Year9];\r\n } else if (targetGroup === TargetGroup.HighSchool) {\r\n targetGroupAgeTags = [\r\n AgeTag.HighSchoolYear1,\r\n AgeTag.HighSchoolYear2,\r\n AgeTag.HighSchoolYear3,\r\n AgeTag.HighSchoolYear4\r\n ];\r\n } else if (targetGroup === TargetGroup.SpecialNeedsSchool) {\r\n targetGroupAgeTags = [AgeTag.SpecialNeedsSchool, AgeTag.SpecialNeedsSchoolOld];\r\n } else if (targetGroup === TargetGroup.Other || targetGroup === TargetGroup.Total) {\r\n targetGroupAgeTags = Object.values(AgeTag);\r\n }\r\n\r\n const adjustedAgeTags = getAdjustedAgeTagsByTargetGroup(application, targetGroup, isCulturalManagement);\r\n\r\n return adjustedAgeTags.some((tag) => targetGroupAgeTags.includes(tag));\r\n}\r\n\r\nexport function getAgeTagsByTargetGroup(targetGroup: TargetGroup): AgeTag[] {\r\n if (targetGroup === TargetGroup.PreSchool) {\r\n return [AgeTag.Age3, AgeTag.Age4, AgeTag.Age5];\r\n } else if (targetGroup === TargetGroup.SchoolLower) {\r\n return [AgeTag.Year0, AgeTag.Year1, AgeTag.Year2, AgeTag.Year3];\r\n } else if (targetGroup === TargetGroup.SchoolMiddle) {\r\n return [AgeTag.Year4, AgeTag.Year5, AgeTag.Year6];\r\n } else if (targetGroup === TargetGroup.SchoolUpper) {\r\n return [AgeTag.Year7, AgeTag.Year8, AgeTag.Year9];\r\n } else if (targetGroup === TargetGroup.HighSchool) {\r\n return [AgeTag.HighSchoolYear1, AgeTag.HighSchoolYear2, AgeTag.HighSchoolYear3, AgeTag.HighSchoolYear4];\r\n } else if (targetGroup === TargetGroup.SpecialNeedsSchool) {\r\n return [AgeTag.SpecialNeedsSchool];\r\n } else if (targetGroup === TargetGroup.Total || targetGroup === TargetGroup.Other) {\r\n return [\r\n AgeTag.Age3,\r\n AgeTag.Age4,\r\n AgeTag.Age5,\r\n AgeTag.Year0,\r\n AgeTag.Year1,\r\n AgeTag.Year2,\r\n AgeTag.Year3,\r\n AgeTag.Year4,\r\n AgeTag.Year5,\r\n AgeTag.Year6,\r\n AgeTag.Year7,\r\n AgeTag.Year8,\r\n AgeTag.Year9,\r\n AgeTag.HighSchoolYear1,\r\n AgeTag.HighSchoolYear2,\r\n AgeTag.HighSchoolYear3,\r\n AgeTag.HighSchoolYear4,\r\n AgeTag.SpecialNeedsSchool,\r\n AgeTag.LeisureCenter,\r\n AgeTag.SFI\r\n ];\r\n }\r\n\r\n return [];\r\n}\r\n\r\nexport function getAdjustedAgeTagsWithSelectedOccasions(\r\n application: Application,\r\n isCulturalManagement = false\r\n): AgeTag[] {\r\n let ageTags: AgeTag[] = [];\r\n\r\n const targetGroups = Object.values(TargetGroup);\r\n\r\n targetGroups.forEach((tg) => {\r\n const numberOfOccasionsForTargetGroup = getNumberOfOccasionsByTargetGroup(\r\n application,\r\n tg,\r\n isCulturalManagement\r\n );\r\n\r\n if (!numberOfOccasionsForTargetGroup) return;\r\n\r\n const adjustedAgeTagsForTargetGroup = getAdjustedAgeTagsByTargetGroup(application, tg, isCulturalManagement);\r\n\r\n ageTags = ageTags.concat(adjustedAgeTagsForTargetGroup);\r\n });\r\n\r\n ageTags = Array.from(new Set(ageTags));\r\n\r\n return ageTags;\r\n}\r\n\r\nexport function getCostPerOccasionString(application: Application): string {\r\n if (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) {\r\n return application.adjustedOccasionPrice.toLocaleString();\r\n }\r\n\r\n if (!application.document.isVisiting && !application.document.isOwnStage) {\r\n return \"0\";\r\n }\r\n\r\n let visitingCost = 0;\r\n let ownStageCost = 0;\r\n\r\n if (application.document.isVisiting) {\r\n if (application.document.occasionPrice2) {\r\n visitingCost = (application.document.occasionPrice + application.document.occasionPrice2) / 2;\r\n } else {\r\n visitingCost = application.document.occasionPrice;\r\n }\r\n }\r\n\r\n if (application.document.isOwnStage) {\r\n ownStageCost = application.document.ticketPrice * application.document.numberOfSeats;\r\n }\r\n\r\n if (visitingCost >= ownStageCost) {\r\n return `${application.document.occasionPrice.toLocaleString()} / ${application.document.occasionPrice2.toLocaleString()}`;\r\n }\r\n\r\n return ownStageCost.toLocaleString();\r\n}\r\n\r\nexport function applyApplicationPlanningFilter(\r\n applications: Application[],\r\n plannedApplicationSites: PlannedApplicationSite[],\r\n filter: ApplicationPlanningFilterOptions\r\n): Application[] {\r\n if (!filter) return applications;\r\n\r\n let filteredApplications = applications;\r\n\r\n if (filter.searchText) {\r\n const searchText = filter.searchText.toLowerCase();\r\n\r\n filteredApplications = filteredApplications.filter(\r\n (a) =>\r\n a.actorName.toLowerCase().includes(searchText) ||\r\n a.document.eventName.toLowerCase().includes(searchText)\r\n );\r\n }\r\n\r\n if (filter.applicationPlanningStatus === ApplicationPlanningStatus.HasNoOccasionsToPlan) {\r\n filteredApplications = filteredApplications.filter(\r\n (a) => getTotalNumberOfOccasionsFromSelection(a) - a.numberOfPlannedOccasions === 0\r\n );\r\n } else if (filter.applicationPlanningStatus === ApplicationPlanningStatus.HasOccasionsToPlan) {\r\n filteredApplications = filteredApplications.filter(\r\n (a) => getTotalNumberOfOccasionsFromSelection(a) - a.numberOfPlannedOccasions > 0\r\n );\r\n }\r\n\r\n if (filter.possibleOccasionDates && filter.possibleOccasionDates.length > 0) {\r\n filteredApplications = filteredApplications.filter((a) =>\r\n filter.possibleOccasionDates.some((filteredDate) =>\r\n a.document.possibleOccasionDates.some((pod) => isSameDay(filteredDate, pod))\r\n )\r\n );\r\n }\r\n\r\n return filteredApplications;\r\n}\r\n\r\nexport function getRemainingNumberOfOccasionsToPlan(application: Application): number {\r\n const numberOfRemainingOccasionsToPlan =\r\n getTotalNumberOfOccasionsFromSelection(application) - application.numberOfPlannedOccasions;\r\n\r\n return Math.max(0, numberOfRemainingOccasionsToPlan);\r\n}\r\n\r\nexport function applySiteApplicationSelectionFilter(\r\n applications: Application[],\r\n filterOptions: SiteApplicationSelectionFilterOptions\r\n): Application[] {\r\n if (!filterOptions) return applications;\r\n\r\n let filteredApplications = applications;\r\n\r\n if (filterOptions.searchText) {\r\n const lowerCaseText = filterOptions.searchText.toLowerCase();\r\n\r\n filteredApplications = filteredApplications.filter(\r\n (a) =>\r\n a.document.eventName.toLowerCase().includes(lowerCaseText) ||\r\n a.actorName.toLowerCase().includes(lowerCaseText)\r\n );\r\n }\r\n\r\n if (filterOptions.possibleOccasionDates && filterOptions.possibleOccasionDates.length > 0) {\r\n filteredApplications = filteredApplications.filter((a) =>\r\n filterOptions.possibleOccasionDates.some((filteredDate) =>\r\n a.document.possibleOccasionDates.some((pod) => isSameDay(filteredDate, pod))\r\n )\r\n );\r\n }\r\n\r\n return filteredApplications;\r\n}\r\n\r\nexport function getTotalCostForPlannedApplicationSites(\r\n application: Application,\r\n plannedApplicationSites: PlannedApplicationSite[]\r\n): number {\r\n const plannedApplicationSitesForApplication = plannedApplicationSites.filter(\r\n (pas) => pas.applicationId === application.id\r\n );\r\n\r\n if (application.adjustedOccasionPrice) {\r\n const totalCost = sum(\r\n plannedApplicationSitesForApplication.map((pas) =>\r\n hasTwoOccasions(pas) ? application.adjustedOccasionPrice * 2 : application.adjustedOccasionPrice\r\n )\r\n );\r\n\r\n return totalCost;\r\n }\r\n\r\n let totalCost = 0;\r\n\r\n plannedApplicationSitesForApplication.forEach((pas) => {\r\n if (SiteType[pas.site.siteType as keyof typeof SiteType] === SiteType.OwnStage) {\r\n totalCost += hasTwoOccasions(pas)\r\n ? 2 * application.document.ticketPrice * application.document.numberOfSeats\r\n : application.document.ticketPrice * application.document.numberOfSeats;\r\n } else if (pas.application.document.occasionPrice2) {\r\n totalCost += hasTwoOccasions(pas)\r\n ? application.document.occasionPrice + application.document.occasionPrice2\r\n : application.document.occasionPrice;\r\n } else {\r\n totalCost += hasTwoOccasions(pas)\r\n ? 2 * application.document.occasionPrice\r\n : application.document.occasionPrice;\r\n }\r\n });\r\n\r\n return totalCost;\r\n}\r\n\r\nexport function getRelevantTargetGroupsByAgeTag(ageTag: AgeTag) {\r\n switch (ageTag) {\r\n case AgeTag.Age3:\r\n case AgeTag.Age4:\r\n case AgeTag.Age5:\r\n return [TargetGroup.PreSchool, TargetGroup.Other];\r\n\r\n case AgeTag.Year0:\r\n case AgeTag.Year1:\r\n case AgeTag.Year2:\r\n case AgeTag.Year3:\r\n return [TargetGroup.SchoolLower, TargetGroup.Other];\r\n\r\n case AgeTag.Year4:\r\n case AgeTag.Year5:\r\n case AgeTag.Year6:\r\n return [TargetGroup.SchoolMiddle, TargetGroup.Other];\r\n\r\n case AgeTag.Year7:\r\n case AgeTag.Year8:\r\n case AgeTag.Year9:\r\n return [TargetGroup.SchoolUpper, TargetGroup.Other];\r\n\r\n case AgeTag.HighSchoolYear1:\r\n case AgeTag.HighSchoolYear2:\r\n case AgeTag.HighSchoolYear3:\r\n case AgeTag.HighSchoolYear4:\r\n return [TargetGroup.HighSchool, TargetGroup.Other];\r\n\r\n case AgeTag.SpecialNeedsSchoolOld:\r\n return [TargetGroup.SpecialNeedsSchool, TargetGroup.Other];\r\n\r\n default:\r\n return [TargetGroup.Other];\r\n }\r\n}\r\n\r\nexport function getSelectionCommentByTargetGroup(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement = false\r\n): string {\r\n const selectionComment = application.selectionComments.find(\r\n (sc) => sc.targetGroup === targetGroup && sc.isCulturalManagement === isCulturalManagement\r\n );\r\n\r\n if (!selectionComment) return \"\";\r\n\r\n return selectionComment.comment;\r\n}\r\n\r\nexport function getApplicationSelectionColorByTargetGroup(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): ApplicationSelectionColor | undefined {\r\n const applicationSelectionColor = application.applicationSelectionColors.find(\r\n (asc) => asc.targetGroup === targetGroup && asc.isCulturalManagement === isCulturalManagement\r\n );\r\n\r\n return applicationSelectionColor;\r\n}\r\n\r\nexport function getApplicationTargetGroupExclusion(\r\n application: Application,\r\n targetGroup: TargetGroup,\r\n isCulturalManagement: boolean\r\n): ApplicationTargetGroupExclusion | undefined {\r\n const applicationTargetGroupExclusion = application.applicationTargetGroupExclusions.find(\r\n (a) => a.targetGroup === targetGroup && a.isCulturalManagement === isCulturalManagement\r\n );\r\n\r\n return applicationTargetGroupExclusion;\r\n}\r\n","export const weekDayNames = [\"Sön\", \"Mån\", \"Tis\", \"Ons\", \"Tor\", \"Fre\", \"Lör\"];\r\n\r\nexport const monthNames = [\r\n \"Januari\",\r\n \"Februari\",\r\n \"Mars\",\r\n \"April\",\r\n \"Maj\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"Augusti\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"December\"\r\n];\r\n\r\nexport function isSameDay(date1: Date, date2: Date) {\r\n return (\r\n date1.getFullYear() === date2.getFullYear() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getDate() === date2.getDate()\r\n );\r\n}\r\n\r\nexport function getWeekDayName(date: Date) {\r\n return weekDayNames[date.getDay()];\r\n}\r\n\r\nexport function getCaptionText(date: Date) {\r\n return `${monthNames[date.getMonth()]} ${date.getFullYear()}`;\r\n}\r\n\r\nexport function getMonthsBetween(from: Date, to: Date): Date[] {\r\n const monthsBetween: Date[] = [];\r\n\r\n for (let i = 0; i <= to.getMonth() - from.getMonth(); i++) {\r\n const month = new Date(from);\r\n month.setMonth(from.getMonth() + i);\r\n\r\n monthsBetween.push(month);\r\n }\r\n\r\n return monthsBetween;\r\n}\r\n\r\nexport function setDateTimeFromString(date: Date, time: string): Date {\r\n let timeArray = time.split(\":\");\r\n\r\n const hours = Number.parseInt(timeArray[0]);\r\n const minutes = Number.parseInt(timeArray[1]);\r\n\r\n const resultDate = new Date(date);\r\n\r\n resultDate.setHours(hours);\r\n resultDate.setMinutes(minutes);\r\n\r\n return resultDate;\r\n}\r\n\r\nexport function formatTime(time: string): string {\r\n let timeArray = time.split(\":\");\r\n\r\n if (timeArray.length > 2) {\r\n timeArray = timeArray.slice(0, 2);\r\n }\r\n\r\n const formattedTime = timeArray.join(\":\");\r\n\r\n return formattedTime;\r\n}\r\n\r\nexport function getTimeStringFromDate(date: Date): string {\r\n const hours = date.getHours().toString().padStart(2, \"0\");\r\n const minutes = date.getMinutes().toString().padStart(2, \"0\");\r\n\r\n return `${hours}:${minutes}`;\r\n}\r\n\r\nexport function getTimeSpanString(date1: Date, date2: Date): string {\r\n const time1 = getTimeStringFromDate(date1);\r\n const time2 = getTimeStringFromDate(date2);\r\n\r\n return `${time1} - ${time2}`;\r\n}\r\n\r\nexport function getWeekNumber(date: Date): number {\r\n const dowOffset = 1;\r\n const firstDayOfYear = new Date(date.getFullYear(), 0, 1);\r\n let day = firstDayOfYear.getDay() - dowOffset;\r\n day = day >= 0 ? day : day + 7;\r\n const dayNumber =\r\n Math.floor(\r\n (date.getTime() -\r\n firstDayOfYear.getTime() -\r\n (date.getTimezoneOffset() - firstDayOfYear.getTimezoneOffset()) * 60000) /\r\n 86400000\r\n ) + 1;\r\n let weekNumber;\r\n if (day < 4) {\r\n weekNumber = Math.floor((dayNumber + day - 1) / 7) + 1;\r\n if (weekNumber > 52) {\r\n const nYear = new Date(date.getFullYear() + 1, 0, 1);\r\n let nDay = nYear.getDay() - dowOffset;\r\n nDay = nDay >= 0 ? nDay : nDay + 7;\r\n weekNumber = nDay < 4 ? 1 : 53;\r\n }\r\n } else {\r\n weekNumber = Math.floor((dayNumber + day - 1) / 7);\r\n }\r\n return weekNumber;\r\n}\r\n\r\nexport function removeTimeFromDate(date: Date): Date {\r\n return new Date(date.toDateString());\r\n}\r\n\r\nexport function toDateOnlyString(date: Date): string {\r\n const dateOnlyString = date.toLocaleDateString()\r\n .split(\" \")[0];\r\n\r\n return dateOnlyString\r\n}\r\n\r\nexport function toDayAndMonthString(date: Date): string {\r\n const dayAndMonthString = `${date.getDate()}/${date.getMonth() + 1}`\r\n\r\n return dayAndMonthString\r\n}\r\n\r\nexport function getDateRange(from: Date, to: Date): Date[] {\r\n const range: Date[] = [];\r\n\r\n const timeDiff = to.getTime() - from.getTime()\r\n const nDays = Math.round(timeDiff / (1000 * 3600 * 24)) - 1;\r\n\r\n for (let dayIndex = 0; dayIndex < nDays; dayIndex++) {\r\n const date = new Date(from);\r\n date.setDate(date.getDate() + dayIndex);\r\n\r\n range.push(date);\r\n }\r\n\r\n return range;\r\n}\r\n","export enum TargetGroup {\r\n PreSchool = \"PreSchool\",\r\n SchoolLower = \"SchoolLower\",\r\n SchoolMiddle = \"SchoolMiddle\",\r\n SchoolUpper = \"SchoolUpper\",\r\n HighSchool = \"HighSchool\",\r\n SpecialNeedsSchool = \"SpecialNeedsSchool\",\r\n DayCareSchool = \"DayCareSchool\",\r\n SFI = \"SFI\",\r\n Other = \"Other\",\r\n Total = \"Total\"\r\n}\r\n\r\nexport enum Tag {\r\n Nycirkus = \"Nycirkus\",\r\n Dans = \"Dans\",\r\n RörligBild = \"Rörlig bild\",\r\n Konst = \"Konst\",\r\n Litteratur = \"Litteratur\",\r\n Musik = \"Musik\",\r\n Performance = \"Performance\",\r\n Slöjd = \"Slöjd\",\r\n Teater = \"Teater\"\r\n}\r\n\r\nexport enum AgeTag {\r\n Age3 = \"3 år\",\r\n Age4 = \"4 år\",\r\n Age5 = \"5 år\",\r\n Year0 = \"F-klass\",\r\n Year1 = \"Åk1\",\r\n Year2 = \"Åk2\",\r\n Year3 = \"Åk3\",\r\n Year4 = \"Åk4\",\r\n Year5 = \"Åk5\",\r\n Year6 = \"Åk6\",\r\n Year7 = \"Åk7\",\r\n Year8 = \"Åk8\",\r\n Year9 = \"Åk9\",\r\n HighSchoolYear1 = \"Gymnasie Åk1\",\r\n HighSchoolYear2 = \"Gymnasie Åk2\",\r\n HighSchoolYear3 = \"Gymnasie Åk3\",\r\n HighSchoolYear4 = \"Gymnasie Åk4\",\r\n SpecialNeedsSchoolOld = \"Särskola\",\r\n SpecialNeedsSchool = \"Anpassad skola\",\r\n LeisureCenter = \"Fritidshem\",\r\n SFI = \"SFI\"\r\n}\r\n\r\nexport enum SiteType {\r\n Outdoors = \"Utomhus\",\r\n Library = \"Kulturhus/Bibliotek\",\r\n School = \"Klassrum/Förskola\",\r\n OwnStage = \"Egen scen\"\r\n}\r\n\r\nexport enum SecondarySiteType {\r\n Internal = \"Intern\",\r\n External = \"Extern\",\r\n Outdoors = \"Utomhus\",\r\n Visiting = \"Uppsökande\"\r\n}\r\n\r\nexport enum ApplicationPlanningStatus {\r\n HasOccasionsToPlan = \"Tillfällen kvar att programlägga\",\r\n HasNoOccasionsToPlan = \"Inga tillfällen kvar att programlägga\"\r\n}\r\n\r\nexport enum SitePlanningStatus {\r\n HasAvailableDates = \"Datum kvar att programlägga\",\r\n HasNoAvailableDates = \"Inga datum kvar att programlägga\"\r\n}\r\n\r\nexport enum CityArea {\r\n NorthEast = \"Nordost\",\r\n SouthWest = \"Sydväst\",\r\n Hisingen = \"Hisingen\",\r\n Center = \"Centrum\"\r\n}\r\n\r\nexport enum HexColor {\r\n Blue = \"#B7DAFF\",\r\n Grey = \"#D6D8DB\",\r\n Green = \"#C3E6CB\",\r\n Red = \"#F4C6CC\",\r\n Yellow = \"#FEEEBA\",\r\n Purple = \"#C4B3E6\",\r\n}\r\n","export const pageLoadErrorMessage = \"Något gick fel när sidan laddades. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n","export function getRequestVerificationToken() {\r\n const requestVerificationToken = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (requestVerificationToken == null) {\r\n alert(\"Det finns ingen RequestVerificationToken\");\r\n return;\r\n }\r\n\r\n return requestVerificationToken.value;\r\n}\r\n","import { CSSProperties } from \"react\";\r\n\r\n/**\r\n * These styles are used in places where css-files are not available. Such as in texts that will be copied and pasted into other applications,\r\n * and mails being sent from the system.\r\n */\r\n\r\nexport const defaultMarginBottom = \"24px\";\r\nexport const defaultFontSize = \"11pt\";\r\nexport const defaultFontFamily = \"Calibri, sans-serif\";\r\nexport const defaultTextStyles: CSSProperties = { fontFamily: defaultFontFamily, fontSize: defaultFontSize };\r\n\r\nexport const tableCellStyles: CSSProperties = {\r\n border: \"1px solid black\",\r\n borderCollapse: \"collapse\",\r\n fontFamily: defaultFontFamily,\r\n fontSize: \"8pt\",\r\n wordWrap: \"break-word\",\r\n};\r\n\r\nexport const tableStyles: CSSProperties = {\r\n width: \"100%\",\r\n borderCollapse: \"collapse\",\r\n tableLayout: \"fixed\"\r\n};\r\n\r\nexport const sectionHeaderStyles: CSSProperties = {\r\n fontWeight: \"bold\",\r\n fontFamily: defaultFontFamily\r\n};\r\n\r\nexport const tableCellHeaderStyles: CSSProperties = {\r\n fontStyle: \"italic\"\r\n};\r\n","export function sum(numbers: number[]): number {\r\n return numbers.reduce((a, b) => a + b, 0);\r\n}","import { SelectedPlanningOverviewOptions } from \"../components/Planning/PlanningOverviewAccordionItem\";\r\nimport Application from \"../types/Application\";\r\nimport PlannedApplicationSite from \"../types/PlannedApplicationSite\";\r\nimport Site from \"../types/Site\";\r\nimport { getTimeSpanString, getWeekDayName, getWeekNumber, removeTimeFromDate } from \"./dateUtils\";\r\nimport { SiteType } from \"./enums\";\r\n\r\nexport function hasTwoOccasions(plannedApplicationSite: PlannedApplicationSite): boolean {\r\n const hasTwoOccasions =\r\n !!plannedApplicationSite.occasion2Starts && plannedApplicationSite.occasion2Starts.getFullYear() > 1;\r\n\r\n return hasTwoOccasions;\r\n}\r\n\r\nexport function applyPlanningOverviewFilter(\r\n selectedOptions: SelectedPlanningOverviewOptions,\r\n plannedApplicationSites: PlannedApplicationSite[]\r\n) {\r\n if (!selectedOptions) return plannedApplicationSites;\r\n\r\n let filtered = plannedApplicationSites;\r\n\r\n if (selectedOptions.cultureProviderId) {\r\n filtered = filtered.filter((pas) => pas.application.cultureProviderId == selectedOptions.cultureProviderId);\r\n }\r\n\r\n if (selectedOptions.applicationId) {\r\n filtered = filtered.filter((pas) => pas.applicationId == selectedOptions.applicationId);\r\n }\r\n\r\n if (selectedOptions.siteId) {\r\n filtered = filtered.filter((pas) => pas.siteId == selectedOptions.siteId);\r\n }\r\n\r\n if (selectedOptions.searchText) {\r\n const lowerCaseText = selectedOptions.searchText.toLocaleLowerCase();\r\n\r\n filtered = filtered.filter(\r\n (pas) =>\r\n pas.site.name.toLocaleLowerCase().includes(lowerCaseText) ||\r\n (pas.numberOfSeats\r\n ? pas.numberOfSeats.toString().includes(lowerCaseText)\r\n : Math.min(pas.site.numberOfSeats, pas.application.document.maxNumberOfSeats)\r\n .toString()\r\n .includes(lowerCaseText)) ||\r\n pas.occasion1Starts.toLocaleDateString().includes(lowerCaseText) ||\r\n getWeekNumber(pas.occasion1Starts).toString().includes(lowerCaseText) ||\r\n getWeekDayName(pas.occasion1Starts).toLocaleLowerCase().includes(lowerCaseText) ||\r\n getTimeSpanString(pas.occasion1Starts, pas.occasion1Ends).includes(lowerCaseText) ||\r\n (hasTwoOccasions(pas) &&\r\n getTimeSpanString(pas.occasion2Starts, pas.occasion2Ends).includes(lowerCaseText)) ||\r\n SiteType[pas.site.siteType as keyof typeof SiteType].toLocaleLowerCase().includes(lowerCaseText) ||\r\n pas.application.actorName.toLocaleLowerCase().includes(lowerCaseText) ||\r\n pas.application.document.eventName.toLocaleLowerCase().includes(lowerCaseText)\r\n );\r\n }\r\n\r\n if (selectedOptions.fromDate) {\r\n filtered = filtered.filter((pas) => selectedOptions.fromDate <= removeTimeFromDate(pas.occasion1Starts));\r\n }\r\n\r\n if (selectedOptions.toDate) {\r\n filtered = filtered.filter((pas) => removeTimeFromDate(pas.occasion1Starts) <= selectedOptions.toDate);\r\n }\r\n\r\n return filtered;\r\n}\r\n\r\nexport function getDefaultNumberOfSeats(application: Application, site: Site): number {\r\n let defaultNumberOfSeats = 0;\r\n\r\n if (application && site) {\r\n defaultNumberOfSeats = Math.min(application.document.maxNumberOfSeats, site.numberOfSeats);\r\n } else if (application) {\r\n defaultNumberOfSeats = application.document.maxNumberOfSeats;\r\n } else if (site) {\r\n defaultNumberOfSeats = site.numberOfSeats;\r\n }\r\n\r\n return defaultNumberOfSeats;\r\n}\r\n\r\nexport function getNumberOfSeats(plannedApplicationSite: PlannedApplicationSite): number {\r\n let numberOfSeats = 0;\r\n\r\n if (plannedApplicationSite.numberOfSeats || plannedApplicationSite.numberOfSeats === 0) {\r\n numberOfSeats = plannedApplicationSite.numberOfSeats;\r\n } else if (plannedApplicationSite.application && plannedApplicationSite.site) {\r\n numberOfSeats = getDefaultNumberOfSeats(plannedApplicationSite.application, plannedApplicationSite.site);\r\n }\r\n\r\n return numberOfSeats;\r\n}\r\n\r\nexport function sortPlannedApplicationSites(\r\n plannedApplicationSites: PlannedApplicationSite[]\r\n): PlannedApplicationSite[] {\r\n const sorted = plannedApplicationSites.sort((a, b) => {\r\n if (!a.site || !b.site || a.site.name === b.site.name) {\r\n return a.occasion1Starts.getTime() - b.occasion1Starts.getTime();\r\n }\r\n return a.site.name > b.site.name ? 1 : -1;\r\n });\r\n\r\n return sorted;\r\n}\r\n","import { ApplicationSiteSelectionFilterOptions } from \"../components/Planning/ApplicationPlanning/ApplicationSiteSelectionFilter\";\r\nimport { SitePlanningFilterOptions } from \"../components/Planning/SitePlanning/SitePlanningFilter\";\r\nimport Site from \"../types/Site\";\r\nimport { isSameDay } from \"./dateUtils\";\r\nimport { SitePlanningStatus } from \"./enums\";\r\n\r\nexport function applySitePlanningFilter(sites: Site[], filter: SitePlanningFilterOptions): Site[] {\r\n if (!filter) return sites;\r\n\r\n let filteredSites = sites;\r\n\r\n if (filter.searchText) {\r\n const lowerCaseText = filter.searchText.toLowerCase();\r\n\r\n filteredSites = filteredSites.filter(\r\n (s) =>\r\n s.name.toLowerCase().includes(lowerCaseText) || s.roomName.toLocaleLowerCase().includes(lowerCaseText)\r\n );\r\n }\r\n\r\n if (filter.sitePlanningStatus === SitePlanningStatus.HasNoAvailableDates) {\r\n filteredSites = filteredSites.filter((s) => s.remainingNumberOfAvailableSiteDates === 0);\r\n } else if (filter.sitePlanningStatus === SitePlanningStatus.HasAvailableDates) {\r\n filteredSites = filteredSites.filter((s) => s.remainingNumberOfAvailableSiteDates > 0);\r\n }\r\n\r\n if (filter.availableDates && filter.availableDates.length > 0) {\r\n filteredSites = filteredSites.filter((s) =>\r\n filter.availableDates.some((d) => s.availableSiteDates.some((asd) => isSameDay(d, asd.availableDate)))\r\n );\r\n }\r\n\r\n return filteredSites;\r\n}\r\n\r\nexport function applyApplicationSiteSelectionFilter(\r\n sites: Site[],\r\n filter: ApplicationSiteSelectionFilterOptions\r\n): Site[] {\r\n if (!filter) return sites;\r\n\r\n let filteredSites = sites;\r\n\r\n if (filter.searchText) {\r\n const lowerCaseText = filter.searchText.toLowerCase();\r\n\r\n filteredSites = filteredSites.filter(\r\n (s) =>\r\n s.name.toLowerCase().includes(lowerCaseText) || s.roomName.toLocaleLowerCase().includes(lowerCaseText)\r\n );\r\n }\r\n\r\n if (filter.cityArea) {\r\n filteredSites = filteredSites.filter((s) => s.cityArea === filter.cityArea);\r\n }\r\n\r\n if (filter.availableDates && filter.availableDates.length > 0) {\r\n filteredSites = filteredSites.filter((s) =>\r\n filter.availableDates.some((d) => s.availableSiteDates.some((asd) => isSameDay(d, asd.availableDate)))\r\n );\r\n }\r\n\r\n return filteredSites;\r\n}\r\n","import { AgeTag } from \"./enums\";\r\n\r\nexport async function copyRichText(htmlString: string) {\r\n const htmlBlob = new Blob([htmlString], { type: \"text/html\" });\r\n const data = new ClipboardItem({ \"text/html\": htmlBlob });\r\n await navigator.clipboard.write([data]);\r\n}\r\n\r\nexport function toGroupedAgeTags(tagNames: AgeTag[]): string[] {\r\n const preSchoolTags = tagNames\r\n .filter((t) => t.endsWith(\" år\"))\r\n .map((t) => ({ name: t, sortOrder: Number.parseInt(t.replace(\" år\", \"\")) - 8 }));\r\n\r\n const schoolTags = tagNames\r\n .filter((t) => t.startsWith(\"Åk\") || t === \"F-klass\")\r\n .map((t) => ({ name: t, sortOrder: Number.parseInt(t.replace(\"Åk\", \"\").replace(\"F-klass\", \"-1\")) }));\r\n\r\n const highSchoolTags = tagNames\r\n .filter((t) => t.startsWith(\"Gymnasie Åk\"))\r\n .map((t) => ({ name: t, sortOrder: Number.parseInt(t.replace(\"Gymnasie Åk\", \"\")) + 10 }));\r\n\r\n const otherTags = tagNames\r\n .filter((t) => t == \"Särskola\" || t == \"Anpassad skola\" || t == \"Fritidshem\" || t == \"SFI\")\r\n .map((t) => ({\r\n name: t,\r\n sortOrder: t == \"Särskola\" ? 100 : t == \"Anpassad skola\" ? 100 : t == \"Fritidshem\" ? 200 : 300\r\n }));\r\n\r\n const allTags = Array.from(new Set([...preSchoolTags, ...schoolTags, ...highSchoolTags, ...otherTags])).sort(\r\n (a, b) => a.sortOrder - b.sortOrder\r\n );\r\n\r\n\r\n const groups: string[] = [];\r\n let currentGroup: string[] = [];\r\n\r\n for (let index = 0; index < allTags.length; index++) {\r\n const isLastTag = index === allTags.length - 1;\r\n\r\n const currentTag = allTags[index];\r\n const nextTag = isLastTag ? null : allTags[index + 1];\r\n\r\n const isLastInGroup = nextTag === null || currentTag.sortOrder + 1 !== nextTag.sortOrder;\r\n\r\n currentGroup.push(currentTag.name);\r\n\r\n if (isLastInGroup) {\r\n const firstTag = currentGroup[0];\r\n const lastTag = currentGroup[currentGroup.length - 1];\r\n const name =\r\n firstTag == lastTag\r\n ? firstTag\r\n : `${firstTag.replace(\" år\", \"\")}-${lastTag\r\n .replace(\"Gymnasie åk\", \"\")\r\n .replace(\"Åk\", \"\")\r\n .replace(\"Födda 20\", \"\")}`;\r\n groups.push(name);\r\n currentGroup = [];\r\n }\r\n }\r\n\r\n return groups;\r\n}\r\n","import React, { CSSProperties, ChangeEvent, useEffect, useRef, useState } from \"react\";\r\nimport CultureProvider from \"../../types/CultureProvider\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport {\r\n fetchApplicationPeriod,\r\n fetchApplicationsForActorContractCreation,\r\n fetchCultureProviderForContractCreation,\r\n fetchPlannedApplicationSitesForActorContract,\r\n fetchSitesByApplicationPeriodId\r\n} from \"../../common/apiClient\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport Application from \"../../types/Application\";\r\nimport {\r\n getCostForOwnStageEvent,\r\n getCostForSelectedOwnStageEvents,\r\n getTotalCostForEvents,\r\n getTotalCostForPlannedApplicationSites,\r\n getTotalNumberOfOccasionsFromSelection\r\n} from \"../../common/applicationUtils\";\r\nimport OccasionScheduleTableRow from \"./OccasionScheduleTableRow\";\r\nimport { sum } from \"../../common/numberUtils\";\r\nimport SuccessMessage from \"../Common/Messages/SuccessMessage\";\r\nimport { copyRichText } from \"../../common/stringUtils\";\r\nimport { defaultMarginBottom, defaultTextStyles, tableCellStyles, tableStyles } from \"../../common/inlineStyles\";\r\nimport SelectedApplicationTableRow from \"./SelectedApplicationTableRow\";\r\n\r\ntype ActorContractCreationProps = {\r\n applicationPeriodId: number;\r\n cultureProviderId: number;\r\n};\r\n\r\nfunction ActorContractCreation({ applicationPeriodId, cultureProviderId }: ActorContractCreationProps) {\r\n const [cultureProvider, setCultureProvider] = useState();\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [applications, setApplications] = useState([]);\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [copiedToClipboard, setCopiedToClipboard] = useState(false);\r\n const [representedByInput, setRepresentedByInput] = useState(\"\");\r\n\r\n const contractRef = useRef();\r\n const successMessageRef = useRef();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n cultureProviderFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n applicationPeriodFetchResult,\r\n applicationsFetchResult,\r\n sitesFetchResult\r\n ] = await Promise.all([\r\n fetchCultureProviderForContractCreation(applicationPeriodId, cultureProviderId),\r\n fetchPlannedApplicationSitesForActorContract(cultureProviderId, applicationPeriodId),\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchApplicationsForActorContractCreation(applicationPeriodId, cultureProviderId),\r\n fetchSitesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (cultureProviderFetchResult.errorMessage) {\r\n console.error(cultureProviderFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(plannedApplicationSitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationsFetchResult.errorMessage) {\r\n console.error(applicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n plannedApplicationSitesFetchResult.value.sort(\r\n (a, b) => a.occasion1Starts.getTime() - b.occasion1Starts.getTime()\r\n );\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n const application = applicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n const site = sitesFetchResult.value.find((s) => s.id === pas.siteId);\r\n\r\n if (!application) {\r\n console.error(`Ingen intresseanmälan med id ${pas.applicationId} skickades från backend.`);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n if (!site) {\r\n console.error(`Ingen spelplats med id ${pas.siteId} skickades från backend.`);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n pas.application = application;\r\n pas.site = site;\r\n });\r\n\r\n setCultureProvider(cultureProviderFetchResult.value);\r\n setPlannedApplicationSites(plannedApplicationSitesFetchResult.value);\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setApplications(applicationsFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const copyToClipboardClickHandler = async () => {\r\n await copyRichText(contractRef.current.innerHTML);\r\n\r\n if (!copiedToClipboard) {\r\n setCopiedToClipboard(true);\r\n setTimeout(() => {\r\n successMessageRef.current.classList.add(\"slide-out\");\r\n setTimeout(() => {\r\n setCopiedToClipboard(false);\r\n }, 80);\r\n }, 3000);\r\n }\r\n };\r\n\r\n const plannedApplications = applications.filter((a) => a.numberOfPlannedOccasions > 0);\r\n const selectedApplications = applications.filter((a) => a.numberOfPlannedOccasions === 0);\r\n\r\n const occasionScheduleTableRows = plannedApplicationSites.map((pas) => (\r\n \r\n ));\r\n\r\n const selectedApplicationTableRows = selectedApplications.map((a) => (\r\n \r\n ));\r\n\r\n const disableCopyToClipboard = !representedByInput;\r\n\r\n const numberOfProductions = applications.length;\r\n const numberOfOccasions =\r\n sum(plannedApplications.map((a) => a.numberOfPlannedOccasions)) +\r\n sum(selectedApplications.map((a) => getTotalNumberOfOccasionsFromSelection(a)));\r\n\r\n const totalCost =\r\n sum(plannedApplications.map((a) => getTotalCostForPlannedApplicationSites(a, plannedApplicationSites))) +\r\n getCostForSelectedOwnStageEvents(selectedApplications);\r\n\r\n const plannedApplicationsWithMissingCostInfo = plannedApplications.filter((a) => a.document.occasionPrice === 0);\r\n\r\n const selectedApplicationsWithMissingCostInfo = selectedApplications.filter(\r\n (a) => getCostForOwnStageEvent(a, getTotalNumberOfOccasionsFromSelection(a)) === 0\r\n );\r\n\r\n const applicationsWithMissingCostInfo = plannedApplicationsWithMissingCostInfo.concat(\r\n selectedApplicationsWithMissingCostInfo\r\n );\r\n\r\n return (\r\n
\r\n {copiedToClipboard ? (\r\n
\r\n {\" \"}\r\n
\r\n ) : (\r\n <>\r\n )}\r\n

\r\n Avtalsunderlag: {cultureProvider.name}, spelperiod{\" \"}\r\n {applicationPeriod.occasionsFrom.toLocaleDateString()}\r\n

\r\n\r\n
\r\n
\r\n {plannedApplications.length > 0 ? (\r\n
\r\n
Avtalsmallen innehåller följande programlagda evenemang:
\r\n
    \r\n {plannedApplications.map((a) => (\r\n
  • \r\n {a.document.eventName} ({a.numberOfPlannedOccasions} st. tillfällen)\r\n
  • \r\n ))}\r\n
\r\n
\r\n ) : null}\r\n\r\n {selectedApplications.length > 0 ? (\r\n
\r\n
\r\n Följande evenemang har inte programlagts, men ingår i avtalsmallen då de sker på egen\r\n scen och har valts i urvalet:\r\n
\r\n
    \r\n {selectedApplications.map((a) => (\r\n
  • \r\n {a.document.eventName} ({getTotalNumberOfOccasionsFromSelection(a)} st.\r\n tillfällen)\r\n
  • \r\n ))}\r\n
\r\n
\r\n ) : null}\r\n
\r\n\r\n {applicationsWithMissingCostInfo.length > 0 ? (\r\n
\r\n
Följande evenemang saknar prisinformation i aktörens intresseanmälan
\r\n
    \r\n {applicationsWithMissingCostInfo.map((a) => (\r\n
  • {a.document.eventName}
  • \r\n ))}\r\n
\r\n
\r\n ) : null}\r\n\r\n
\r\n
\r\n \r\n setRepresentedByInput(e.target.value)}\r\n >\r\n
\r\n
\r\n\r\n \r\n \r\n Kopiera till urklipp\r\n \r\n\r\n
\r\n

Avtal

\r\n
Mellan
\r\n
\r\n Uppdragsgivare
\r\n Göteborgs Stads kulturförvaltning
\r\n Östra Hamngatan 16
\r\n 411 09 Göteborg
\r\n Representerad av: {representedByInput}
\r\n (nedan kallad KuBo)
\r\n Org. Nr: 212000-1355
\r\n Kontaktperson: Victoria Alarik
\r\n E-post:{\" \"}\r\n victoria.alarik@kultur.goteborg.se{\" \"}\r\n
\r\n Tel 031- 368 34 93 | Mob 0703-43 30 49\r\n
\r\n
Och
\r\n
\r\n Uppdragstagare
\r\n {cultureProvider.organization}
\r\n {cultureProvider.address}
\r\n {cultureProvider.postalCode} {cultureProvider.postalAddress}
\r\n (nedan kallad Aktören)
\r\n Org. Nr: {cultureProvider.organizationNumber}
\r\n Kontaktperson: {cultureProvider.contactName}
\r\n E-post: \r\n {cultureProvider.emailAddress}\r\n {\" \"}\r\n
\r\n Tel {cultureProvider.phoneNumber}\r\n
\r\n

\r\n har härmed följande avtal träffats rörande uppdraget i punkt 1 och 2.
\r\n Ovan nämnda uppdragstagare äger rätt att representera alla medverkande artister.\r\n

\r\n
________________________________
\r\n\r\n

\r\n KuBo är en plattform som samlar kulturutbud på en bokningssida för förmedling, bokning och\r\n uppföljning av kulturutbud för kommunala och fristående förskolor, grundskolor och gymnasier i\r\n Göteborg. Samarbetet inom Göteborgs stad är mellan kulturförvaltningen, grundskoleförvaltningen,\r\n förskoleförvaltningen och utbildningsförvaltningen, och finansieras med offentliga medel.\r\n

\r\n\r\n

\r\n Syftet med KuBo är att underlätta för lärare och pedagoger i förskola, grundskola och\r\n gymnasieskola att boka kulturaktiviteter samt för olika kulturaktörer inom olika kulturformer\r\n att nå målgruppen barn och elever på skoltid. Du hittar KuBo på{\" \"}\r\n kubo.goteborg.se\r\n

\r\n\r\n

\r\n I detta avtal är det Kulturförvaltningen som är part i förhållande till Aktören.\r\n

\r\n\r\n
    \r\n
  1. \r\n
    Uppdrag
    \r\n Aktören ska inom spelperioden {applicationPeriod.occasionsFrom.toLocaleDateString()} -{\" \"}\r\n {applicationPeriod.occasionsTo.toLocaleDateString()} på uppdrag av KuBo utföra följande:{\" \"}\r\n
    \r\n
    {numberOfProductions} produktion(er) med {numberOfOccasions} speltillfällen\r\n
  2. \r\n
  3. \r\n
    \r\n Spelplan som Aktören förbinder sig att följa\r\n
    \r\n {plannedApplications.length > 0 ? (\r\n <>\r\n

    \r\n Spelplan enligt nedan med spelplats, datum, tider, antal publikplatser och\r\n målgrupp har kommunicerats via e-post samt finns publicerat på kubo.goteborg.se.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {occasionScheduleTableRows}\r\n
    PlatsLokalPlatserDatumVeckaVeckodagTid 1Tid 2FöreställningMålgrupp\r\n Spelplatsens kontaktuppgifter\r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n\r\n {selectedApplications.length > 0 ? (\r\n <>\r\n

    \r\n {plannedApplications.length > 0\r\n ? \"Utöver spelplanen ovan ska även följande föreställningar utföras.\"\r\n : \"\"}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedApplicationTableRows}\r\n
    FöreställningMålgruppAntal tillfällen
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n\r\n

    \r\n I de fall uppsökande föreställningar programläggs på spelplatser i staden, regleras\r\n dessa åtaganden i särskilt avtal mellan kulturförvaltningen och respektive spelplats.\r\n Föreställningens behov av teknik och lokal beaktas i dessa.\r\n

    \r\n

    \r\n Aktören ska ta kontakt med uppsökande spelplats i god tid före framförandet eller med\r\n kontaktperson/lärare vid uppsökande i förskola/skola efter bokningen är genomförd, för\r\n detaljplanering av arrangemanget. Lista med kontakter till spelplatser tillhandahålles\r\n Aktören av KuBo.\r\n

    \r\n
  4. \r\n
  5. \r\n
    \r\n Information, marknadsföring och bokning\r\n
    \r\n

    \r\n Detta avtal ger KuBo rätt att marknadsföra aktören enligt kulturförvaltningens,\r\n förskoleförvaltningens, grundskoleförvaltningens och utbildningsförvaltningens ordinarie\r\n rutiner och marknadsföringskanaler.\r\n

    \r\n

    \r\n KuBo ansvarar för information och marknadsföring inom ordinarie kanaler såsom\r\n nyhetsbrev, webb samt viss annonsering, med sådant material och på sådant sätt som KuBo\r\n finner lämpligt.\r\n

    \r\n

    \r\n KuBo förbehåller sig rätten att anpassa informations- och marknadsföringsmaterial i\r\n enlighet med gällande grafisk profil och bokningssida.\r\n

    \r\n

    \r\n Så snart parterna träffat en överenskommelse om evenemanget ska aktören ha\r\n tillhandahållit informations- och marknadsföringsmaterial, inklusive högupplösta foton\r\n och filmer. Detta ska ske på anmodan av KuBo och senast vid undertecknande av detta\r\n avtal.\r\n

    \r\n\r\n

    \r\n KuBo hanterar all bokning via bokningssidan på{\" \"}\r\n kubo.goteborg.se. KuBo beslutar om datum för\r\n publicering samt fördelning och bokning av målgrupper. Bokningsinformation kommer att\r\n vara tillgängliga i systemet även för aktörer.\r\n

    \r\n
  6. \r\n
  7. \r\n
    Personuppgifter
    \r\n

    \r\n Aktören garanterar att samtliga medverkande lämnat sitt samtycke till att KuBo får lagra\r\n information och personuppgifter som är nödvändiga för att genomföra produktionen.\r\n

    \r\n

    \r\n KuBo äger rätt att publicera personuppgifter såsom namn och bilder i informations- och\r\n marknadsföringssyfte på samtliga medverkande artister i samtliga ordinarie\r\n marknadsföringskanaler.\r\n

    \r\n

    \r\n Hanteringen av personuppgifter sker i enlighet med verksamhetens plan (Göteborgs stads\r\n kulturförvaltning) för hantering av personuppgifter enligt GDPR.\r\n

    \r\n
  8. \r\n
  9. \r\n
    Aktörens åtaganden
    \r\n
    \r\n Generella villkor\r\n
    \r\n

    \r\n Aktörens rättigheter och/eller skyldigheter enligt detta avtal får inte överlåtas till\r\n annan utan KuBo i förtid skriftliga medgivande.\r\n

    \r\n

    \r\n Aktören garanterar att andra avtal inte hindrar eller stör åtagandet enligt detta avtal.\r\n

    \r\n

    \r\n Aktören ansvarar för alla upphovsrättigheter som är förknippade med evenemanget och\r\n svarar för de kostnader som uppstår för dessa.{\" \"}\r\n

    \r\n
    \r\n För aktörer med produktioner på fasta scener eller i egen regi\r\n
    \r\n
      \r\n
    • \r\n Ansvara för att facilitera arrangemanget och bistå med personal\r\n
    • \r\n
    • Ta emot barn och elever
    • \r\n
    • \r\n Ansvara för brandsäkerhet, sjukvårdsberedskap och utrymning\r\n
    • \r\n
    • Ansvara för all befintlig teknik och säkerhet
    • \r\n
    • \r\n Ha rollen som Aktör och Värd i KuBos bokningssida, d v s ha kontakt med bokade\r\n grupper samt registrera närvaro i efterhand\r\n
    • \r\n
    \r\n\r\n
    Exklusivitet
    \r\n

    \r\n Aktören är vid sjukdomsfall skyldig att omedelbart meddela KuBo. Vid avbokning på grund\r\n av sjukdom gäller vad som sägs i punkt 8.\r\n

    \r\n

    \r\n Aktören ska skyndsamt meddela KuBo om en väsentlig förändring av arrangemanget planeras.\r\n

    \r\n\r\n
    \r\n Teknik och säkerhet vid uppsökande spelplatser\r\n
    \r\n

    \r\n Aktören ansvarar för all egen personal och egen utrustning och att säkerhetskraven är\r\n uppfyllda inför varje föreställning. Aktören är skyldig att ha erforderliga försäkringar\r\n för stöld, sak- och personskador.{\" \"}\r\n

    \r\n\r\n

    \r\n För övriga skyldigheter gällande teknik och säkerhet, se Bilaga 1, till detta dokument.\r\n

    \r\n\r\n
    \r\n Likabehandling och diskriminering\r\n
    \r\n

    \r\n Aktörens personal förbinder sig att följa Göteborgs stads policy om likabehandling,\r\n vilket inkluderar nolltolerans mot all form av diskriminering och trakasserier, sexuella\r\n såväl som andra. Hets mot folkgrupp eller andra olagliga handlingar får inte förekomma.\r\n

    \r\n

    \r\n Aktörens rättigheter och/eller skyldigheter enligt detta avtal får inte överlåtas till\r\n annan utan KuBos skriftliga medgivande.\r\n

    \r\n
  10. \r\n
  11. \r\n
    \r\n Uppdragsgivarens åtaganden\r\n
    \r\n\r\n
    \r\n För samtliga aktörer:\r\n
    \r\n
      \r\n
    • \r\n Administration och hantering av bokningssida samt uppföljning och statistik\r\n
    • \r\n
    • Tillhandahålla bokningsinformation till Aktören
    • \r\n
    • \r\n Publikarbete riktat till förskolor och skolor genom bokningssidan KuBo\r\n
    • \r\n
    • \r\n Kommunikation och marknadsföring till förskolor och skolor\r\n
    • \r\n
    \r\n\r\n
    \r\n För aktörer med uppsökande produktioner i skola eller på spelplatser:\r\n
    \r\n
      \r\n
    • Ansvar för programläggning på fasta spelplatser
    • \r\n
    • \r\n
      \r\n Ansvar för facilitering av arrangemanget genom att vara:\r\n
      \r\n
        \r\n
      • Publikvärd, ta emot barn och elever
      • \r\n
      • Artistvärd, ta emot kulturaktörer
      • \r\n
      \r\n
    • \r\n
    • \r\n Ansvar för brandsäkerhet, sjukvårdsberedskap och utrymning\r\n
    • \r\n
    • Ansvar för all befintlig teknik och säkerhet
    • \r\n
    \r\n\r\n

    \r\n KuBo är skyldig att omedelbart meddela Aktören och hålla Aktören uppdaterad om\r\n eventuella förändringar i tidplan eller plats för uppdraget.\r\n

    \r\n\r\n

    \r\n KuBo lägger stor vikt vid det värdskap med vilket vi möter och tar hand om de aktörer\r\n som kommer till oss. Vi gör vårt yttersta för att möta de önskningar som kommer till oss\r\n från aktörer och dess representanter. Som en del av Göteborgs Stad vill vi bidra till en\r\n god arbetsmiljö för aktörer, spelplatsens personal samt andra berörda, samt att på ett\r\n allmänt sätt bidra till hälsa och hållbarhet inom branschen.\r\n

    \r\n
  12. \r\n
  13. \r\n
    Ersättning
    \r\n

    \r\n KuBo ska till Aktören utge ett gage om {totalCost.toLocaleString()} kr (exklusive moms)\r\n samt ersättning för transport/frakt. Ersättningen omfattar:\r\n

    \r\n\r\n
      \r\n
    • \r\n \r\n Uppdraget enligt punkt 1\r\n \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {applications.map((a) => (\r\n \r\n \r\n \r\n {a.numberOfPlannedOccasions > 0\r\n ? a.numberOfPlannedOccasions\r\n : getTotalNumberOfOccasionsFromSelection(a)}\r\n \r\n \r\n {a.numberOfPlannedOccasions > 0\r\n ? getTotalCostForPlannedApplicationSites(\r\n a,\r\n plannedApplicationSites\r\n ).toLocaleString()\r\n : getCostForOwnStageEvent(\r\n a,\r\n getTotalNumberOfOccasionsFromSelection(a)\r\n ).toLocaleString()}\r\n \r\n \r\n ))}\r\n \r\n
      FöreställningAntal fstTotalt inköp SEK
      {a.document.eventName}
      \r\n
      \r\n
    • \r\n
    • \r\n
      \r\n \r\n Ersättning för transport/frakt vid behov\r\n \r\n {\" \"}(ej enbart personresa):\r\n
      \r\n

      \r\n Ange milersättning: vid användning av privat bil ange max 30 kr/mil och vid\r\n användning av tjänstebil ange max 60 kr/mil. Vid annan typ av transport\r\n och/eller för övriga kostnader i samband med transport specificera faktiska\r\n utgifter.\r\n

      \r\n
    • \r\n
    \r\n

    \r\n Ersättning utbetalas mot E-faktura, via nätverket PEPPOL, VAN-operatör eller via\r\n Göteborgs Stads fakturaportal där du manuellt kan registrera en e-faktura:
    \r\n \r\n www.goteborg.se/fakturera\r\n \r\n

    \r\n\r\n

    \r\n E-fakturaadress:
    \r\n N690 Kulturförvaltningen
    \r\n GLN: 7381035001594
    \r\n ORG NR: 212000-1355\r\n

    \r\n\r\n

    REFERENS, ange i fakturan: 3260

    \r\n\r\n

    \r\n Betalning sker med betalningsvillkor om trettio (30) dagar från mottagandet av fakturan,\r\n om inte annat överenskommits särskilt. Fakturan måste uppfylla alla krav som anges i\r\n denna punkt för att vara förfallen till betalning. Fakturering ska ske skyndsamt efter\r\n att uppdraget genomförts och delfaktureras efter varje avslutad månad. Fakturor inkomna\r\n senare än 6 månader efter genomfört evenemang kommer inte att betalas ut.\r\n

    \r\n
    ________________________________
    \r\n
  14. \r\n
  15. \r\n
    \r\n Avtalsbrott och hävning\r\n
    \r\n

    \r\n Part har rätt att med omedelbar verkan häva detta avtal om andre parten gör sig skyldig\r\n till avtalsbrott som inte är oväsentligt och rättelse inte har skett inom [10] dagar\r\n efter skriftlig varning. Hävande part har rätt att erhålla ersättning för direkt skada\r\n som uppkommit i anledning av hävningen.\r\n

    \r\n\r\n

    \r\n Parterna ska vara befriade från att fullgöra skyldighet enligt avtalet om utförande\r\n hindras eller oskäligt betungas till följd av händelser utanför partens kontroll och som\r\n inte hade kunnat förutses (force majeure). Såsom sådan befriande omständighet ska anses\r\n bl.a. myndighetsåtgärd eller underlåtenhet, nytillkommen eller ändrad lagstiftning,\r\n blockad, brand, översvämning eller olyckshändelse av större omfattning.\r\n

    \r\n\r\n

    \r\n Skulle Aktören på grund av sjukdom inte kunna genomföra uppdraget, upphör avtalet\r\n angående aktuellt uppdrag att gälla. Skulle någon av de personer som anges i punkt 1\r\n inte kunna medverka på grund av sjukdom men Aktören ändå anser sig kunna genomföra\r\n uppdraget med kvarvarande personer eller ersättare, alternativt flytta fram evenemanget\r\n inom tiden angiven i punkten 2, har KuBo inte rätt att göra avdrag på den avtalade\r\n ersättningen eller på annat sätt kräva ersättning från Aktören. Om det inte är möjligt\r\n kan parterna i det enskilda fallet komma överens om att föreställningen ska genomföras\r\n på annat sätt, såsom digitalt.\r\n
    \r\n Om inga av dessa alternativ är möjliga kan föreställningen helt ställas in och\r\n ersättning ändå betalas ut, dock på begäran kunna styrkas med läkarintyg.\r\n

    \r\n\r\n

    \r\n Vid utebliven publik eller obokat evenemang, kommer ersättning ändock betalas ut.\r\n

    \r\n\r\n

    \r\n Skulle någon av parterna av annan orsak än som angivits ovan inte uppfylla sina\r\n förpliktelser enligt detta avtal, ska avtalsbrytande part vara förpliktad att ersätta\r\n den andra parten för den skada som den andra parten drabbas av genom avtalsbrottet.\r\n

    \r\n
  16. \r\n
  17. \r\n
    Ändringar och tillägg
    \r\n

    \r\n Samtliga ändringar och tillägg till detta avtal ska göras skriftligen och undertecknas\r\n av båda parter för att vara gällande.\r\n

    \r\n
  18. \r\n
  19. \r\n
    Tvistelösning
    \r\n

    \r\n Parterna ska verka för en lösning i samförstånd av frågor som uppkommer i samband med\r\n detta avtal för att möjliggöra syftet med detta avtal. I den händelse att tvist uppstår\r\n i anledning av avtalet, som inte kan lösas genom överläggningar mellan parterna, ska\r\n tvisten prövas i enlighet med gällande lagstiftning och av Göteborgs tingsrätt.\r\n

    \r\n
  20. \r\n
\r\n
\r\n __________________________________________________________________________________\r\n
\r\n\r\n

\r\n Avtalet har signerats av Kulturförvaltningen i Göteborg och avtalspart genom digital signering.\r\n

\r\n\r\n
Underskrifter
\r\n

Digitala signaturer återfinns på sista sida.

\r\n\r\n

{representedByInput}

\r\n\r\n
\r\n
BILAGA 1
\r\n
\r\n Allmänna förhållningsregler gällande teknik och säkerhet vid uppsökande spelplatser\r\n
\r\n\r\n

\r\n Innehåller föreställningen moment med rökmaskin eller liknande skall detta anmälas 6 veckor\r\n innan ankomst.\r\n

\r\n\r\n

\r\n Innehåller föreställningen moment med pyroteknik skall Aktören ansvara för att erforderliga\r\n tillstånd innehas vid ankomst samt följa spelplatsens ramtillstånd om möjlighet att förvara\r\n pyroteknik (t ex av klass 1.3 och 1.4). Användandet av pyroteknik skall anmälas till\r\n spelplatsen senast 10 veckor innan ankomst.\r\n

\r\n\r\n

\r\n Eld och öppen låga under föreställningen kräver brandvakt i form av utbildad personal.\r\n Användandet av eld eller öppen låga skall anmälas till spelplatsen senast 6 veckor innan\r\n ankomst.\r\n

\r\n\r\n

\r\n Laser med max 5mW uteffekt får användas utan särskilt tillstånd från\r\n Strålsäkerhetsmyndigheten. Användandet av laser skall anmälas till spelplatsen senast 6\r\n veckor innan ankomst.\r\n

\r\n\r\n

\r\n Aktören är skyldig att följa de regler vad gäller ljudnivåer fastställda av\r\n Miljöförvaltningen i Göteborg. Maximal ljudnivå om inget annat överenskommits är satt till\r\n 97db i medel och 110db i max.\r\n

\r\n\r\n

\r\n Grovsopor och emballage skall medtagas och lokalen skall grovstädas och återställas till\r\n samma skick som vid ankomst.\r\n

\r\n\r\n

\r\n Inget material får kvarlämnas i lokalen efter avtalstidens slut om inte annat avtalats.\r\n

\r\n\r\n

\r\n Aktören ansvarar för att dekor, scen/ljud/ljusteknik och scentyger som medtages är\r\n säkerhetsmässigt konstruerade enligt gällande normer.\r\n

\r\n\r\n

\r\n Inhyrd teknik som spelplatsen tillhandahåller åt Aktören skall vara definierad av denne\r\n senast 6 veckor innan ankomst.\r\n

\r\n\r\n

\r\n Spelplatsens intäckningar, scen/ljus/ljudutrustning och scenmattor skall efter användande\r\n återställas till ursprungsposition och skick.\r\n

\r\n\r\n

\r\n Aktören och aktörens personal måste följa de säkerhets- och ordningsregler som upprättats på\r\n engagemangsplatsen.\r\n

\r\n\r\n

\r\n Aktören är skyldig att ersätta spelplatsen för skador som orsakas genom försummelse eller\r\n vårdslöshet av någon som Aktören svarar för.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ActorContractCreation;\r\n","import React from \"react\";\r\nimport CultureProvider from \"../../types/CultureProvider\";\r\n\r\ntype ActorTableRowProps = {\r\n cultureProvider: CultureProvider;\r\n onTableRowClick: () => void;\r\n};\r\n\r\nfunction ActorTableRow({ cultureProvider, onTableRowClick }: ActorTableRowProps) {\r\n return \r\n \r\n {cultureProvider.name}\r\n \r\n ;\r\n}\r\n\r\nexport default ActorTableRow;\r\n","import React from \"react\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport { getTimeStringFromDate } from \"../../common/dateUtils\";\r\nimport { getNumberOfSeats, hasTwoOccasions } from \"../../common/planningUtils\";\r\nimport { tableCellStyles } from \"../../common/inlineStyles\";\r\nimport { getAdjustedAgeTagsWithSelectedOccasions } from \"../../common/applicationUtils\";\r\nimport { toGroupedAgeTags } from \"../../common/stringUtils\";\r\n\r\ntype OccasionScheduleTableRowProps = {\r\n plannedApplicationSite: PlannedApplicationSite;\r\n};\r\n\r\nfunction OccasionScheduleTableRow({ plannedApplicationSite }: OccasionScheduleTableRowProps) {\r\n const site = plannedApplicationSite.site;\r\n const application = plannedApplicationSite.application;\r\n\r\n const occasion1Starts = plannedApplicationSite.occasion1Starts;\r\n const occasion1Ends = plannedApplicationSite.occasion1Ends;\r\n const occasion2Starts = plannedApplicationSite.occasion2Starts;\r\n const occasion2Ends = plannedApplicationSite.occasion2Ends;\r\n\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(application);\r\n const groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n\r\n const numberOfSeats = getNumberOfSeats(plannedApplicationSite);\r\n\r\n return (\r\n \r\n {site.name}\r\n {site.roomName}\r\n {numberOfSeats}\r\n {occasion1Starts.toLocaleDateString()}\r\n {plannedApplicationSite.occasionWeekNumber}\r\n {plannedApplicationSite.occasionWeekDay}\r\n {`${getTimeStringFromDate(occasion1Starts)}-${getTimeStringFromDate(\r\n occasion1Ends\r\n )}`}\r\n \r\n {hasTwoOccasions(plannedApplicationSite)\r\n ? `${getTimeStringFromDate(occasion2Starts)}-${getTimeStringFromDate(occasion2Ends)}`\r\n : \"\"}\r\n \r\n {application.document.eventName}\r\n {plannedApplicationSite.intendedAudience ?? groupedAgeTags.join(\", \")}\r\n \r\n
{site.contactPersonName}
\r\n
{site.contactPersonPhoneNumber}
\r\n
{site.contactPersonEmail}
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default OccasionScheduleTableRow;\r\n","import React from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport { getAdjustedAgeTagsWithSelectedOccasions, getTotalNumberOfOccasionsFromSelection } from \"../../common/applicationUtils\";\r\nimport { toGroupedAgeTags } from \"../../common/stringUtils\";\r\nimport { tableCellStyles } from \"../../common/inlineStyles\";\r\n\r\nexport type SelectedApplicationTableRowProps = {\r\n application: Application;\r\n};\r\n\r\nfunction SelectedApplicationTableRow({ application }: SelectedApplicationTableRowProps) {\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(application);\r\n const groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n\r\n const numberOfOccasions = getTotalNumberOfOccasionsFromSelection(application);\r\n\r\n return (\r\n \r\n {application.document.eventName}\r\n {groupedAgeTags.join(\", \")}\r\n {numberOfOccasions}\r\n \r\n );\r\n}\r\n\r\nexport default SelectedApplicationTableRow;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { fetchCultureProvidersForContractCreation } from \"../../common/apiClient\";\r\nimport CultureProvider from \"../../types/CultureProvider\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport ActorTableRow from \"./ActorTableRow\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\n\r\ntype ActorContractsProps = {\r\n applicationPeriodId: number;\r\n};\r\n\r\nfunction ActorContracts({ applicationPeriodId }: ActorContractsProps) {\r\n const [cultureProviders, setCultureProviders] = useState([]);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const cultureProvidersFetchResult = await fetchCultureProvidersForContractCreation(applicationPeriodId);\r\n\r\n if (cultureProvidersFetchResult.errorMessage) {\r\n console.error(cultureProvidersFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n setCultureProviders(cultureProvidersFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const cultureProviderTableRows: JSX.Element[] = cultureProviders.map((c) => (\r\n tableRowClickHandler(applicationPeriodId, c.id)}\r\n />\r\n ));\r\n\r\n return (\r\n
\r\n

Avtalsunderlag - aktörer

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {cultureProviderTableRows}\r\n
Aktör
\r\n
\r\n
\r\n );\r\n}\r\n\r\nfunction tableRowClickHandler(applicationPeriodId: number, cultureProviderId: number) {\r\n window.location.href = `/ActorContracts/${applicationPeriodId}/contractCreation/${cultureProviderId}`;\r\n}\r\n\r\nexport default ActorContracts;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { postBlockedDate, deleteBlockedDate, fetchBlockedDates } from \"../../common/apiClient\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport { getCaptionText, getWeekDayName, isSameDay } from \"../../common/dateUtils\";\r\nimport Result from \"../../types/Result\";\r\n\r\nexport default function BlockedDates() {\r\n const [blockedDates, setBlockedDates] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const blockedDatesFetchResult = await fetchBlockedDates();\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const dateClickHandler = async (date: Date) => {\r\n const dateIsBlocked = blockedDates.some((b) => isSameDay(b, date));\r\n\r\n let result: Result;\r\n\r\n if (dateIsBlocked) {\r\n setBlockedDates((prevValue) => prevValue.filter((b) => !isSameDay(b, date)));\r\n result = await deleteBlockedDate(date);\r\n } else {\r\n setBlockedDates((prevValue) => [...prevValue, date]);\r\n result = await postBlockedDate(date);\r\n }\r\n\r\n if (result.errorMessage) {\r\n console.error(result.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n

Blockerade datum

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { CaptionProps } from \"react-day-picker\";\r\nimport { getCaptionText } from \"../../../common/dateUtils\";\r\n\r\nexport default function NoScrollCalenderCaptions({ displayMonth }: CaptionProps) {\r\n return (\r\n
\r\n
\r\n \r\n {getCaptionText(displayMonth)}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nfunction LoadingSpinner() {\r\n return
\r\n}\r\n\r\nexport default LoadingSpinner;","import React from \"react\";\r\n\r\ntype ErrorMessageProps = {\r\n message: string;\r\n};\r\n\r\nfunction ErrorMessage({ message }: ErrorMessageProps) {\r\n return
{message}
;\r\n}\r\n\r\nexport default ErrorMessage;\r\n","import React from \"react\";\r\n\r\ntype InfoMessageProps = {\r\n message: string;\r\n};\r\n\r\nfunction InfoMessage({ message }: InfoMessageProps) {\r\n return
{message}
;\r\n}\r\n\r\nexport default InfoMessage;\r\n","import React from \"react\";\r\n\r\ntype SuccessMessageProps = {\r\n message: string;\r\n};\r\n\r\nfunction SuccessMessage({ message }: SuccessMessageProps) {\r\n return
{message}
;\r\n}\r\n\r\nexport default SuccessMessage;\r\n","import React, { CSSProperties } from \"react\";\r\n\r\ntype ProgressBarProps = {\r\n progress: number;\r\n}\r\n\r\nfunction ProgressBar({ progress }: ProgressBarProps) {\r\n const containerStyles: CSSProperties = {\r\n height: \"16px\",\r\n backgroundColor: \"#e0e0de\",\r\n borderRadius: \"2rem\",\r\n width: \"360px\"\r\n }\r\n\r\n const fillerStyle: CSSProperties = {\r\n height: \"100%\",\r\n width: `${Math.min(progress * 100, 100)}%`,\r\n backgroundColor: progress > 1 ? \"#DC3545\" :\"#086EFD\" ,\r\n textAlign: \"right\",\r\n borderRadius: 'inherit',\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ProgressBar;","import { ChartOptions } from \"chart.js\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Bar } from \"react-chartjs-2\";\r\nimport {\r\n applicationBelongsToTargetGroup,\r\n getAdjustedAgeTagsByTargetGroup,\r\n getAdjustedAgeTagsWithSelectedOccasions,\r\n getAgeTagsByTargetGroup,\r\n getNumberOfOccasionsByTargetGroup,\r\n getRelevantTargetGroupsByAgeTag\r\n} from \"../../common/applicationUtils\";\r\nimport { AgeTag, TargetGroup } from \"../../common/enums\";\r\nimport Application from \"../../types/Application\";\r\n\r\ntype AgeChartProps = {\r\n applications: Application[];\r\n targetGroup: string;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nconst options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n legend: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n y: {\r\n title: {\r\n display: true,\r\n text: \"Antal tillfällen\",\r\n font: {\r\n size: 14,\r\n weight: \"bold\"\r\n }\r\n }\r\n },\r\n x: {\r\n title: {\r\n display: true,\r\n text: \"Åldrar\",\r\n font: {\r\n size: 14,\r\n weight: \"bold\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst chartColors = [\r\n \"#56AEE2\",\r\n \"#E256AE\",\r\n \"#8A56E2\",\r\n \"#56E289\",\r\n \"#56E2CF\",\r\n \"#5668E2\",\r\n \"#CF56E2\",\r\n \"#E25668\",\r\n \"#E28956\",\r\n \"#E2CF56\",\r\n \"#AEE256\",\r\n \"#68E256\"\r\n];\r\n\r\nfunction AgeChart({ applications, targetGroup, isCulturalManagement }: AgeChartProps) {\r\n const [labels, setLabels] = useState([]);\r\n\r\n //\r\n // ageTagCounts determines the height of each column in the column chart.\r\n // If ageTagCounts[AgeTag.Year9] === 1, then column \"Åk9\" will have height 1.\r\n //\r\n const [ageTagCounts, setAgeTagCounts] = useState([]);\r\n\r\n useEffect(() => {\r\n const currentApplications = applications.filter((a) =>\r\n applicationBelongsToTargetGroup(a, targetGroup as TargetGroup, isCulturalManagement)\r\n );\r\n\r\n const targetGroupAgeTags = getAgeTagsByTargetGroup(targetGroup as TargetGroup);\r\n\r\n const updatedAgeTagCount: { [ageTag: string]: number } = {};\r\n\r\n targetGroupAgeTags.forEach((tgat) => (updatedAgeTagCount[tgat] = 0));\r\n\r\n currentApplications.forEach((a) => {\r\n const adjustedAgeTags =\r\n targetGroup === TargetGroup.Total\r\n ? getAdjustedAgeTagsWithSelectedOccasions(a, isCulturalManagement)\r\n : getAdjustedAgeTagsByTargetGroup(a, targetGroup as TargetGroup, isCulturalManagement);\r\n\r\n adjustedAgeTags.forEach((at) => {\r\n if (at === AgeTag.SpecialNeedsSchoolOld) {\r\n at = AgeTag.SpecialNeedsSchool;\r\n }\r\n\r\n if (updatedAgeTagCount[at] || updatedAgeTagCount[at] === 0) {\r\n if (targetGroup === TargetGroup.Total) {\r\n const relevantTargetGroups = getRelevantTargetGroupsByAgeTag(at as AgeTag);\r\n relevantTargetGroups.forEach((tg) => {\r\n updatedAgeTagCount[at] += getNumberOfOccasionsByTargetGroup(a, tg, isCulturalManagement);\r\n });\r\n } else {\r\n updatedAgeTagCount[at] += getNumberOfOccasionsByTargetGroup(\r\n a,\r\n targetGroup,\r\n isCulturalManagement\r\n );\r\n }\r\n }\r\n });\r\n });\r\n\r\n const newAgeTagCounts: number[] = [];\r\n const newLabels: string[] = [];\r\n\r\n Object.keys(updatedAgeTagCount).forEach((label) => {\r\n newAgeTagCounts.push(updatedAgeTagCount[label]);\r\n newLabels.push(label);\r\n });\r\n\r\n setAgeTagCounts(newAgeTagCounts);\r\n setLabels(newLabels);\r\n }, [applications]);\r\n\r\n const data = {\r\n labels: labels,\r\n datasets: [\r\n {\r\n label: \"Antal tillfällen\",\r\n data: ageTagCounts,\r\n backgroundColor: chartColors,\r\n borderColor: chartColors,\r\n borderWidth: 1\r\n }\r\n ]\r\n };\r\n\r\n return ;\r\n}\r\n\r\nexport default AgeChart;\r\n","import React from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport {\r\n getBudgetByTargetGroup,\r\n getCurrentCostByTargetGroup,\r\n getCurrentElementarySchoolCost,\r\n getElementarySchoolBudget\r\n} from \"../../common/applicationUtils\";\r\nimport { TargetGroup } from \"../../common/enums\";\r\nimport ProgressBar from \"../Common/ProgressBar\";\r\n\r\ntype BudgetsProps = {\r\n applications: Application[];\r\n applicationPeriod: ApplicationPeriod;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nfunction Budgets({ applications, applicationPeriod, isCulturalManagement }: BudgetsProps) {\r\n const preSchoolBudget = getBudgetByTargetGroup(applicationPeriod, TargetGroup.PreSchool, isCulturalManagement);\r\n const preSchoolCurrentCost = getCurrentCostByTargetGroup(applications, TargetGroup.PreSchool, isCulturalManagement);\r\n\r\n const highSchoolBudget = getBudgetByTargetGroup(applicationPeriod, TargetGroup.HighSchool, isCulturalManagement);\r\n const highSchoolCurrentCost = getCurrentCostByTargetGroup(\r\n applications,\r\n TargetGroup.HighSchool,\r\n isCulturalManagement\r\n );\r\n\r\n const specialNeedsSchoolBudget = getBudgetByTargetGroup(\r\n applicationPeriod,\r\n TargetGroup.SpecialNeedsSchool,\r\n isCulturalManagement\r\n );\r\n const specialNeedsSchoolCurrentCost = getCurrentCostByTargetGroup(\r\n applications,\r\n TargetGroup.SpecialNeedsSchool,\r\n isCulturalManagement\r\n );\r\n\r\n const otherBudget = getBudgetByTargetGroup(applicationPeriod, TargetGroup.Other, isCulturalManagement);\r\n const otherCurrentCost = getCurrentCostByTargetGroup(applications, TargetGroup.Other, isCulturalManagement);\r\n\r\n const elementarySchoolBudget = getElementarySchoolBudget(applicationPeriod, isCulturalManagement);\r\n\r\n const elementarySchoolCurrentCost = getCurrentElementarySchoolCost(applications, isCulturalManagement);\r\n const remainingElementarySchoolBudget = elementarySchoolBudget - elementarySchoolCurrentCost;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n Återstående förskolebudget: {(preSchoolBudget - preSchoolCurrentCost).toLocaleString()}\r\n kr av {preSchoolBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n Återstående grundskolebudget: {remainingElementarySchoolBudget.toLocaleString()}\r\n kr av {elementarySchoolBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n Återstående gymnasiebudget: {(highSchoolBudget - highSchoolCurrentCost).toLocaleString()}\r\n kr av {highSchoolBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n Återstående budget anpassad skola:{\" \"}\r\n {(specialNeedsSchoolBudget - specialNeedsSchoolCurrentCost).toLocaleString()}\r\n kr av {specialNeedsSchoolBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n Återstående extern budget: {(otherBudget - otherCurrentCost).toLocaleString()}\r\n kr av {otherBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Budgets;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Bar } from \"react-chartjs-2\";\r\nimport {\r\n applicationBelongsToTargetGroup,\r\n getNumberOfOccasionsByTargetGroup,\r\n getTotalNumberOfOccasionsFromSelection\r\n} from \"../../common/applicationUtils\";\r\nimport { Tag, TargetGroup } from \"../../common/enums\";\r\nimport Application from \"../../types/Application\";\r\n\r\ntype GenreChartProps = {\r\n applications: Application[];\r\n targetGroup: string;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nconst chartColors = [\r\n \"#56AEE2\",\r\n \"#E256AE\",\r\n \"#E25668\",\r\n \"#8A56E2\",\r\n \"#56E2CF\",\r\n \"#5668E2\",\r\n \"#CF56E2\",\r\n \"#56E289\",\r\n \"#E28956\",\r\n \"#E2CF56\",\r\n \"#AEE256\",\r\n \"#68E256\"\r\n];\r\n\r\nconst options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n legend: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n y: {\r\n title: {\r\n display: true,\r\n text: \"Antal tillfällen\",\r\n font: {\r\n size: 14,\r\n weight: \"bold\"\r\n }\r\n }\r\n },\r\n x: {\r\n title: {\r\n display: true,\r\n text: \"Konstformer\",\r\n font: {\r\n size: 14,\r\n weight: \"bold\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nfunction GenreChart({ applications, targetGroup, isCulturalManagement }: GenreChartProps) {\r\n const [genreCount, setGenreCount] = useState([]);\r\n\r\n useEffect(() => {\r\n const genreCount = {\r\n [Tag.Nycirkus]: 0,\r\n [Tag.Dans]: 0,\r\n [Tag.RörligBild]: 0,\r\n [Tag.Konst]: 0,\r\n [Tag.Litteratur]: 0,\r\n [Tag.Musik]: 0,\r\n [Tag.Performance]: 0,\r\n [Tag.Slöjd]: 0,\r\n [Tag.Teater]: 0\r\n };\r\n\r\n applications\r\n .filter((a) => applicationBelongsToTargetGroup(a, targetGroup as TargetGroup, isCulturalManagement))\r\n .forEach((a) => {\r\n if (targetGroup === TargetGroup.Total) {\r\n a.document.tags.forEach(\r\n (t) => (genreCount[t as Tag] += getTotalNumberOfOccasionsFromSelection(a, isCulturalManagement))\r\n );\r\n } else {\r\n a.document.tags.forEach(\r\n (t) =>\r\n (genreCount[t as Tag] += getNumberOfOccasionsByTargetGroup(\r\n a,\r\n targetGroup,\r\n isCulturalManagement\r\n ))\r\n );\r\n }\r\n });\r\n\r\n const newData = [\r\n genreCount[Tag.Nycirkus],\r\n genreCount[Tag.Dans],\r\n genreCount[Tag.RörligBild],\r\n genreCount[Tag.Konst],\r\n genreCount[Tag.Litteratur],\r\n genreCount[Tag.Musik],\r\n genreCount[Tag.Performance],\r\n genreCount[Tag.Slöjd],\r\n genreCount[Tag.Teater]\r\n ];\r\n\r\n setGenreCount(newData);\r\n }, [applications]);\r\n\r\n const data = {\r\n labels: [\r\n Tag.Nycirkus,\r\n Tag.Dans,\r\n Tag.RörligBild,\r\n Tag.Konst,\r\n Tag.Litteratur,\r\n Tag.Musik,\r\n Tag.Performance,\r\n Tag.Slöjd,\r\n Tag.Teater\r\n ],\r\n datasets: [\r\n {\r\n label: \"Antal tillfällen\",\r\n data: genreCount,\r\n backgroundColor: chartColors,\r\n borderColor: chartColors,\r\n borderWidth: 1\r\n }\r\n ]\r\n };\r\n\r\n return ;\r\n}\r\n\r\nexport default GenreChart;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n getBudgetByTargetGroup,\r\n getCurrentCostByTargetGroup,\r\n getTotalCostForEvents,\r\n getTotalBudget,\r\n getCurrentElementarySchoolCost\r\n} from \"../../common/applicationUtils\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport { ArcElement, BarElement, CategoryScale, Chart, Legend, LinearScale, Title, Tooltip } from \"chart.js\";\r\nimport GenreChart from \"./GenreChart\";\r\nimport AgeChart from \"./AgeChart\";\r\nimport ProgressBar from \"../Common/ProgressBar\";\r\nimport { TargetGroup } from \"../../common/enums\";\r\nimport { Accordion, Carousel } from \"react-bootstrap\";\r\nimport Budgets from \"./Budgets\";\r\n\r\ntype InformationPanelProps = {\r\n applicationPeriod: ApplicationPeriod;\r\n targetGroup: string;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nChart.register(ArcElement, Tooltip, Legend, CategoryScale, LinearScale, BarElement, Title);\r\n\r\nfunction InformationPanel({ applicationPeriod, targetGroup, isCulturalManagement }: InformationPanelProps) {\r\n const [activeCarouselIndex, setActiveCarouselIndex] = useState(0);\r\n\r\n if (!applicationPeriod) return;\r\n\r\n const carouselSlideHandler = () => {\r\n //\r\n // This is to prevent the height of the accordion to change when switching carousel items.\r\n //\r\n const carouselItems = Array.from(document.querySelectorAll(\".carousel-item\"));\r\n let maxItemHeight = Math.max(...carouselItems.map((ci) => ci.clientHeight));\r\n carouselItems.forEach((item) => {\r\n item.style.height = `${maxItemHeight}px`;\r\n });\r\n };\r\n\r\n const applications = applicationPeriod.applications;\r\n\r\n const targetGroupBudget = getBudgetByTargetGroup(\r\n applicationPeriod,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n const targetGroupCurrentCost = getCurrentCostByTargetGroup(\r\n applications,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n const targetGroupRemainingBudget = targetGroupBudget - targetGroupCurrentCost;\r\n\r\n const totalBudget = getTotalBudget(applicationPeriod, isCulturalManagement);\r\n const totalCurrentCost = getTotalCostForEvents(applications, isCulturalManagement);\r\n const totalRemainingBudget = totalBudget - totalCurrentCost;\r\n\r\n let elementarySchoolBudgetElement: JSX.Element;\r\n const targetGroupBelongsToElementarySchool =\r\n targetGroup == TargetGroup.SchoolLower ||\r\n targetGroup == TargetGroup.SchoolMiddle ||\r\n targetGroup == TargetGroup.SchoolUpper;\r\n\r\n if (targetGroupBelongsToElementarySchool) {\r\n const elementarySchoolBudget =\r\n getBudgetByTargetGroup(applicationPeriod, TargetGroup.SchoolLower, isCulturalManagement) +\r\n getBudgetByTargetGroup(applicationPeriod, TargetGroup.SchoolMiddle, isCulturalManagement) +\r\n getBudgetByTargetGroup(applicationPeriod, TargetGroup.SchoolUpper, isCulturalManagement);\r\n\r\n const elementarySchoolCurrentCost = getCurrentElementarySchoolCost(applications, isCulturalManagement);\r\n\r\n const elementarySchoolRemainingBudget = elementarySchoolBudget - elementarySchoolCurrentCost;\r\n\r\n elementarySchoolBudgetElement = (\r\n
\r\n Återstående grundskolebudget: {elementarySchoolRemainingBudget.toLocaleString()}kr av{\" \"}\r\n {elementarySchoolBudget.toLocaleString()}kr\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {targetGroup === TargetGroup.Total && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {targetGroup === TargetGroup.Total && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n {targetGroup != TargetGroup.Total && (\r\n
\r\n Återstående budget: {targetGroupRemainingBudget.toLocaleString()}kr av{\" \"}\r\n {targetGroupBudget.toLocaleString()}kr\r\n \r\n
\r\n )}\r\n {targetGroupBelongsToElementarySchool && elementarySchoolBudgetElement}\r\n
\r\n Återstående total budget: {totalRemainingBudget.toLocaleString()}kr av{\" \"}\r\n {totalBudget.toLocaleString()}kr\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default InformationPanel;\r\n","import React from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { getCaptionText, getMonthsBetween, getWeekDayName, isSameDay } from \"../../../common/dateUtils\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport CalenderModal from \"../../SiteSelection/CalenderModal\";\r\nimport NoScrollCalenderCaptions from \"../../Common/Calender/NoScrollCalenderCaptions\";\r\nimport { Accordion } from \"react-bootstrap\";\r\n\r\ntype ApplicationDatesAccordionItemProps = {\r\n application: Application;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nfunction ApplicationDatesAccordionItem({ application, applicationPeriod }: ApplicationDatesAccordionItemProps) {\r\n const displayedMonths: Date[] = getMonthsBetween(applicationPeriod.occasionsFrom, applicationPeriod.occasionsTo);\r\n const possibleDates = application.document.possibleOccasionDates;\r\n\r\n const calenderElements = displayedMonths.map((month) => (\r\n
\r\n possibleDates.some((possibleDate) => isSameDay(calenderDate, possibleDate))}\r\n />\r\n
\r\n ));\r\n\r\n return (\r\n \r\n \r\n Möjliga datum för evenemanget\r\n \r\n \r\n
{calenderElements}
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ApplicationDatesAccordionItem;\r\n","import React from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport { Accordion } from \"react-bootstrap\";\r\n\r\ntype ApplicationDetailsAccordionItemProps = {\r\n application: Application;\r\n};\r\n\r\nfunction ApplicationDetailsAccordionItem({ application }: ApplicationDetailsAccordionItemProps) {\r\n const possibleSites = application.document.possibleSiteTypes;\r\n const schoolSiteRequirements = application.document.school_SiteRequirements;\r\n const librarySiteRequirements = application.document.library_SiteRequirements;\r\n const outdoorsSiteRequirements = application.document.outdoors_SiteRequirements;\r\n\r\n return (\r\n \r\n \r\n Information om evenemanget\r\n \r\n \r\n
\r\n

Evenemangsinformation

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Spelplats

\r\n
\r\n \r\n {\" \"}\r\n Egen scen\r\n \r\n \r\n \r\n Klassrum/Förskola\r\n \r\n \r\n \r\n Kulturhus/Bibliotek\r\n \r\n \r\n \r\n Utomhus\r\n \r\n
\r\n {possibleSites.includes(\"School\") && (\r\n
\r\n
Klassrum/Förskola
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.school_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.school_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.school_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.school_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.school_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n {possibleSites.includes(\"Library\") && (\r\n
\r\n
Kulturhus/Bibliotek
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.library_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.library_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.library_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.library_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.library_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n {possibleSites.includes(\"Outdoors\") && (\r\n
\r\n
Utomhus
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.outdoors_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.outdoors_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.outdoors_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.outdoors_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.outdoors_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ApplicationDetailsAccordionItem;\r\n","import React, { useState } from \"react\";\r\nimport { ApplicationPlanningStatus } from \"../../../common/enums\";\r\nimport { isSameDay, toDateOnlyString, toDayAndMonthString } from \"../../../common/dateUtils\";\r\nimport DateFilterModal from \"../DateFilterModal\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\n\r\nexport type ApplicationPlanningFilterOptions = {\r\n searchText?: string;\r\n applicationPlanningStatus?: ApplicationPlanningStatus;\r\n possibleOccasionDates?: Date[];\r\n};\r\n\r\ntype ApplicationPlanningFilterProps = {\r\n selectedFilterOptions: ApplicationPlanningFilterOptions;\r\n onSelectedFilterOptionsChange: (updatedProperty: keyof ApplicationPlanningFilterOptions, updatedValue: any) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nconst applicationPlanningStatusOptions = Object.entries(ApplicationPlanningStatus).map((entry) => (\r\n \r\n));\r\n\r\nfunction ApplicationPlanningFilter({\r\n selectedFilterOptions,\r\n onSelectedFilterOptionsChange,\r\n applicationPeriod\r\n}: ApplicationPlanningFilterProps) {\r\n const [showDateModal, setShowPossibleDateFilterModal] = useState(false);\r\n\r\n const dateAddedHandler = (addedDate: Date) => {\r\n const previousAvailableDates = selectedFilterOptions?.possibleOccasionDates ?? [];\r\n\r\n const updatedDates = [...previousAvailableDates, addedDate].sort((a, b) => a.getTime() - b.getTime());\r\n\r\n onSelectedFilterOptionsChange(\"possibleOccasionDates\", updatedDates);\r\n };\r\n\r\n const dateRemovedHandler = (removedDate: Date) => {\r\n const updatedDates = selectedFilterOptions.possibleOccasionDates.filter((d) => !isSameDay(d, removedDate));\r\n\r\n onSelectedFilterOptionsChange(\"possibleOccasionDates\", updatedDates);\r\n };\r\n\r\n const availableDatesString =\r\n selectedFilterOptions && selectedFilterOptions.possibleOccasionDates\r\n ? selectedFilterOptions.possibleOccasionDates.map((d) => toDayAndMonthString(d)).join(\", \")\r\n : \"\";\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"searchText\", event.target.value)}\r\n />\r\n
\r\n
\r\n \r\n \r\n onSelectedFilterOptionsChange(\"applicationPlanningStatus\", event.target.value)\r\n }\r\n >\r\n \r\n {applicationPlanningStatusOptions}\r\n \r\n
\r\n
\r\n \r\n
\r\n setShowPossibleDateFilterModal(true)}\r\n value={availableDatesString}\r\n />\r\n
\r\n setShowPossibleDateFilterModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n setShowPossibleDateFilterModal(false)}\r\n selectedDates={selectedFilterOptions?.possibleOccasionDates ?? []}\r\n show={showDateModal}\r\n applicationPeriod={applicationPeriod}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default ApplicationPlanningFilter;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport Site from \"../../../types/Site\";\r\nimport { pageLoadErrorMessage } from \"../../../common/errorMessages\";\r\nimport ErrorMessage from \"../../Common/Messages/ErrorMessage\";\r\nimport LoadingSpinner from \"../../Common/LoadingSpinner\";\r\nimport ApplicationSiteSelectionTableRow from \"./ApplicationSiteSelectionTableRow\";\r\nimport {\r\n deletePlannedApplicationSite,\r\n fetchApplicationById,\r\n fetchApplicationPeriod,\r\n fetchApplicationsWithPlannedOccasions,\r\n fetchAvailableSiteDatesByApplicationPeriodId,\r\n fetchAvailableSiteTimesByApplicationPeriodId,\r\n fetchBlockedDatesByApplicationPeriodId,\r\n fetchPlannedApplicationSitesByApplicationPeriodId,\r\n fetchPlanningCommentsByApplicationPeriodId,\r\n fetchViableSitesByApplicationId,\r\n postPlannedApplicationSite\r\n} from \"../../../common/apiClient\";\r\nimport ApplicationDetailsAccordionItem from \"./ApplicationDetailsAccordionItem\";\r\nimport ApplicationDatesAccordionItem from \"./ApplicationDatesAccordionItem\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { Accordion, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport WarningMessage from \"../../Common/Messages/WarningMessage\";\r\nimport PlanningModal from \"../PlanningModal\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\nimport { isSameDay } from \"../../../common/dateUtils\";\r\nimport {\r\n getAdjustedAgeTagsWithSelectedOccasions,\r\n getRemainingNumberOfOccasionsToPlan,\r\n getTotalNumberOfOccasionsFromSelection\r\n} from \"../../../common/applicationUtils\";\r\nimport ApplicationSiteSelectionFilter, {\r\n ApplicationSiteSelectionFilterOptions\r\n} from \"./ApplicationSiteSelectionFilter\";\r\nimport { applyApplicationSiteSelectionFilter } from \"../../../common/siteUtils\";\r\nimport { hasTwoOccasions, sortPlannedApplicationSites } from \"../../../common/planningUtils\";\r\nimport PlanningOverviewAccordionItem from \"../PlanningOverviewAccordionItem\";\r\nimport PlanningComment from \"../../../types/PlanningComment\";\r\nimport { toGroupedAgeTags } from \"../../../common/stringUtils\";\r\n\r\ntype ApplicationSiteSelectionProps = {\r\n applicationId: number;\r\n applicationPeriodId: number;\r\n canManagePlanning: boolean;\r\n};\r\n\r\nconst accordionId = \"accordion\";\r\n\r\nfunction ApplicationSiteSelection({\r\n applicationId,\r\n applicationPeriodId,\r\n canManagePlanning\r\n}: ApplicationSiteSelectionProps) {\r\n const [application, setApplication] = useState();\r\n const [viableSites, setViableSites] = useState([]);\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [availableSiteDates, setAvailableSiteDates] = useState([]);\r\n const [availableSiteTimes, setAvailableSiteTimes] = useState([]);\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [modalSiteId, setModalSiteId] = useState(0);\r\n const [selectedFilterOptions, setSelectedFilterOptions] = useState();\r\n const [showPlanningModal, setShowPlanningModal] = useState(false);\r\n const [planningComments, setPlanningComments] = useState([]);\r\n const [modalDefaultDate, setModalDefaultDate] = useState();\r\n const [blockedDates, setBlockedDates] = useState([])\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n applicationFetchResult,\r\n plannedApplicationsFetchResult,\r\n sitesFetchResult,\r\n applicationPeriodFetchResult,\r\n availableSiteDatesFetchResult,\r\n availableSiteTimeFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n planningCommentsFetchResult,\r\n blockedDatesFetchResult\r\n ] = await Promise.all([\r\n fetchApplicationById(applicationId),\r\n fetchApplicationsWithPlannedOccasions(applicationPeriodId),\r\n fetchViableSitesByApplicationId(applicationId),\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchAvailableSiteDatesByApplicationPeriodId(applicationPeriodId),\r\n fetchAvailableSiteTimesByApplicationPeriodId(applicationPeriodId),\r\n fetchPlannedApplicationSitesByApplicationPeriodId(applicationPeriodId),\r\n fetchPlanningCommentsByApplicationPeriodId(applicationPeriodId),\r\n fetchBlockedDatesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (applicationFetchResult.errorMessage) {\r\n console.error(applicationFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteDatesFetchResult.errorMessage) {\r\n console.error(availableSiteDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteTimeFetchResult.errorMessage) {\r\n console.error(availableSiteTimeFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationsFetchResult.errorMessage) {\r\n console.error(plannedApplicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(plannedApplicationSitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (planningCommentsFetchResult.errorMessage) {\r\n console.error(planningCommentsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n const adjustedAgeTagsForApplication = getAdjustedAgeTagsWithSelectedOccasions(\r\n applicationFetchResult.value,\r\n false\r\n );\r\n applicationFetchResult.value.groupedAgeTags = toGroupedAgeTags(adjustedAgeTagsForApplication);\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n pas.site = sitesFetchResult.value.find((s) => s.id === pas.siteId);\r\n pas.application = plannedApplicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(pas.application, false);\r\n pas.application.groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n });\r\n\r\n sitesFetchResult.value.forEach((s) => {\r\n const availableSiteDates = availableSiteDatesFetchResult.value.filter((asd) => asd.siteId === s.id);\r\n s.availableSiteDates = availableSiteDates;\r\n });\r\n\r\n setApplication(applicationFetchResult.value);\r\n setViableSites(sitesFetchResult.value);\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setAvailableSiteDates(availableSiteDatesFetchResult.value);\r\n setAvailableSiteTimes(availableSiteTimeFetchResult.value);\r\n setPlannedApplicationSites(sortPlannedApplicationSites(plannedApplicationSitesFetchResult.value));\r\n setPlanningComments(planningCommentsFetchResult.value);\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n setIsLoading(false);\r\n\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const selectedDateQueryParam = urlSearchParams.get(\"selectedDate\");\r\n const selectedSiteIdQueryParam = urlSearchParams.get(\"selectedSiteId\");\r\n\r\n if (selectedSiteIdQueryParam) {\r\n const selectedSiteId = Number.parseInt(selectedSiteIdQueryParam);\r\n if (!sitesFetchResult.value.some((s) => s.id === selectedSiteId)) {\r\n return;\r\n }\r\n\r\n setModalSiteId(selectedSiteId);\r\n\r\n if (selectedDateQueryParam) {\r\n const selectedDate = new Date(selectedDateQueryParam);\r\n setModalDefaultDate(selectedDate);\r\n setShowPlanningModal(true);\r\n }\r\n }\r\n\r\n\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const tableRowClickHandler = (site: Site) => {\r\n setModalSiteId(site.id);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const hidePlanningModalHandler = () => {\r\n setShowPlanningModal(false);\r\n setModalDefaultDate(null);\r\n };\r\n\r\n const plannedApplicationSiteAddedHandler = async (addedPAS: PlannedApplicationSite) => {\r\n const temporaryId = 0;\r\n addedPAS.id = temporaryId;\r\n\r\n setPlannedApplicationSites((prevValues) => sortPlannedApplicationSites([...prevValues, addedPAS]));\r\n\r\n const plannedDateWasAvailableForSite = availableSiteDates.some(\r\n (asd) => asd.siteId === addedPAS.siteId && isSameDay(asd.availableDate, addedPAS.occasion1Starts)\r\n );\r\n\r\n setViableSites((prevValues) =>\r\n prevValues.map((s) =>\r\n s.id === addedPAS.siteId\r\n ? {\r\n ...s,\r\n remainingNumberOfAvailableSiteDates: plannedDateWasAvailableForSite\r\n ? s.remainingNumberOfAvailableSiteDates - 1\r\n : s.remainingNumberOfAvailableSiteDates\r\n }\r\n : s\r\n )\r\n );\r\n\r\n const numberOfAddedOccasions = hasTwoOccasions(addedPAS) ? 2 : 1;\r\n setApplication((prevValue) => ({\r\n ...prevValue,\r\n numberOfPlannedOccasions: prevValue.numberOfPlannedOccasions + numberOfAddedOccasions\r\n }));\r\n\r\n const postResult = await postPlannedApplicationSite(addedPAS);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när evenemanget skulle programläggas. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n return;\r\n }\r\n\r\n const postedPlannedApplicationSiteId = postResult.value;\r\n\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.map((pas) => (pas.id === temporaryId ? { ...pas, id: postedPlannedApplicationSiteId } : pas))\r\n );\r\n };\r\n\r\n const plannedApplicationSiteRemovedHandler = async (removedPAS: PlannedApplicationSite) => {\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.filter(\r\n (pas) =>\r\n pas.siteId !== removedPAS.siteId ||\r\n pas.applicationId !== removedPAS.applicationId ||\r\n !isSameDay(pas.occasion1Starts, removedPAS.occasion1Starts)\r\n )\r\n );\r\n\r\n const plannedDateWasAvailableForSite = availableSiteDates.some(\r\n (asd) => asd.siteId === removedPAS.siteId && isSameDay(asd.availableDate, removedPAS.occasion1Starts)\r\n );\r\n\r\n setViableSites((prevValues) =>\r\n prevValues.map((s) =>\r\n s.id === removedPAS.siteId\r\n ? {\r\n ...s,\r\n remainingNumberOfAvailableSiteDates: plannedDateWasAvailableForSite\r\n ? s.remainingNumberOfAvailableSiteDates + 1\r\n : s.remainingNumberOfAvailableSiteDates\r\n }\r\n : s\r\n )\r\n );\r\n\r\n const numberOfRemovedOccasions = hasTwoOccasions(removedPAS) ? 2 : 1;\r\n\r\n setApplication((prevValue) => ({\r\n ...prevValue,\r\n numberOfPlannedOccasions: prevValue.numberOfPlannedOccasions - numberOfRemovedOccasions\r\n }));\r\n\r\n const deleteResult = await deletePlannedApplicationSite(removedPAS);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället skulle tas bort. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n }\r\n };\r\n\r\n const selectedFilterOptionsChangeHandler = (\r\n updatedProperty: keyof ApplicationSiteSelectionFilterOptions,\r\n updatedValue: any\r\n ) => {\r\n setSelectedFilterOptions((prevValue) => ({ ...prevValue, [updatedProperty]: updatedValue }));\r\n };\r\n\r\n const overviewDateClickHandler = (clickedDate: Date, clickedRowSiteId: number, clickedRowApplicationId: number) => {\r\n setModalDefaultDate(clickedDate);\r\n setModalSiteId(clickedRowSiteId);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const plannedApplicationSitesForOverview = plannedApplicationSites.filter(\r\n (pas) => pas.applicationId === applicationId\r\n );\r\n\r\n const modalSite = modalSiteId ? viableSites.find((s) => s.id === modalSiteId) : undefined;\r\n\r\n const availableSiteDatesForModal = modalSiteId\r\n ? availableSiteDates.filter((asd) => asd.siteId === modalSiteId)\r\n : [];\r\n const availableSiteTimeForModal = modalSiteId\r\n ? availableSiteTimes.find((ast) => ast.siteId === modalSiteId)\r\n : undefined;\r\n\r\n const filteredSites = applyApplicationSiteSelectionFilter(viableSites, selectedFilterOptions);\r\n\r\n const viableSiteTableRows = filteredSites.map((s) => (\r\n tableRowClickHandler(s)} />\r\n ));\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

Programläggning: {application.document.eventName}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {viableSiteTableRows}\r\n
PlatsLokalnamnMatchning\r\n Tillgängliga datum\r\n \r\n Det totala antalet datum som kan programläggas på spelplatsen.\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n Ej programlagda\r\n \r\n Det återstående antalet datum som kan programläggas på spelplatsen.\r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ApplicationSiteSelection;\r\n","import React, { useState } from \"react\";\r\nimport { CityArea } from \"../../../common/enums\";\r\nimport { isSameDay, toDayAndMonthString } from \"../../../common/dateUtils\";\r\nimport DateFilterModal from \"../DateFilterModal\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\n\r\nexport type ApplicationSiteSelectionFilterOptions = {\r\n cityArea: CityArea;\r\n searchText: string;\r\n availableDates: Date[];\r\n};\r\n\r\ntype ApplicationSiteSelectionFilterProps = {\r\n selectedFilterOptions: ApplicationSiteSelectionFilterOptions;\r\n onSelectedFilterOptionsChange: (\r\n updatedProperty: keyof ApplicationSiteSelectionFilterOptions,\r\n updatedValue: any\r\n ) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nconst cityAreaOptions = Object.entries(CityArea).map((entry) => (\r\n \r\n));\r\n\r\nfunction ApplicationSiteSelectionFilter({\r\n selectedFilterOptions,\r\n onSelectedFilterOptionsChange,\r\n applicationPeriod\r\n}: ApplicationSiteSelectionFilterProps) {\r\n const [showDateModal, setShowDateModal] = useState(false);\r\n\r\n const dateAddedHandler = (addedDate: Date) => {\r\n const previousAvailableDates = selectedFilterOptions?.availableDates ?? [];\r\n\r\n const updatedDates = [...previousAvailableDates, addedDate].sort((a, b) => a.getTime() - b.getTime());\r\n\r\n onSelectedFilterOptionsChange(\"availableDates\", updatedDates);\r\n };\r\n \r\n const dateRemovedHandler = (removedDate: Date) => {\r\n const updatedDates = selectedFilterOptions.availableDates.filter((d) => !isSameDay(d, removedDate));\r\n\r\n onSelectedFilterOptionsChange(\"availableDates\", updatedDates);\r\n };\r\n\r\n const filteredAvailableDates = selectedFilterOptions?.availableDates ?? [];\r\n\r\n const availableDatesString = filteredAvailableDates.map((d) => toDayAndMonthString(d)).join(\", \");\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"cityArea\", event.target.value)}\r\n >\r\n \r\n {cityAreaOptions}\r\n \r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"searchText\", event.target.value)}\r\n >\r\n
\r\n
\r\n \r\n
\r\n setShowDateModal(true)}\r\n value={availableDatesString}\r\n />\r\n
\r\n setShowDateModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n setShowDateModal(false)}\r\n selectedDates={selectedFilterOptions?.availableDates ?? []}\r\n show={showDateModal}\r\n applicationPeriod={applicationPeriod}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default ApplicationSiteSelectionFilter;\r\n","import React, { CSSProperties } from \"react\";\r\nimport Site from \"../../../types/Site\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { getRemainingNumberOfOccasionsToPlan } from \"../../../common/applicationUtils\";\r\n\r\ntype ApplicationSiteSelectionTableRowProps = {\r\n site: Site;\r\n onTableRowClick: () => void;\r\n};\r\n\r\nconst iconStyles: CSSProperties = {\r\n fontSize: 20\r\n};\r\n\r\nfunction ApplicationSiteSelectionTableRow({ site, onTableRowClick }: ApplicationSiteSelectionTableRowProps) {\r\n return (\r\n \r\n {site.name}\r\n {site.roomName}\r\n \r\n {site.hasMatchingTechnology && (\r\n Spelplatsen uppfyller evenemangets teknikkrav}\r\n >\r\n \r\n \r\n )}\r\n {site.hasMatchingDimensions && (\r\n Spelplatsen uppfyller evenemangets dimensionskrav}\r\n >\r\n \r\n \r\n )}\r\n\r\n {site.hasMatchingDates && (\r\n Spelplatsen och evenemanget har gemensamma möjliga datum}\r\n >\r\n \r\n \r\n )}\r\n {site.hasMatchingSiteType && (\r\n Spelplatsen uppfyller evenemangets krav på typ av spelplats}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ApplicationSiteSelectionTableRow;\r\n","import React from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport { getRemainingNumberOfOccasionsToPlan, getTotalNumberOfOccasionsFromSelection } from \"../../../common/applicationUtils\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\n\r\ntype ApplicationTableRowProps = {\r\n application: Application;\r\n plannedApplicationSites: PlannedApplicationSite[];\r\n};\r\n\r\nfunction ApplicationTableRow({ application, plannedApplicationSites }: ApplicationTableRowProps) {\r\n const rowClickHandler = () => {\r\n window.location.href = `/applications/${application.id}/siteSelection`;\r\n };\r\n\r\n return (\r\n \r\n {application.actorName}\r\n {application.document.eventName}\r\n {application.groupedAgeTags.join(\", \")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ApplicationTableRow;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport {\r\n applyApplicationPlanningFilter,\r\n getAdjustedAgeTagsWithSelectedOccasions\r\n} from \"../../../common/applicationUtils\";\r\nimport { pageLoadErrorMessage } from \"../../../common/errorMessages\";\r\nimport LoadingSpinner from \"../../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../../Common/Messages/ErrorMessage\";\r\nimport InfoMessage from \"../../Common/Messages/InfoMessage\";\r\nimport ApplicationTableRow from \"./ApplicationTableRow\";\r\nimport {\r\n deletePlannedApplicationSite,\r\n fetchApplicationPeriod,\r\n fetchAvailableSiteDatesByApplicationPeriodId,\r\n fetchBlockedDatesByApplicationPeriodId,\r\n fetchPlannedApplicationSitesByApplicationPeriodId,\r\n fetchPlanningCommentsByApplicationPeriodId,\r\n fetchSelectedApplicationsByApplicationPeriodId,\r\n fetchSitesWithPlannedOccasions,\r\n postPlannedApplicationSite\r\n} from \"../../../common/apiClient\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\nimport ApplicationPlanningFilter, { ApplicationPlanningFilterOptions } from \"./ApplicationPlanningFilter\";\r\nimport PlanningOverviewAccordionItem from \"../PlanningOverviewAccordionItem\";\r\nimport PlanningComment from \"../../../types/PlanningComment\";\r\nimport { Accordion } from \"react-bootstrap\";\r\nimport { toGroupedAgeTags } from \"../../../common/stringUtils\";\r\nimport { hasTwoOccasions, sortPlannedApplicationSites } from \"../../../common/planningUtils\";\r\nimport PlanningModal from \"../PlanningModal\";\r\nimport Site from \"../../../types/Site\";\r\nimport { isSameDay } from \"../../../common/dateUtils\";\r\n\r\ntype ApplicationPlanningProps = {\r\n applicationPeriodId: number;\r\n canManagePlanning: boolean;\r\n};\r\n\r\nfunction ApplicationPlanning({ applicationPeriodId, canManagePlanning }: ApplicationPlanningProps) {\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [applications, setApplications] = useState([]);\r\n const [sites, setSites] = useState([]);\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [selectedFilterOptions, setSelectedFilterOptions] = useState();\r\n const [planningComments, setPlanningComments] = useState([]);\r\n const [modalApplicationId, setModalApplicationId] = useState();\r\n const [modalSiteId, setModalSiteId] = useState();\r\n const [modalDefaultDate, setModalDefaultDate] = useState();\r\n const [showPlanningModal, setShowPlanningModal] = useState(false);\r\n const [blockedDates, setBlockedDates] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n applicationPeriodFetchResult,\r\n applicationsFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n sitesFetchResult,\r\n planningCommentsFetchResult,\r\n availableSiteDatesFetchResult,\r\n blockedDatesFetchResult\r\n ] = await Promise.all([\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchSelectedApplicationsByApplicationPeriodId(applicationPeriodId),\r\n fetchPlannedApplicationSitesByApplicationPeriodId(applicationPeriodId),\r\n fetchSitesWithPlannedOccasions(applicationPeriodId),\r\n fetchPlanningCommentsByApplicationPeriodId(applicationPeriodId),\r\n fetchAvailableSiteDatesByApplicationPeriodId(applicationPeriodId),\r\n fetchBlockedDatesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationsFetchResult.errorMessage) {\r\n console.error(applicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(plannedApplicationSitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (planningCommentsFetchResult.errorMessage) {\r\n console.error(planningCommentsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteDatesFetchResult.errorMessage) {\r\n console.error(availableSiteDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n sitesFetchResult.value.forEach((s) => {\r\n s.availableSiteDates = availableSiteDatesFetchResult.value.filter((asd) => asd.siteId === s.id);\r\n });\r\n\r\n applicationsFetchResult.value.forEach((a) => {\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(a, false);\r\n a.groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n });\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n pas.site = sitesFetchResult.value.find((s) => s.id === pas.siteId);\r\n pas.application = applicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n });\r\n\r\n plannedApplicationSitesFetchResult.value = plannedApplicationSitesFetchResult.value.filter(\r\n (pas) => pas.application && pas.site\r\n );\r\n\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setApplications(applicationsFetchResult.value);\r\n setSites(sitesFetchResult.value);\r\n setPlannedApplicationSites(sortPlannedApplicationSites(plannedApplicationSitesFetchResult.value));\r\n setPlanningComments(planningCommentsFetchResult.value);\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n if (applications.length === 0) {\r\n return (\r\n <>\r\n
\r\n

\r\n Programläggning - evenemang: spelperiod {applicationPeriod.occasionsFrom.toLocaleDateString()}{\" \"}\r\n till {applicationPeriod.occasionsTo.toLocaleDateString()}\r\n

\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n const filterChangeHandler = (updatedProperty: keyof ApplicationPlanningFilterOptions, updatedValue: any) => {\r\n setSelectedFilterOptions((prevValue) => ({ ...prevValue, [updatedProperty]: updatedValue }));\r\n };\r\n\r\n const modalApplication = modalApplicationId ? applications.find((a) => a.id === modalApplicationId) : null;\r\n const modalSite = modalSiteId ? sites.find((s) => s.id === modalSiteId) : null;\r\n\r\n const plannedApplicationSiteAddedHandler = async (addedPAS: PlannedApplicationSite) => {\r\n const temporaryId = 0;\r\n addedPAS.id = temporaryId;\r\n\r\n setPlannedApplicationSites((prevValues) => sortPlannedApplicationSites([...prevValues, addedPAS]));\r\n\r\n const numberOfAddedOccasions = hasTwoOccasions(addedPAS) ? 2 : 1;\r\n\r\n const plannedDateWasAvailableForSite = modalSite.availableSiteDates.some(\r\n (asd) => asd.siteId === addedPAS.siteId && isSameDay(asd.availableDate, addedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite) {\r\n const updatedSite: Site = {\r\n ...modalSite,\r\n remainingNumberOfAvailableSiteDates: modalSite.remainingNumberOfAvailableSiteDates - 1\r\n };\r\n\r\n setSites((prevValue) => prevValue.map((s) => (s.id === modalSiteId ? updatedSite : s)));\r\n }\r\n\r\n const updatedApplication: Application = {\r\n ...modalApplication,\r\n numberOfPlannedOccasions: modalApplication.numberOfPlannedOccasions + numberOfAddedOccasions\r\n };\r\n\r\n setApplications((prevValues) => prevValues.map((a) => (a.id === modalApplicationId ? updatedApplication : a)));\r\n\r\n const postResult = await postPlannedApplicationSite(addedPAS);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället sparades. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n return;\r\n }\r\n\r\n const postedPlannedApplicationSiteId = postResult.value;\r\n\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.map((pas) => (pas.id === temporaryId ? { ...pas, id: postedPlannedApplicationSiteId } : pas))\r\n );\r\n };\r\n\r\n const plannedApplicationSiteRemovedHandler = async (removedPAS: PlannedApplicationSite) => {\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.filter(\r\n (pas) =>\r\n pas.siteId !== removedPAS.siteId ||\r\n pas.applicationId !== removedPAS.applicationId ||\r\n !isSameDay(pas.occasion1Starts, removedPAS.occasion1Starts)\r\n )\r\n );\r\n\r\n const numberOfRemovedOccasions = hasTwoOccasions(removedPAS) ? 2 : 1;\r\n const updatedApplication: Application = {\r\n ...modalApplication,\r\n numberOfPlannedOccasions: modalApplication.numberOfPlannedOccasions - numberOfRemovedOccasions\r\n };\r\n\r\n setApplications((prevValue) => prevValue.map((a) => (a.id === modalApplicationId ? updatedApplication : a)));\r\n\r\n const plannedDateWasAvailableForSite = modalSite.availableSiteDates.some(\r\n (asd) => asd.siteId === removedPAS.siteId && isSameDay(asd.availableDate, removedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite) {\r\n const updatedSite: Site = {\r\n ...modalSite,\r\n remainingNumberOfAvailableSiteDates: modalSite.remainingNumberOfAvailableSiteDates + 1\r\n };\r\n\r\n setSites((prevValue) => prevValue.map((s) => (s.id === modalSiteId ? updatedSite : s)));\r\n }\r\n\r\n const deleteResult = await deletePlannedApplicationSite(removedPAS);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället skulle tas bort. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n }\r\n };\r\n\r\n const overviewDateClickHandler = (clickedDate: Date, clickedRowSiteId: number, clickedRowApplicationId: number) => {\r\n setModalDefaultDate(clickedDate);\r\n setModalSiteId(clickedRowSiteId);\r\n setModalApplicationId(clickedRowApplicationId);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const filteredApplications = applyApplicationPlanningFilter(\r\n applications,\r\n plannedApplicationSites,\r\n selectedFilterOptions\r\n );\r\n\r\n const applicationTableRows = filteredApplications.map((a) => (\r\n \r\n ));\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Programläggning - evenemang: spelperiod {applicationPeriod.occasionsFrom.toLocaleDateString()}{\" \"}\r\n till {applicationPeriod.occasionsTo.toLocaleDateString()}\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {applicationTableRows}\r\n
AktörEvenemangsnamnMålgruppTillfällen totaltEj Programlagda
\r\n
\r\n
\r\n setShowPlanningModal(false)}\r\n onPlannedApplicationSitesChange={setPlannedApplicationSites}\r\n onPlanningCommentsChange={setPlanningComments}\r\n onRemovePlannedApplicationSite={plannedApplicationSiteRemovedHandler}\r\n plannedApplicationSites={plannedApplicationSites}\r\n planningComments={planningComments}\r\n show={showPlanningModal}\r\n defaultDate={modalDefaultDate}\r\n availableSiteTime={\r\n modalSite && modalSite.availableSiteTimes.length > 0 ? modalSite.availableSiteTimes[0] : null\r\n }\r\n blockedDates={blockedDates}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default ApplicationPlanning;\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport { getCaptionText, getWeekDayName, isSameDay, toDateOnlyString, toDayAndMonthString } from \"../../common/dateUtils\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\n\r\ntype DateFilterModalProps = {\r\n show: boolean;\r\n onHide: () => void;\r\n selectedDates: Date[];\r\n onDateAdded: (addedDate: Date) => void;\r\n onDateRemoved: (removedDate: Date) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nfunction DateFilterModal({\r\n show,\r\n onHide,\r\n selectedDates,\r\n onDateAdded,\r\n onDateRemoved,\r\n applicationPeriod\r\n}: DateFilterModalProps) {\r\n const dateClickHandler = (clickedDate: Date) => {\r\n const dateWasPreviouslySelected = selectedDates.some((d) => isSameDay(d, clickedDate));\r\n\r\n if (dateWasPreviouslySelected) {\r\n onDateRemoved(clickedDate);\r\n return;\r\n }\r\n\r\n onDateAdded(clickedDate);\r\n };\r\n\r\n const selectedDatesString = selectedDates\r\n .map((d) => toDayAndMonthString(d))\r\n .join(\", \");\r\n\r\n const defaultMonth = selectedDates.length > 0 ? selectedDates[0] : applicationPeriod.occasionsFrom;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DateFilterModal;\r\n","import React, { useRef } from \"react\";\r\nimport { Button, DayPicker, DayProps, useDayRender } from \"react-day-picker\";\r\nimport { getCaptionText, getTimeSpanString, getWeekDayName, isSameDay } from \"../../../common/dateUtils\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { DateInfo, DateMap } from \".\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ntype PlanningCalendarProps = {\r\n onDateClicked: (clickedDate: Date) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n selectedDate: Date;\r\n dateMap: DateMap;\r\n defaultDate?: Date;\r\n};\r\n\r\nconst PlanningCalendar = React.memo(\r\n ({ onDateClicked, applicationPeriod, selectedDate, dateMap, defaultDate }: PlanningCalendarProps) => {\r\n return (\r\n (\r\n \r\n )\r\n }}\r\n />\r\n );\r\n }\r\n);\r\n\r\ntype PlanningModalDateCellProps = {\r\n date: Date;\r\n isSelected: boolean;\r\n displayMonth: Date;\r\n dateInfo: DateInfo | undefined;\r\n};\r\n\r\nfunction PlanningModalDateCell({ isSelected, displayMonth, dateInfo, date }: PlanningModalDateCellProps) {\r\n const buttonRef = useRef();\r\n const dayRender = useDayRender(date, displayMonth, buttonRef);\r\n\r\n if (date.getMonth() !== displayMonth.getMonth()) return <>;\r\n\r\n const onePlannedOccasion = dateInfo !== undefined && !!dateInfo.pas;\r\n const twoPlannedOccasions =\r\n dateInfo && dateInfo.pas && dateInfo.pas.occasion2Starts && dateInfo.pas.occasion2Starts.getFullYear() > 1;\r\n\r\n let numberOfOccasionsIndicators = <>;\r\n\r\n if (twoPlannedOccasions) {\r\n numberOfOccasionsIndicators = (\r\n <>\r\n
\r\n
\r\n \r\n );\r\n } else if (onePlannedOccasion) {\r\n numberOfOccasionsIndicators =
;\r\n }\r\n\r\n const dayCellClassName = `planning-modal__calender-day-cell ${\r\n isSelected ? \"selected\" : \"\"\r\n } w-100 h-100 d-flex flex-column`;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default PlanningCalendar;\r\n","import React, { ChangeEvent, useCallback, useEffect, useState } from \"react\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport Application from \"../../../types/Application\";\r\nimport Site from \"../../../types/Site\";\r\nimport { SiteType } from \"../../../common/enums\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\nimport { formatTime, getTimeStringFromDate, isSameDay, setDateTimeFromString } from \"../../../common/dateUtils\";\r\nimport { getDefaultNumberOfSeats, hasTwoOccasions } from \"../../../common/planningUtils\";\r\nimport { Accordion, Modal, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport PlanningComment from \"../../../types/PlanningComment\";\r\nimport {\r\n confirmPlannedDate,\r\n deletePlanningComment,\r\n postPlanningComment,\r\n unconfirmPlannedDate\r\n} from \"../../../common/apiClient\";\r\nimport PlanningCalendar from \"./PlanningCalendar\";\r\nimport { getAdjustedAgeTagsWithSelectedOccasions } from \"../../../common/applicationUtils\";\r\nimport { toGroupedAgeTags } from \"../../../common/stringUtils\";\r\n\r\ntype PlanningModalProps = {\r\n applicationPeriod: ApplicationPeriod;\r\n application: Application;\r\n site: Site;\r\n availableSiteDates: AvailableSiteDate[];\r\n availableSiteTime: AvailableSiteTime;\r\n plannedApplicationSites: PlannedApplicationSite[];\r\n onAddPlannedApplicationSite: (plannedApplicationSiteToAdd: PlannedApplicationSite) => void;\r\n onRemovePlannedApplicationSite: (plannedApplicationSiteToRemove: PlannedApplicationSite) => void;\r\n onPlannedApplicationSitesChange: (\r\n value:\r\n | PlannedApplicationSite[]\r\n | ((plannedApplicationSites: PlannedApplicationSite[]) => PlannedApplicationSite[])\r\n ) => void;\r\n show: boolean;\r\n onHide: () => void;\r\n planningComments: PlanningComment[];\r\n onPlanningCommentsChange: (\r\n value: PlanningComment[] | ((planningComments: PlanningComment[]) => PlanningComment[])\r\n ) => void;\r\n onError: (errorMesage: string) => void;\r\n canManagePlanning: boolean;\r\n defaultDate?: Date;\r\n blockedDates: Date[];\r\n};\r\n\r\n//\r\n// DateMap[d] innehåller information om vad som ska renderas i kalendern på datum d\r\n//\r\nexport type DateMap = { [date: string]: DateInfo };\r\n\r\nexport type DateInfo = {\r\n // Eventuell programläggning av det aktuella evenemanget på den aktuella spelplatsen på det aktuella datumet\r\n pas?: PlannedApplicationSite | undefined;\r\n\r\n // Eventuell kommentar bunden till det aktuella evenemanget, den aktuella spelplatsen och det valda datumet\r\n planningComment?: PlanningComment | undefined;\r\n\r\n // Indikerar om datumet är markerat som möjligt i det aktuella evenemangets intresseanmälan\r\n dateIsPossibleForEvent: boolean;\r\n\r\n // Indikerar om datumet är markerat som möjligt för den aktuella spelplatsen\r\n dateIsPossibleForSite: boolean;\r\n\r\n // Alla PAS för den aktuella spelplatsen och andra evenemang på det aktuella datumet\r\n otherEventsPlannedForSite: PlannedApplicationSite[];\r\n\r\n // Alla PAS för det akuella evenemanget och andra spelplatser på det aktuella datumet.\r\n otherSitesPlannedForApplication: PlannedApplicationSite[];\r\n\r\n // Alla PAS för det aktuella evenemangets aktör och andra evenemang på det aktuella datumet\r\n otherEventsPlannedForActor: PlannedApplicationSite[];\r\n\r\n // Om datumet har blockerats av KuBo\r\n dateIsBlocked: boolean;\r\n};\r\n\r\nconst getDefaultDateInfo = (): DateInfo => ({\r\n dateIsPossibleForEvent: false,\r\n dateIsPossibleForSite: false,\r\n otherEventsPlannedForActor: [],\r\n otherEventsPlannedForSite: [],\r\n otherSitesPlannedForApplication: [],\r\n dateIsBlocked: false\r\n});\r\n\r\nfunction PlanningModal({\r\n application,\r\n applicationPeriod,\r\n site,\r\n availableSiteTime,\r\n availableSiteDates,\r\n plannedApplicationSites,\r\n onAddPlannedApplicationSite,\r\n onRemovePlannedApplicationSite,\r\n onPlannedApplicationSitesChange,\r\n show,\r\n onHide,\r\n planningComments,\r\n onPlanningCommentsChange,\r\n onError,\r\n canManagePlanning,\r\n defaultDate,\r\n blockedDates\r\n}: PlanningModalProps) {\r\n const [twoOccasionsPlanned, setTwoOccasionsPlanned] = useState(false);\r\n const [occasion1StartsInput, setOccasion1StartsInput] = useState(\"\");\r\n const [occasion1EndsInput, setOccasion1EndsInput] = useState(\"\");\r\n const [occasion2StartsInput, setOccasion2StartsInput] = useState(\"\");\r\n const [occasion2EndsInput, setOccasion2EndsInput] = useState(\"\");\r\n const [selectedDate, setSelectedDate] = useState();\r\n const [numberOfSeatsInput, setNumberOfSeatsInput] = useState(\"\");\r\n const [intendedAudienceInput, setIntendedAudienceInput] = useState(\"\");\r\n const [dateMap, setDateMap] = useState();\r\n const [commentInput, setCommentInput] = useState(\"\");\r\n const [commentIsSaved, setCommentIsSaved] = useState(false);\r\n\r\n const plannedApplicationSitesForApplicationAndSite =\r\n site && application\r\n ? plannedApplicationSites.filter((pas) => pas.siteId === site.id && pas.applicationId === application.id)\r\n : [];\r\n\r\n const plannedApplicationSiteForSelectedDate =\r\n selectedDate && application && site\r\n ? plannedApplicationSitesForApplicationAndSite.find((a) => isSameDay(selectedDate, a.occasion1Starts))\r\n : undefined;\r\n\r\n const selectedDateKey = selectedDate && selectedDate.toDateString();\r\n const selectedDateInfo = dateMap && selectedDate && dateMap[selectedDateKey];\r\n\r\n const adjustedAgeTags = application ? getAdjustedAgeTagsWithSelectedOccasions(application, false) : [];\r\n const groupedAgeTags = toGroupedAgeTags(adjustedAgeTags).join(\", \");\r\n\r\n useEffect(() => {\r\n setCommentInput(selectedDateInfo?.planningComment?.comment ?? \"\");\r\n setIntendedAudienceInput(selectedDateInfo?.pas?.intendedAudience ?? groupedAgeTags);\r\n setCommentIsSaved(false);\r\n\r\n setNumberOfSeatsInput(\r\n (plannedApplicationSiteForSelectedDate &&\r\n (plannedApplicationSiteForSelectedDate.numberOfSeats ||\r\n plannedApplicationSiteForSelectedDate.numberOfSeats === 0)\r\n ? plannedApplicationSiteForSelectedDate.numberOfSeats\r\n : getDefaultNumberOfSeats(application, site)\r\n ).toString()\r\n );\r\n\r\n if (!plannedApplicationSiteForSelectedDate) return;\r\n\r\n setOccasion1StartsInput(getTimeStringFromDate(plannedApplicationSiteForSelectedDate.occasion1Starts));\r\n setOccasion1EndsInput(getTimeStringFromDate(plannedApplicationSiteForSelectedDate.occasion1Ends));\r\n\r\n const twoOccasionsArePlanned = hasTwoOccasions(plannedApplicationSiteForSelectedDate);\r\n setTwoOccasionsPlanned(twoOccasionsArePlanned);\r\n\r\n if (twoOccasionsArePlanned) {\r\n setOccasion2StartsInput(getTimeStringFromDate(plannedApplicationSiteForSelectedDate.occasion2Starts));\r\n setOccasion2EndsInput(getTimeStringFromDate(plannedApplicationSiteForSelectedDate.occasion2Ends));\r\n }\r\n }, [selectedDate]);\r\n\r\n useEffect(() => {\r\n if (!show || !application || !site || !plannedApplicationSites || !availableSiteDates) return;\r\n\r\n const map: DateMap = {};\r\n\r\n plannedApplicationSites.forEach((pas) => {\r\n const key = pas.occasion1Starts.toDateString();\r\n\r\n if (!map[key]) {\r\n map[key] = getDefaultDateInfo();\r\n }\r\n\r\n if (pas.applicationId === application.id && pas.siteId === site.id) {\r\n map[key].pas = pas;\r\n\r\n return;\r\n }\r\n\r\n if (pas.applicationId === application.id && pas.siteId !== site.id) {\r\n map[key].otherSitesPlannedForApplication.push(pas);\r\n }\r\n\r\n if (pas.application.actorName === application.actorName && pas.applicationId !== application.id) {\r\n map[key].otherEventsPlannedForActor.push(pas);\r\n }\r\n\r\n if (pas.siteId === site.id && pas.applicationId !== application.id) {\r\n map[key].otherEventsPlannedForSite.push(pas);\r\n }\r\n });\r\n\r\n availableSiteDates.forEach((asd) => {\r\n const key = asd.availableDate.toDateString();\r\n\r\n if (!map[key]) {\r\n map[key] = { ...getDefaultDateInfo(), dateIsPossibleForSite: true };\r\n } else {\r\n map[key].dateIsPossibleForSite = true;\r\n }\r\n });\r\n\r\n application.document.possibleOccasionDates.forEach((pod) => {\r\n const key = pod.toDateString();\r\n\r\n if (!map[key]) {\r\n map[key] = { ...getDefaultDateInfo(), dateIsPossibleForEvent: true };\r\n } else {\r\n map[key].dateIsPossibleForEvent =\r\n map[key].otherSitesPlannedForApplication.length === 0 &&\r\n map[key].otherEventsPlannedForActor.length === 0 &&\r\n !map[key].pas;\r\n }\r\n });\r\n\r\n planningComments.forEach((pc) => {\r\n if (pc.applicationId !== application.id || pc.siteId !== site.id) return;\r\n\r\n const key = pc.date.toDateString();\r\n\r\n if (!map[key]) {\r\n map[key] = { ...getDefaultDateInfo(), planningComment: pc };\r\n } else {\r\n map[key].planningComment = pc;\r\n }\r\n });\r\n\r\n blockedDates.forEach((d) => {\r\n const key = d.toDateString();\r\n\r\n if (!map[key]) {\r\n map[key] = getDefaultDateInfo();\r\n }\r\n\r\n map[key].dateIsBlocked = true;\r\n });\r\n\r\n setDateMap(map);\r\n setNumberOfSeatsInput(getDefaultNumberOfSeats(application, site).toString());\r\n }, [show]);\r\n\r\n useEffect(() => {\r\n if (defaultDate) {\r\n setSelectedDate(defaultDate);\r\n }\r\n }, [defaultDate]);\r\n\r\n const dateClickHandler = useCallback((clickedDate: Date) => {\r\n setSelectedDate(clickedDate);\r\n }, []);\r\n\r\n if (!site || !application) {\r\n return <>;\r\n }\r\n\r\n const twoOccasionsCheckedHandler = (event: ChangeEvent) => {\r\n setTwoOccasionsPlanned(event.target.checked);\r\n };\r\n\r\n const submitPlannedApplicationSiteHandler = async () => {\r\n const occasion1Starts = setDateTimeFromString(selectedDate, occasion1StartsInput);\r\n const occasion1Ends = setDateTimeFromString(selectedDate, occasion1EndsInput);\r\n\r\n const numberOfSeats = Number.parseInt(numberOfSeatsInput);\r\n\r\n const plannedApplicationSite: PlannedApplicationSite = {\r\n id: 0,\r\n siteId: site.id,\r\n site: site,\r\n applicationId: application.id,\r\n application: application,\r\n occasion1Starts: occasion1Starts,\r\n occasion1Ends: occasion1Ends,\r\n dateIsConfirmed: false,\r\n numberOfSeats: numberOfSeats,\r\n intendedAudience: intendedAudienceInput\r\n };\r\n\r\n if (twoOccasionsPlanned) {\r\n const occasion2Starts = setDateTimeFromString(selectedDate, occasion2StartsInput);\r\n const occasion2Ends = setDateTimeFromString(selectedDate, occasion2EndsInput);\r\n\r\n plannedApplicationSite.occasion2Starts = occasion2Starts;\r\n plannedApplicationSite.occasion2Ends = occasion2Ends;\r\n }\r\n\r\n const updatedDateInfo: DateInfo = dateMap[selectedDateKey]\r\n ? { ...dateMap[selectedDateKey], pas: plannedApplicationSite, dateIsPossibleForEvent: false }\r\n : { ...getDefaultDateInfo(), pas: plannedApplicationSite };\r\n\r\n const updatedMap: DateMap = {\r\n ...dateMap,\r\n [selectedDateKey]: updatedDateInfo\r\n };\r\n\r\n setDateMap(updatedMap);\r\n\r\n await onAddPlannedApplicationSite(plannedApplicationSite);\r\n };\r\n\r\n const removePlannedApplicationSiteHandler = async (event: React.MouseEvent) => {\r\n const key = selectedDate.toDateString();\r\n setDateMap((prevMap) => ({\r\n ...prevMap,\r\n [key]: {\r\n ...prevMap[key],\r\n pas: null,\r\n dateIsPossibleForEvent:\r\n prevMap[key].otherSitesPlannedForApplication.length === 0 &&\r\n prevMap[key].otherEventsPlannedForActor.length === 0 &&\r\n application.document.possibleOccasionDates.some((d) => isSameDay(d, selectedDate))\r\n }\r\n }));\r\n\r\n await onRemovePlannedApplicationSite(plannedApplicationSiteForSelectedDate);\r\n };\r\n\r\n const commentInputChangeHandler = (event: React.ChangeEvent) => {\r\n setCommentIsSaved(false);\r\n setCommentInput(event.target.value);\r\n };\r\n\r\n const savePlanningCommentClickHandler = async () => {\r\n const key = selectedDate.toDateString();\r\n const prevPlanningComment = dateMap[key]?.planningComment;\r\n\r\n if (!commentInput && !prevPlanningComment) return;\r\n\r\n if (!commentInput) {\r\n setDateMap((prevValue) => ({\r\n ...prevValue,\r\n [key]: { ...prevValue[key], planningComment: undefined }\r\n }));\r\n onPlanningCommentsChange((prevValue) => prevValue.filter((pc) => pc.id !== prevPlanningComment.id));\r\n\r\n const deleteResult = await deletePlanningComment(prevPlanningComment.id);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n onError(\"Något gick fel när kommentaren sparades. Vänligen ladda om sidan och försök igen.\");\r\n }\r\n\r\n setCommentIsSaved(true);\r\n\r\n return;\r\n }\r\n\r\n const tempId = -1;\r\n const planningComment: PlanningComment = {\r\n id: tempId,\r\n applicationId: application.id,\r\n siteId: site.id,\r\n comment: commentInput,\r\n date: selectedDate\r\n };\r\n\r\n setDateMap((prevValue) => ({\r\n ...prevValue,\r\n [key]: prevValue[key]\r\n ? { ...prevValue[key], planningComment: planningComment }\r\n : { ...getDefaultDateInfo(), planningComment: planningComment }\r\n }));\r\n\r\n onPlanningCommentsChange((prevValue) =>\r\n prevPlanningComment\r\n ? [...prevValue.filter((pc) => pc.id !== prevPlanningComment.id), planningComment]\r\n : [...prevValue, planningComment]\r\n );\r\n\r\n const postResult = await postPlanningComment(planningComment);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n onError(\"Något gick fel när kommentaren sparades. Vänligen ladda om sidan och försök igen.\");\r\n return;\r\n }\r\n\r\n const planningCommentWithId = { ...planningComment, id: postResult.value };\r\n\r\n setDateMap((prevValue) => ({\r\n ...prevValue,\r\n [key]: { ...prevValue[key], planningComment: planningCommentWithId }\r\n }));\r\n\r\n onPlanningCommentsChange((prevValue) => prevValue.map((pc) => (pc.id === tempId ? planningCommentWithId : pc)));\r\n\r\n setCommentIsSaved(true);\r\n };\r\n\r\n const confirmDateClickHandler = async () => {\r\n const updatedPAS: PlannedApplicationSite = { ...plannedApplicationSiteForSelectedDate, dateIsConfirmed: true };\r\n\r\n onPlannedApplicationSitesChange((prevValue) => [\r\n ...prevValue.filter((pas) => pas.id !== plannedApplicationSiteForSelectedDate.id),\r\n updatedPAS\r\n ]);\r\n\r\n const result = await confirmPlannedDate(plannedApplicationSiteForSelectedDate.id);\r\n\r\n if (result.errorMessage) {\r\n console.error(result.errorMessage);\r\n onError(\"Något gick fel när datumet markerades som bekräftat.\");\r\n return;\r\n }\r\n };\r\n\r\n const unconfirmDateClickHandler = async () => {\r\n const updatedPAS: PlannedApplicationSite = { ...plannedApplicationSiteForSelectedDate, dateIsConfirmed: false };\r\n\r\n onPlannedApplicationSitesChange((prevValue) => [\r\n ...prevValue.filter((pas) => pas.id !== plannedApplicationSiteForSelectedDate.id),\r\n updatedPAS\r\n ]);\r\n\r\n const result = await unconfirmPlannedDate(plannedApplicationSiteForSelectedDate.id);\r\n\r\n if (result.errorMessage) {\r\n console.error(result.errorMessage);\r\n onError(\"Något gick fel när datumet markerades som ej bekräftat.\");\r\n return;\r\n }\r\n };\r\n\r\n const hideHandler = () => {\r\n setSelectedDate(null);\r\n onHide();\r\n };\r\n\r\n const intendedAudienceInputKeyDownHandler = (event: React.KeyboardEvent) => {\r\n if (event.key === \"Tab\" && !intendedAudienceInput) {\r\n event.preventDefault();\r\n setIntendedAudienceInput(groupedAgeTags);\r\n }\r\n };\r\n\r\n const numberOfSeatsInputKeyDownHandler = (event: React.KeyboardEvent) => {\r\n if (event.key === \"Tab\" && !numberOfSeatsInput) {\r\n event.preventDefault();\r\n setNumberOfSeatsInput(getDefaultNumberOfSeats(application, site).toString());\r\n }\r\n };\r\n\r\n const submitButtonEnabled =\r\n numberOfSeatsInput &&\r\n intendedAudienceInput &&\r\n !!(\r\n (twoOccasionsPlanned &&\r\n occasion1StartsInput &&\r\n occasion1EndsInput &&\r\n occasion2StartsInput &&\r\n occasion2EndsInput) ||\r\n (!twoOccasionsPlanned && occasion1StartsInput && occasion1EndsInput)\r\n );\r\n\r\n const inputsDisabled = !!plannedApplicationSiteForSelectedDate || !canManagePlanning;\r\n\r\n let buildTime = \"\";\r\n let strikeTime = \"\";\r\n\r\n const siteType = SiteType[site.siteType as keyof typeof SiteType];\r\n\r\n if (siteType === SiteType.Library) {\r\n buildTime = application.document.library_BuildTime;\r\n strikeTime = application.document.library_StrikeTime;\r\n } else if (siteType === SiteType.Outdoors) {\r\n buildTime = application.document.outdoors_BuildTime;\r\n strikeTime = application.document.outdoors_StrikeTime;\r\n } else if (siteType === SiteType.School) {\r\n buildTime = application.document.school_BuildTime;\r\n strikeTime = application.document.school_StrikeTime;\r\n }\r\n\r\n return (\r\n \r\n \r\n

\r\n Programläggning av evenemang {application.document.eventName} på spelplats {site.name}\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n {selectedDate && (\r\n <>\r\n
\r\n

Programläggning {selectedDate.toLocaleDateString()}

\r\n {selectedDateInfo && selectedDateInfo.dateIsBlocked ? (\r\n
Det valda datumet är blockerat
\r\n ) : null}\r\n
\r\n {canManagePlanning && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {twoOccasionsPlanned &&\r\n (plannedApplicationSiteForSelectedDate || canManagePlanning) ? (\r\n
\r\n
\r\n
\r\n \r\n \r\n setOccasion1StartsInput(e.target.value)\r\n }\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n \r\n setOccasion1EndsInput(e.target.value)}\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n setOccasion2StartsInput(e.target.value)\r\n }\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n \r\n setOccasion2EndsInput(e.target.value)}\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n
\r\n ) : (\r\n (plannedApplicationSiteForSelectedDate || canManagePlanning) && (\r\n
\r\n
\r\n \r\n \r\n setOccasion1StartsInput(e.target.value)\r\n }\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n \r\n setOccasion1EndsInput(e.target.value)}\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n setIntendedAudienceInput(e.target.value)}\r\n onKeyDown={intendedAudienceInputKeyDownHandler}\r\n disabled={inputsDisabled}\r\n >\r\n
\r\n
\r\n
\r\n \r\n setNumberOfSeatsInput(e.target.value)}\r\n onKeyDown={numberOfSeatsInputKeyDownHandler}\r\n placeholder={getDefaultNumberOfSeats(application, site).toString()}\r\n disabled={inputsDisabled}\r\n />\r\n
\r\n
\r\n
\r\n {plannedApplicationSiteForSelectedDate && canManagePlanning ? (\r\n <>\r\n {plannedApplicationSiteForSelectedDate.dateIsConfirmed ? (\r\n \r\n \r\n Markera som datum som ej bekräftat\r\n \r\n ) : (\r\n \r\n \r\n Markera datum som bekräftat\r\n \r\n )}\r\n \r\n Ta bort tillfälle\r\n \r\n \r\n ) : (\r\n canManagePlanning && (\r\n \r\n Programlägg tillfälle\r\n \r\n )\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {canManagePlanning && commentIsSaved ? (\r\n \r\n ) : canManagePlanning &&\r\n !commentInput &&\r\n !dateMap[selectedDate.toDateString()]?.planningComment ? (\r\n \r\n ) : (\r\n canManagePlanning && (\r\n \r\n Spara kommentar\r\n \r\n )\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Information\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PlanningModal;\r\n","import React, { useState } from \"react\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport PlanningOverviewTableRow from \"./PlanningOverviewTableRow\";\r\nimport { applyPlanningOverviewFilter } from \"../../common/planningUtils\";\r\nimport { isSameDay, removeTimeFromDate } from \"../../common/dateUtils\";\r\nimport { Accordion } from \"react-bootstrap\";\r\nimport PlanningComment from \"../../types/PlanningComment\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport { HexColor } from \"../../common/enums\";\r\n\r\ntype PlanningOverviewAccordionItemProps = {\r\n plannedApplicationSites: PlannedApplicationSite[];\r\n planningComments: PlanningComment[];\r\n applicationPeriod: ApplicationPeriod;\r\n showExport: boolean;\r\n onDateClick: (date: Date, siteId: number, applicationId: number) => void;\r\n};\r\n\r\nexport type SelectedPlanningOverviewOptions = {\r\n siteId: number;\r\n cultureProviderId: number;\r\n applicationId: number;\r\n searchText: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n};\r\n\r\nfunction PlanningOverviewAccordionItem({\r\n plannedApplicationSites,\r\n planningComments,\r\n applicationPeriod,\r\n showExport,\r\n onDateClick\r\n}: PlanningOverviewAccordionItemProps) {\r\n const [selectedFilterOptions, setSelectedFilterOptions] = useState();\r\n\r\n const selectedFilterOptionsChangeHandler = (value: any, updatedProperty: keyof SelectedPlanningOverviewOptions) => {\r\n if (!value) {\r\n setSelectedFilterOptions((prevValue) => {\r\n const updatedOptions = { ...prevValue };\r\n delete updatedOptions[updatedProperty];\r\n\r\n return updatedOptions;\r\n });\r\n } else {\r\n setSelectedFilterOptions((prevValue) => ({ ...prevValue, [updatedProperty]: value }));\r\n }\r\n };\r\n\r\n plannedApplicationSites = plannedApplicationSites.sort(\r\n (a, b) => a.occasion1Starts.getTime() - b.occasion1Starts.getTime()\r\n );\r\n\r\n const filteredPAS = applyPlanningOverviewFilter(selectedFilterOptions, plannedApplicationSites);\r\n\r\n const planningOverviewTableRows = filteredPAS.map((pas) => {\r\n const planningComment = planningComments.find(\r\n (pc) =>\r\n pc.siteId === pas.siteId &&\r\n pc.applicationId === pas.applicationId &&\r\n isSameDay(pc.date, pas.occasion1Starts)\r\n );\r\n\r\n return (\r\n \r\n );\r\n });\r\n\r\n const siteOptions = plannedApplicationSites\r\n .filter((pas, index, self) => self.findIndex((p) => p.siteId === pas.siteId) === index)\r\n .sort((p1, p2) => p1.site.name.toLowerCase().localeCompare(p2.site.name.toLowerCase()))\r\n .map((pas) => (\r\n \r\n ));\r\n\r\n const actorOptions = plannedApplicationSites\r\n .filter(\r\n (pas, index, self) =>\r\n self.findIndex((p) => p.application.cultureProviderId === pas.application.cultureProviderId) === index\r\n )\r\n .sort((p1, p2) => p1.application.actorName.toLowerCase().localeCompare(p2.application.actorName.toLowerCase()))\r\n .map((pas) => (\r\n \r\n ));\r\n\r\n const applicationOptions = plannedApplicationSites\r\n .filter((pas, index, self) => self.findIndex((p) => p.applicationId === pas.applicationId) === index)\r\n .sort((p1, p2) =>\r\n p1.application.document.eventName\r\n .toLowerCase()\r\n .localeCompare(p2.application.document.eventName.toLowerCase())\r\n )\r\n .map((pas) => (\r\n \r\n ));\r\n\r\n const queryParamsObject: any = {\r\n ...selectedFilterOptions\r\n };\r\n\r\n if (selectedFilterOptions && selectedFilterOptions.fromDate) {\r\n queryParamsObject.fromDate = selectedFilterOptions.fromDate.toDateString();\r\n }\r\n\r\n if (selectedFilterOptions && selectedFilterOptions.toDate) {\r\n queryParamsObject.toDate = selectedFilterOptions.toDate.toDateString();\r\n }\r\n\r\n const exportQueryParams = new URLSearchParams(queryParamsObject).toString();\r\n\r\n return (\r\n \r\n \r\n Översikt\r\n \r\n \r\n
\r\n {showExport && (\r\n \r\n \r\n Ladda ner excelfil\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n selectedFilterOptionsChangeHandler(e.target.value, \"searchText\")}\r\n />\r\n
\r\n
\r\n \r\n \r\n selectedFilterOptionsChangeHandler(\r\n e.target.value ? Number.parseInt(e.target.value) : \"\",\r\n \"siteId\"\r\n )\r\n }\r\n >\r\n \r\n {siteOptions}\r\n \r\n
\r\n
\r\n \r\n \r\n selectedFilterOptionsChangeHandler(\r\n e.target.value ? Number.parseInt(e.target.value) : \"\",\r\n \"cultureProviderId\"\r\n )\r\n }\r\n >\r\n \r\n {actorOptions}\r\n \r\n
\r\n
\r\n \r\n \r\n selectedFilterOptionsChangeHandler(\r\n e.target.value ? Number.parseInt(e.target.value) : \"\",\r\n \"applicationId\"\r\n )\r\n }\r\n >\r\n \r\n {applicationOptions}\r\n \r\n
\r\n
\r\n \r\n \r\n selectedFilterOptionsChangeHandler(\r\n e.target.value ? removeTimeFromDate(new Date(e.target.value)) : \"\",\r\n \"fromDate\"\r\n )\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n selectedFilterOptionsChangeHandler(\r\n e.target.value ? removeTimeFromDate(new Date(e.target.value)) : \"\",\r\n \"toDate\"\r\n )\r\n }\r\n />\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {planningOverviewTableRows}\r\n
SpelplatsPlatserDagDatumVeckaTid 1Tid 2AktörEvenemangMålgrupp
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PlanningOverviewAccordionItem;\r\n","import React from \"react\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport { getDefaultNumberOfSeats, getNumberOfSeats, hasTwoOccasions } from \"../../common/planningUtils\";\r\nimport { getTimeSpanString, getWeekDayName, getWeekNumber, toDateOnlyString } from \"../../common/dateUtils\";\r\nimport { HexColor, SiteType } from \"../../common/enums\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport PlanningComment from \"../../types/PlanningComment\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\n\r\ntype PlanningOverviewTableRowProps = {\r\n plannedApplicationSite: PlannedApplicationSite;\r\n planningComment: PlanningComment | undefined;\r\n onDateClick: (date: Date, siteId: number, applicationId: number) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nfunction PlanningOverviewTableRow({\r\n plannedApplicationSite: pas,\r\n planningComment,\r\n onDateClick,\r\n applicationPeriod\r\n}: PlanningOverviewTableRowProps) {\r\n const site = pas.site;\r\n const application = pas.application;\r\n\r\n const twoOccasionsPlanned = hasTwoOccasions(pas);\r\n\r\n const timeSpan1 = getTimeSpanString(pas.occasion1Starts, pas.occasion1Ends);\r\n const timeSpan2 = twoOccasionsPlanned ? getTimeSpanString(pas.occasion2Starts, pas.occasion2Ends) : \"\";\r\n\r\n const numberOfSeats = getNumberOfSeats(pas);\r\n\r\n return (\r\n \r\n \r\n {pas.dateIsConfirmed && (\r\n Datumet har bekräftats}>\r\n \r\n \r\n )}\r\n {planningComment && planningComment.comment && (\r\n {getCommentPreview(planningComment)}}>\r\n \r\n \r\n )}\r\n \r\n {site.name}\r\n \r\n \r\n {numberOfSeats}\r\n {getWeekDayName(pas.occasion1Starts)}\r\n \r\n onDateClick(new Date(pas.occasion1Starts), pas.siteId, pas.applicationId)}\r\n >\r\n {pas.occasion1Starts.toLocaleDateString()}\r\n \r\n \r\n {getWeekNumber(pas.occasion1Starts)}\r\n {timeSpan1}\r\n {timeSpan2}\r\n {application.actorName}\r\n \r\n \r\n {application.document.eventName}\r\n \r\n \r\n {pas.intendedAudience ?? application.groupedAgeTags.join(\", \")}\r\n \r\n );\r\n}\r\n\r\nfunction getCommentPreview(planningComment: PlanningComment): string {\r\n const commentPreviewMaxLength = 256;\r\n if (planningComment.comment.length > commentPreviewMaxLength) {\r\n return planningComment.comment.slice(0, commentPreviewMaxLength) + \"...\";\r\n } else return planningComment.comment;\r\n}\r\n\r\nexport default PlanningOverviewTableRow;\r\n","import React from \"react\";\r\nimport { Caption, CaptionProps, DayPicker } from \"react-day-picker\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { getMonthsBetween, getWeekDayName, isSameDay } from \"../../../common/dateUtils\";\r\nimport NoScrollCalenderCaptions from \"../../Common/Calender/NoScrollCalenderCaptions\";\r\nimport { Accordion } from \"react-bootstrap\";\r\n\r\ntype AvailableSiteDateAccordionItemProps = {\r\n availableSiteDates: AvailableSiteDate[];\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nexport default function AvailableSiteDateAccordionItem({\r\n availableSiteDates,\r\n applicationPeriod\r\n}: AvailableSiteDateAccordionItemProps) {\r\n const displayedMonths: Date[] = getMonthsBetween(applicationPeriod.occasionsFrom, applicationPeriod.occasionsTo);\r\n\r\n const calenderElements = displayedMonths.map((month) => (\r\n
\r\n availableSiteDates.some((sa) => isSameDay(sa.availableDate, d))}\r\n />\r\n
\r\n ));\r\n\r\n return (\r\n \r\n \r\n Tillgänglighet\r\n \r\n \r\n
{calenderElements}
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport Site from \"../../../types/Site\";\r\nimport { pageLoadErrorMessage } from \"../../../common/errorMessages\";\r\nimport LoadingSpinner from \"../../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../../Common/Messages/ErrorMessage\";\r\nimport SiteApplicationSelectionTableRow from \"./SiteApplicationSelectionTableRow\";\r\nimport {\r\n deletePlannedApplicationSite,\r\n fetchApplicationPeriod,\r\n fetchAvailableSiteDatesForSiteAndApplicationPeriod,\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId,\r\n fetchBlockedDatesByApplicationPeriodId,\r\n fetchPlannedApplicationSitesByApplicationPeriodId,\r\n fetchPlanningCommentsByApplicationPeriodId,\r\n fetchSiteById,\r\n fetchSitesWithPlannedOccasions,\r\n fetchViableApplicationsForSite,\r\n postPlannedApplicationSite\r\n} from \"../../../common/apiClient\";\r\nimport SiteDetailsAccordionItem from \"./SiteDetailsAccordionItem\";\r\nimport AvailableSiteDateAccordionItem from \"./AvailableSiteDateAccordionItem\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { Accordion, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\nimport PlanningModal from \"../PlanningModal\";\r\nimport { isSameDay } from \"../../../common/dateUtils\";\r\nimport SiteApplicationSelectionFilter, {\r\n SiteApplicationSelectionFilterOptions\r\n} from \"./SiteApplicationSelectionFilter\";\r\nimport {\r\n applySiteApplicationSelectionFilter,\r\n getAdjustedAgeTagsWithSelectedOccasions\r\n} from \"../../../common/applicationUtils\";\r\nimport { hasTwoOccasions, sortPlannedApplicationSites } from \"../../../common/planningUtils\";\r\nimport PlanningOverviewAccordionItem from \"../PlanningOverviewAccordionItem\";\r\nimport PlanningComment from \"../../../types/PlanningComment\";\r\nimport { toGroupedAgeTags } from \"../../../common/stringUtils\";\r\n\r\ntype SiteApplicationSelectionProps = {\r\n siteId: number;\r\n applicationPeriodId: number;\r\n canManagePlanning: boolean;\r\n};\r\n\r\nexport default function SiteApplicationSelection({\r\n siteId,\r\n applicationPeriodId,\r\n canManagePlanning\r\n}: SiteApplicationSelectionProps) {\r\n const [site, setSite] = useState();\r\n const [availableSiteDates, setAvailableSiteDates] = useState();\r\n const [availableSiteTime, setAvailableSiteTime] = useState();\r\n const [viableApplications, setViableApplications] = useState([]);\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [blockedDates, setBlockedDates] = useState([])\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [modalApplicationId, setModalApplicationId] = useState(0);\r\n const [selectedFilterOptions, setSelectedFilterOptions] = useState();\r\n const [showPlanningModal, setShowPlanningModal] = useState(false);\r\n const [planningComments, setPlanningComments] = useState([]);\r\n const [modalDefaultDate, setModalDefaultDate] = useState();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n siteFetchResult,\r\n sitesWithPlannedOccasionsFetchResult,\r\n viableApplicationsFetchResult,\r\n availableSiteDatesFetchResult,\r\n applicationPeriodFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n availableSiteTimeFetchResult,\r\n planningCommentsFetchResult,\r\n blockedDatesFetchResult\r\n ] = await Promise.all([\r\n fetchSiteById(siteId),\r\n fetchSitesWithPlannedOccasions(applicationPeriodId),\r\n fetchViableApplicationsForSite(siteId, applicationPeriodId),\r\n fetchAvailableSiteDatesForSiteAndApplicationPeriod(siteId, applicationPeriodId),\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchPlannedApplicationSitesByApplicationPeriodId(applicationPeriodId),\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId(siteId, applicationPeriodId),\r\n fetchPlanningCommentsByApplicationPeriodId(applicationPeriodId),\r\n fetchBlockedDatesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (siteFetchResult.errorMessage) {\r\n console.error(siteFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (sitesWithPlannedOccasionsFetchResult.errorMessage) {\r\n console.error(sitesWithPlannedOccasionsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (viableApplicationsFetchResult.errorMessage) {\r\n console.error(viableApplicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteDatesFetchResult.errorMessage) {\r\n console.error(viableApplicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteTimeFetchResult.errorMessage) {\r\n console.error(availableSiteTimeFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (planningCommentsFetchResult.errorMessage) {\r\n console.error(planningCommentsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n siteFetchResult.value.availableSiteDates = availableSiteDatesFetchResult.value;\r\n\r\n viableApplicationsFetchResult.value.forEach((a) => {\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(a, false);\r\n\r\n a.groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n });\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n pas.site = sitesWithPlannedOccasionsFetchResult.value.find((s) => s.id === pas.siteId);\r\n pas.application = viableApplicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n });\r\n\r\n setSite(siteFetchResult.value);\r\n setViableApplications(viableApplicationsFetchResult.value);\r\n setAvailableSiteDates(availableSiteDatesFetchResult.value);\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setPlannedApplicationSites(sortPlannedApplicationSites(plannedApplicationSitesFetchResult.value));\r\n setAvailableSiteTime(availableSiteTimeFetchResult.value);\r\n setPlanningComments(planningCommentsFetchResult.value);\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n setIsLoading(false);\r\n\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const selectedDateQueryParam = urlSearchParams.get(\"selectedDate\");\r\n const selectedApplicationIdQueryParam = urlSearchParams.get(\"selectedApplicationId\");\r\n\r\n if (selectedApplicationIdQueryParam) {\r\n const selectedApplicationId = Number.parseInt(selectedApplicationIdQueryParam);\r\n if (!viableApplicationsFetchResult.value.some((a) => a.id === selectedApplicationId)) {\r\n return;\r\n }\r\n\r\n setModalApplicationId(selectedApplicationId);\r\n\r\n if (selectedDateQueryParam) {\r\n const selectedDate = new Date(selectedDateQueryParam);\r\n setModalDefaultDate(selectedDate);\r\n setShowPlanningModal(true);\r\n }\r\n }\r\n };\r\n\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const tableRowClickHandler = (application: Application) => {\r\n setModalApplicationId(application.id);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const hidePlanningModalHandler = () => {\r\n setShowPlanningModal(false);\r\n setModalDefaultDate(null);\r\n };\r\n\r\n const plannedApplicationSiteAddedHandler = async (addedPAS: PlannedApplicationSite) => {\r\n const temporaryId = 0;\r\n addedPAS.id = temporaryId;\r\n\r\n setPlannedApplicationSites((prevValues) => sortPlannedApplicationSites([...prevValues, addedPAS]));\r\n\r\n const numberOfAddedOccasions = hasTwoOccasions(addedPAS) ? 2 : 1;\r\n\r\n const plannedDateWasAvailableForSite = availableSiteDates.some(\r\n (asd) => asd.siteId === addedPAS.siteId && isSameDay(asd.availableDate, addedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite) {\r\n setSite((prevValue) => ({\r\n ...prevValue,\r\n remainingNumberOfAvailableSiteDates: prevValue.remainingNumberOfAvailableSiteDates - 1\r\n }));\r\n }\r\n\r\n setViableApplications((prevValues) =>\r\n prevValues.map((a) =>\r\n a.id === addedPAS.applicationId\r\n ? { ...a, numberOfPlannedOccasions: a.numberOfPlannedOccasions + numberOfAddedOccasions }\r\n : a\r\n )\r\n );\r\n\r\n const postResult = await postPlannedApplicationSite(addedPAS);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när evenemanget skulle programläggas. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n return;\r\n }\r\n\r\n const postedPlannedApplicationSiteId = postResult.value;\r\n\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.map((pas) => (pas.id === temporaryId ? { ...pas, id: postedPlannedApplicationSiteId } : pas))\r\n );\r\n };\r\n\r\n const plannedApplicationSiteRemovedHandler = async (removedPAS: PlannedApplicationSite) => {\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.filter(\r\n (pas) =>\r\n pas.siteId !== removedPAS.siteId ||\r\n pas.applicationId !== removedPAS.applicationId ||\r\n !isSameDay(pas.occasion1Starts, removedPAS.occasion1Starts)\r\n )\r\n );\r\n\r\n const numberOfRemovedOccasions = hasTwoOccasions(removedPAS) ? 2 : 1;\r\n setViableApplications((prevValues) =>\r\n prevValues.map((a) =>\r\n a.id === removedPAS.applicationId\r\n ? { ...a, numberOfPlannedOccasions: a.numberOfPlannedOccasions - numberOfRemovedOccasions }\r\n : a\r\n )\r\n );\r\n\r\n const plannedDateWasAvailableForSite = availableSiteDates.some(\r\n (asd) => asd.siteId === removedPAS.siteId && isSameDay(asd.availableDate, removedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite && plannedDateWasAvailableForSite) {\r\n setSite((prevValue) => ({\r\n ...prevValue,\r\n remainingNumberOfAvailableSiteDates: prevValue.remainingNumberOfAvailableSiteDates + 1\r\n }));\r\n }\r\n\r\n const deleteResult = await deletePlannedApplicationSite(removedPAS);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället skulle tas bort. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n }\r\n };\r\n\r\n const selectedFilterOptionsChangeHandler = (\r\n updatedProperty: keyof SiteApplicationSelectionFilterOptions,\r\n updatedValue: any\r\n ) => {\r\n setSelectedFilterOptions((prevValue) => ({ ...prevValue, [updatedProperty]: updatedValue }));\r\n };\r\n\r\n const overviewDateClickHandler = (clickedDate: Date, siteId: number, applicationId: number) => {\r\n setModalDefaultDate(clickedDate);\r\n setModalApplicationId(applicationId);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const pasForSite = plannedApplicationSites.filter((pas) => pas.siteId === siteId);\r\n\r\n const filteredApplications = applySiteApplicationSelectionFilter(viableApplications, selectedFilterOptions);\r\n\r\n const applicationTableRows = filteredApplications.map((a) => (\r\n tableRowClickHandler(a)} />\r\n ));\r\n\r\n const modalApplication = viableApplications.find((a) => a.id === modalApplicationId);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Programläggning: {site.name} - {site.roomName}\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {applicationTableRows}\r\n
AktörEvenemangMålgrupperMatchning\r\n Tillfällen totalt\r\n \r\n Antalet tillfällen av evenemanget som valdes under urvalsprocessen.\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n Ej programlagda\r\n \r\n Antalet tillfällen av evenemanget som fortfarande måste\r\n programläggas.\r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { isSameDay, toDayAndMonthString } from \"../../../common/dateUtils\";\r\nimport DateFilterModal from \"../DateFilterModal\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\n\r\nexport type SiteApplicationSelectionFilterOptions = {\r\n searchText: string;\r\n possibleOccasionDates: Date[];\r\n};\r\n\r\ntype SiteApplicationSelectionFilterProps = {\r\n selectedFilterOptions: SiteApplicationSelectionFilterOptions;\r\n onSelectedFilterOptionsChange: (\r\n updatedProperty: keyof SiteApplicationSelectionFilterOptions,\r\n updatedValue: any\r\n ) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nfunction SiteApplicationSelectionFilter({\r\n selectedFilterOptions,\r\n onSelectedFilterOptionsChange,\r\n applicationPeriod\r\n}: SiteApplicationSelectionFilterProps) {\r\n const [showDateModal, setShowDateModal] = useState(false);\r\n\r\n const dateAddedHandler = (addedDate: Date) => {\r\n const previousAvailableDates = selectedFilterOptions?.possibleOccasionDates ?? [];\r\n\r\n const updatedDates = [...previousAvailableDates, addedDate].sort((a, b) => a.getTime() - b.getTime());\r\n\r\n onSelectedFilterOptionsChange(\"possibleOccasionDates\", updatedDates);\r\n };\r\n\r\n const dateRemovedHandler = (removedDate: Date) => {\r\n const updatedDates = selectedFilterOptions.possibleOccasionDates.filter((d) => !isSameDay(d, removedDate));\r\n\r\n onSelectedFilterOptionsChange(\"possibleOccasionDates\", updatedDates);\r\n };\r\n\r\n const possibleOccasionDates = selectedFilterOptions?.possibleOccasionDates ?? [];\r\n const possibleOccasionDatesString = possibleOccasionDates.map((d) => toDayAndMonthString(d)).join(\", \");\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"searchText\", event.target.value)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n setShowDateModal(true)}\r\n value={possibleOccasionDatesString}\r\n />\r\n
\r\n setShowDateModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n setShowDateModal(false)}\r\n selectedDates={selectedFilterOptions?.possibleOccasionDates ?? []}\r\n show={showDateModal}\r\n applicationPeriod={applicationPeriod}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default SiteApplicationSelectionFilter;\r\n","import React, { CSSProperties } from \"react\";\r\nimport Application from \"../../../types/Application\";\r\nimport { getTotalNumberOfOccasionsFromSelection } from \"../../../common/applicationUtils\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ntype SiteApplicationSelectionTableRowProps = {\r\n application: Application;\r\n onTableRowClick: () => void;\r\n};\r\n\r\nconst iconStyles: CSSProperties = {\r\n fontSize: 20\r\n};\r\n\r\nfunction SiteApplicationSelectionTableRow({ application, onTableRowClick }: SiteApplicationSelectionTableRowProps) {\r\n const remainingNumberOfOccasionsToPlan = Math.max(\r\n 0,\r\n getTotalNumberOfOccasionsFromSelection(application) - application.numberOfPlannedOccasions\r\n );\r\n\r\n return (\r\n \r\n {application.actorName}\r\n {application.document.eventName}\r\n {application.groupedAgeTags.join(\", \")}\r\n \r\n {application.hasMatchingTechnology && (\r\n Spelplatsen uppfyller evenemangets teknikkrav}\r\n >\r\n \r\n \r\n )}\r\n {application.hasMatchingDimensions && (\r\n Spelplatsen uppfyller evenemangets dimensionskrav}\r\n >\r\n \r\n \r\n )}\r\n\r\n {application.hasMatchingDates && (\r\n Spelplatsen och evenemanget har gemensamma möjliga datum}\r\n >\r\n \r\n \r\n )}\r\n {application.hasMatchingSiteType && (\r\n Spelplatsen uppfyller evenemangets krav på typ av spelplats}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SiteApplicationSelectionTableRow;\r\n","import React from \"react\";\r\nimport Site from \"../../../types/Site\";\r\nimport { SiteType } from \"../../../common/enums\";\r\nimport { Accordion } from \"react-bootstrap\";\r\n\r\ntype SiteDetailsAccordionProps = {\r\n site: Site;\r\n};\r\n\r\nexport default function SiteDetailsAccordionItem({ site }: SiteDetailsAccordionProps) {\r\n return (\r\n \r\n \r\n Information om spelplats\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Vilken befintlig teknik finns i lokalen?\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Spelyta\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { SitePlanningStatus } from \"../../../common/enums\";\r\nimport { isSameDay, toDayAndMonthString } from \"../../../common/dateUtils\";\r\nimport DateFilterModal from \"../DateFilterModal\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\n\r\nexport type SitePlanningFilterOptions = {\r\n searchText?: string;\r\n sitePlanningStatus?: SitePlanningStatus;\r\n availableDates?: Date[];\r\n};\r\n\r\ntype SitePlanningFilterProps = {\r\n selectedFilterOptions: SitePlanningFilterOptions;\r\n onSelectedFilterOptionsChange: (updatedProperty: keyof SitePlanningFilterOptions, updatedValue: any) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n};\r\n\r\nconst sitePlanningStatusOptions = Object.values(SitePlanningStatus).map((status) => (\r\n \r\n));\r\n\r\nfunction SitePlanningFilter({\r\n selectedFilterOptions,\r\n onSelectedFilterOptionsChange,\r\n applicationPeriod\r\n}: SitePlanningFilterProps) {\r\n const [showDateModal, setShowDateModal] = useState(false);\r\n\r\n const dateAddedHandler = (addedDate: Date) => {\r\n const previousAvailableDates = selectedFilterOptions?.availableDates ?? [];\r\n\r\n const updatedDates = [...previousAvailableDates, addedDate].sort((a, b) => a.getTime() - b.getTime());\r\n\r\n onSelectedFilterOptionsChange(\"availableDates\", updatedDates);\r\n };\r\n\r\n const dateRemovedHandler = (removedDate: Date) => {\r\n const updatedDates = selectedFilterOptions.availableDates.filter((d) => !isSameDay(d, removedDate));\r\n\r\n onSelectedFilterOptionsChange(\"availableDates\", updatedDates);\r\n };\r\n\r\n const availableDates = selectedFilterOptions?.availableDates ?? [];\r\n\r\n const availableDatesString = availableDates.map((d) => toDayAndMonthString(d)).join(\", \");\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"searchText\", event.target.value)}\r\n />\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"sitePlanningStatus\", event.target.value)}\r\n >\r\n \r\n {sitePlanningStatusOptions}\r\n \r\n
\r\n
\r\n \r\n
\r\n setShowDateModal(true)}\r\n value={availableDatesString}\r\n />\r\n
\r\n setShowDateModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n setShowDateModal(false)}\r\n selectedDates={selectedFilterOptions?.availableDates ?? []}\r\n show={showDateModal}\r\n applicationPeriod={applicationPeriod}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default SitePlanningFilter;\r\n","import React from \"react\";\r\nimport Site from \"../../../types/Site\";\r\n\r\ntype SiteTableRowProps = {\r\n site: Site;\r\n applicationPeriodId: number;\r\n};\r\n\r\nfunction SiteTableRow({ site, applicationPeriodId }: SiteTableRowProps) {\r\n const rowClickHandler = () => {\r\n window.location.href = `/sites/${site.id}/applicationSelection/${applicationPeriodId}`;\r\n };\r\n \r\n return (\r\n \r\n {site.name}\r\n {site.roomName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SiteTableRow;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ApplicationPeriod from \"../../../types/ApplicationPeriod\";\r\nimport { pageLoadErrorMessage } from \"../../../common/errorMessages\";\r\nimport LoadingSpinner from \"../../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../../Common/Messages/ErrorMessage\";\r\nimport Site from \"../../../types/Site\";\r\nimport { applySitePlanningFilter } from \"../../../common/siteUtils\";\r\nimport SiteTableRow from \"./SiteTableRow\";\r\nimport InfoMessage from \"../../Common/Messages/InfoMessage\";\r\nimport {\r\n deletePlannedApplicationSite,\r\n fetchApplicationPeriod,\r\n fetchApplicationsWithPlannedOccasions,\r\n fetchAvailableSiteDatesByApplicationPeriodId,\r\n fetchBlockedDatesByApplicationPeriodId,\r\n fetchPlanningCommentsByApplicationPeriodId,\r\n fetchSitesForSitePlanning,\r\n postPlannedApplicationSite\r\n} from \"../../../common/apiClient\";\r\nimport { Accordion, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SitePlanningFilter, { SitePlanningFilterOptions } from \"./SitePlanningFilter\";\r\nimport PlanningOverviewAccordionItem from \"../PlanningOverviewAccordionItem\";\r\nimport PlannedApplicationSite from \"../../../types/PlannedApplicationSite\";\r\nimport PlanningComment from \"../../../types/PlanningComment\";\r\nimport { getAdjustedAgeTagsWithSelectedOccasions } from \"../../../common/applicationUtils\";\r\nimport { toGroupedAgeTags } from \"../../../common/stringUtils\";\r\nimport { hasTwoOccasions, sortPlannedApplicationSites } from \"../../../common/planningUtils\";\r\nimport PlanningModal from \"../PlanningModal\";\r\nimport Application from \"../../../types/Application\";\r\nimport { isSameDay } from \"../../../common/dateUtils\";\r\n\r\ntype SitePlanningProps = {\r\n applicationPeriodId: number;\r\n canManagePlanning: boolean;\r\n};\r\n\r\nfunction SitePlanning({ applicationPeriodId, canManagePlanning }: SitePlanningProps) {\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [sites, setSites] = useState([]);\r\n const [applications, setApplications] = useState([]);\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [selectedFilterOptions, setFilter] = useState();\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [planningComments, setPlanningComments] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [modalApplicationId, setModalApplicationId] = useState();\r\n const [modalSiteId, setModalSiteId] = useState();\r\n const [modalDefaultDate, setModalDefaultDate] = useState();\r\n const [showPlanningModal, setShowPlanningModal] = useState(false);\r\n const [blockedDates, setBlockedDates] = useState([])\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n applicationPeriodFetchResult,\r\n sitesFetchResult,\r\n applicationsFetchResult,\r\n planningCommentsFetchResult,\r\n availableSiteDatesFetchResult,\r\n blockedDatesFetchResult\r\n ] = await Promise.all([\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchSitesForSitePlanning(applicationPeriodId),\r\n fetchApplicationsWithPlannedOccasions(applicationPeriodId),\r\n fetchPlanningCommentsByApplicationPeriodId(applicationPeriodId),\r\n fetchAvailableSiteDatesByApplicationPeriodId(applicationPeriodId),\r\n fetchBlockedDatesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationsFetchResult.errorMessage) {\r\n console.error(applicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (planningCommentsFetchResult.errorMessage) {\r\n console.error(planningCommentsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteDatesFetchResult.errorMessage) {\r\n console.error(availableSiteDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n applicationsFetchResult.value.forEach((a) => {\r\n const adjustedAgeTags = getAdjustedAgeTagsWithSelectedOccasions(a, false);\r\n a.groupedAgeTags = toGroupedAgeTags(adjustedAgeTags);\r\n });\r\n\r\n sitesFetchResult.value.forEach((site) => {\r\n site.availableSiteDates = availableSiteDatesFetchResult.value.filter((asd) => asd.siteId === site.id);\r\n site.plannedApplicationSites.forEach((pas) => {\r\n pas.application = applicationsFetchResult.value.find(\r\n (application) => application.id === pas.applicationId\r\n );\r\n });\r\n });\r\n\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setSites(sitesFetchResult.value);\r\n setApplications(applicationsFetchResult.value);\r\n setPlannedApplicationSites(\r\n sortPlannedApplicationSites(sitesFetchResult.value.flatMap((s) => s.plannedApplicationSites))\r\n );\r\n setPlanningComments(planningCommentsFetchResult.value);\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n if (sites.length === 0) {\r\n return (\r\n <>\r\n
\r\n

\r\n Programläggning - spelplatser: spelperiod {applicationPeriod.occasionsFrom.toLocaleDateString()}{\" \"}\r\n till {applicationPeriod.occasionsTo.toLocaleDateString()}\r\n

\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n const selectedFilterOptionsChangeHandler = (\r\n updatedProperty: keyof SitePlanningFilterOptions,\r\n updatedValue: any\r\n ) => {\r\n setFilter((prevValue) => ({ ...prevValue, [updatedProperty]: updatedValue }));\r\n };\r\n\r\n const modalApplication = modalApplicationId ? applications.find((a) => a.id === modalApplicationId) : null;\r\n const modalSite = modalSiteId ? sites.find((s) => s.id === modalSiteId) : null;\r\n\r\n const plannedApplicationSiteAddedHandler = async (addedPAS: PlannedApplicationSite) => {\r\n const temporaryId = 0;\r\n addedPAS.id = temporaryId;\r\n\r\n setPlannedApplicationSites((prevValues) => sortPlannedApplicationSites([...prevValues, addedPAS]));\r\n\r\n const numberOfAddedOccasions = hasTwoOccasions(addedPAS) ? 2 : 1;\r\n\r\n const plannedDateWasAvailableForSite = modalSite.availableSiteDates.some(\r\n (asd) => asd.siteId === addedPAS.siteId && isSameDay(asd.availableDate, addedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite) {\r\n const updatedSite: Site = {\r\n ...modalSite,\r\n remainingNumberOfAvailableSiteDates: modalSite.remainingNumberOfAvailableSiteDates - 1\r\n };\r\n\r\n setSites((prevValue) => prevValue.map((s) => (s.id === modalSiteId ? updatedSite : s)));\r\n }\r\n\r\n const updatedApplication: Application = {\r\n ...modalApplication,\r\n numberOfPlannedOccasions: modalApplication.numberOfPlannedOccasions + numberOfAddedOccasions\r\n };\r\n\r\n setApplications((prevValues) => prevValues.map((a) => (a.id === modalApplicationId ? updatedApplication : a)));\r\n\r\n const postResult = await postPlannedApplicationSite(addedPAS);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället sparades. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n return;\r\n }\r\n\r\n const postedPlannedApplicationSiteId = postResult.value;\r\n\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.map((pas) => (pas.id === temporaryId ? { ...pas, id: postedPlannedApplicationSiteId } : pas))\r\n );\r\n };\r\n\r\n const plannedApplicationSiteRemovedHandler = async (removedPAS: PlannedApplicationSite) => {\r\n setPlannedApplicationSites((prevValues) =>\r\n prevValues.filter(\r\n (pas) =>\r\n pas.siteId !== removedPAS.siteId ||\r\n pas.applicationId !== removedPAS.applicationId ||\r\n !isSameDay(pas.occasion1Starts, removedPAS.occasion1Starts)\r\n )\r\n );\r\n\r\n const numberOfRemovedOccasions = hasTwoOccasions(removedPAS) ? 2 : 1;\r\n const updatedApplication: Application = {\r\n ...modalApplication,\r\n numberOfPlannedOccasions: modalApplication.numberOfPlannedOccasions - numberOfRemovedOccasions\r\n };\r\n\r\n setApplications((prevValue) => prevValue.map((a) => (a.id === modalApplicationId ? updatedApplication : a)));\r\n\r\n const plannedDateWasAvailableForSite = modalSite.availableSiteDates.some(\r\n (asd) => asd.siteId === removedPAS.siteId && isSameDay(asd.availableDate, removedPAS.occasion1Starts)\r\n );\r\n\r\n if (plannedDateWasAvailableForSite) {\r\n const updatedSite: Site = {\r\n ...modalSite,\r\n remainingNumberOfAvailableSiteDates: modalSite.remainingNumberOfAvailableSiteDates + 1\r\n };\r\n\r\n setSites((prevValue) => prevValue.map((s) => (s.id === modalSiteId ? updatedSite : s)));\r\n }\r\n\r\n const deleteResult = await deletePlannedApplicationSite(removedPAS);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n setErrorMessage(\r\n \"Något gick fel när det programlagda tillfället skulle tas bort. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n }\r\n };\r\n\r\n const overviewDateClickHandler = (clickedDate: Date, clickedRowSiteId: number, clickedRowApplicationId: number) => {\r\n setModalDefaultDate(clickedDate);\r\n setModalSiteId(clickedRowSiteId);\r\n setModalApplicationId(clickedRowApplicationId);\r\n setShowPlanningModal(true);\r\n };\r\n\r\n const filteredSites = applySitePlanningFilter(sites, selectedFilterOptions);\r\n\r\n const siteTableRows = filteredSites.map((s) => (\r\n \r\n ));\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Programläggning - spelplatser: spelperiod {applicationPeriod.occasionsFrom.toLocaleDateString()}{\" \"}\r\n till {applicationPeriod.occasionsTo.toLocaleDateString()}\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {siteTableRows}\r\n
PlatsLokalnamn\r\n Tillgängliga datum\r\n \r\n Det totala antalet datum som kan programläggas på spelplatsen.\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n Ej programlagda\r\n \r\n Det återstående antalet datum som kan programläggas på spelplatsen.\r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n 0 ? modalSite.availableSiteTimes[0] : null\r\n }\r\n canManagePlanning={canManagePlanning}\r\n onAddPlannedApplicationSite={plannedApplicationSiteAddedHandler}\r\n onError={setErrorMessage}\r\n onHide={() => setShowPlanningModal(false)}\r\n onPlannedApplicationSitesChange={setPlannedApplicationSites}\r\n onPlanningCommentsChange={setPlanningComments}\r\n onRemovePlannedApplicationSite={plannedApplicationSiteRemovedHandler}\r\n plannedApplicationSites={plannedApplicationSites}\r\n planningComments={planningComments}\r\n show={showPlanningModal}\r\n defaultDate={modalDefaultDate}\r\n blockedDates={blockedDates}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default SitePlanning;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport { postAdjustedOccasionPrice } from \"../../common/apiClient\";\r\n\r\nexport const adjustPriceModalId = \"adjust-price-modal\";\r\n\r\ntype AdjustPriceModalProps = {\r\n application: Application;\r\n show: boolean;\r\n onHide: () => void;\r\n onApplicationChange: (application: Application) => void;\r\n onError: (errorMessage: string) => void;\r\n};\r\n\r\nfunction AdjustPriceModal({ application, show, onHide, onApplicationChange, onError }: AdjustPriceModalProps) {\r\n const [adjustedOccasionPriceInput, setAdjustedOccasionPriceInput] = useState(\r\n application && (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) ? application.adjustedOccasionPrice.toString() : \"\"\r\n );\r\n const [priceIsSaved, setPriceIsSaved] = useState(false);\r\n\r\n useEffect(() => {\r\n setPriceIsSaved(false);\r\n\r\n setAdjustedOccasionPriceInput(\r\n application && (application.adjustedOccasionPrice || application.adjustedOccasionPrice === 0) ? application.adjustedOccasionPrice.toString() : \"\"\r\n );\r\n }, [show]);\r\n\r\n if (!application) return <>;\r\n\r\n const saveAdjustedPriceHandler = async () => {\r\n let adjustedOccasionPrice: number | undefined = undefined;\r\n if (adjustedOccasionPriceInput !== \"\") {\r\n adjustedOccasionPrice = Number.parseInt(adjustedOccasionPriceInput);\r\n }\r\n\r\n application.adjustedOccasionPrice = adjustedOccasionPrice;\r\n onApplicationChange(application);\r\n\r\n const postResult = await postAdjustedOccasionPrice(application.id, adjustedOccasionPrice);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n onError(\"Något gick fel när priset uppdaterades. Kontakta support om problemet kvarstår.\");\r\n return;\r\n }\r\n\r\n setPriceIsSaved(true);\r\n };\r\n\r\n const adjustedOccasionPriceChangeHandler = (event: React.ChangeEvent) => {\r\n setPriceIsSaved(false);\r\n setAdjustedOccasionPriceInput(event.target.value);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n {priceIsSaved ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n
Prisinformation från intresseanmälan
\r\n
\r\n {\" \"}\r\n Evenemanget erbjuds på fast scen/egen regi\r\n {application.document.isOwnStage && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n
\r\n {\" \"}\r\n Evenemanget erbjuds som uppsökande evenemang\r\n {application.document.isVisiting && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n {application.document.priceComment && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdjustPriceModal;\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Application from \"../../types/Application\";\r\nimport { AgeTag, TargetGroup } from \"../../common/enums\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport {\r\n getAdjustedAgeTagsByTargetGroup,\r\n getAgeTagsByTargetGroup,\r\n targetGroupNames\r\n} from \"../../common/applicationUtils\";\r\nimport { deleteAdjustedSelectionAgeTag, postAdjustedSelectionAgeTag } from \"../../common/apiClient\";\r\nimport AdjustedSelectionAgeTag from \"../../types/AdjustedSelectionAgeTag\";\r\nimport { toGroupedAgeTags } from \"../../common/stringUtils\";\r\n\r\ntype AdjustSelectionAgeTagsModalProps = {\r\n show: boolean;\r\n onHide: () => void;\r\n application: Application;\r\n targetGroup: TargetGroup;\r\n isCulturalManagement: boolean;\r\n onApplicationChange: (updatedApplication: Application) => void;\r\n onError: (errorMessage: string) => void;\r\n};\r\n\r\nfunction AdjustSelectionAgeTagsModal({\r\n show,\r\n onHide,\r\n application,\r\n targetGroup,\r\n isCulturalManagement,\r\n onApplicationChange,\r\n onError\r\n}: AdjustSelectionAgeTagsModalProps) {\r\n const checkboxChangeHandler = async (e: React.ChangeEvent) => {\r\n const affectedAgeTag = e.target.value;\r\n\r\n const existingAdjustedSelectionAgeTag = application.adjustedSelectionAgeTags.find(\r\n (a) =>\r\n a.ageTag === affectedAgeTag &&\r\n a.isCulturalManagement === isCulturalManagement &&\r\n a.adjustedIn === targetGroup\r\n );\r\n\r\n if (existingAdjustedSelectionAgeTag) {\r\n const updatedApplication = {\r\n ...application,\r\n adjustedSelectionAgeTags: application.adjustedSelectionAgeTags.filter(\r\n (a) => a.id !== existingAdjustedSelectionAgeTag.id\r\n )\r\n };\r\n\r\n onApplicationChange(updatedApplication);\r\n\r\n const deleteResult = await deleteAdjustedSelectionAgeTag(existingAdjustedSelectionAgeTag.id);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n onError(deleteResult.errorMessage);\r\n }\r\n\r\n return;\r\n }\r\n\r\n const tempId = -1;\r\n\r\n const isChecked = e.target.checked;\r\n\r\n const newAdjustedSelectionAgeTag: AdjustedSelectionAgeTag = {\r\n applicationId: application.id,\r\n ageTag: affectedAgeTag as AgeTag,\r\n id: tempId,\r\n isCulturalManagement: isCulturalManagement,\r\n isTargeted: isChecked,\r\n adjustedIn: targetGroup\r\n };\r\n\r\n const updatedApplication = {\r\n ...application,\r\n adjustedSelectionAgeTags: [...application.adjustedSelectionAgeTags, newAdjustedSelectionAgeTag]\r\n };\r\n\r\n onApplicationChange(updatedApplication);\r\n\r\n const postResult = await postAdjustedSelectionAgeTag(newAdjustedSelectionAgeTag);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n onError(postResult.errorMessage);\r\n return;\r\n }\r\n\r\n const createdId = postResult.value;\r\n\r\n const adjustedSelectionAgeTagWithId: AdjustedSelectionAgeTag = { ...newAdjustedSelectionAgeTag, id: createdId };\r\n\r\n onApplicationChange({\r\n ...updatedApplication,\r\n adjustedSelectionAgeTags: [...application.adjustedSelectionAgeTags, adjustedSelectionAgeTagWithId]\r\n });\r\n };\r\n\r\n const ageTagsForTargetGroup = getAgeTagsByTargetGroup(targetGroup);\r\n\r\n let selectedAgeTags = [...application.document.ageTags];\r\n\r\n application.adjustedSelectionAgeTags.forEach((asat) => {\r\n if (asat.isCulturalManagement !== isCulturalManagement || asat.adjustedIn !== targetGroup) return;\r\n\r\n if (!asat.isTargeted) {\r\n selectedAgeTags = selectedAgeTags.filter((a) => a !== asat.ageTag);\r\n } else {\r\n selectedAgeTags.push(asat.ageTag);\r\n }\r\n });\r\n\r\n const ageTagOptions = ageTagsForTargetGroup.map((ageTag) => {\r\n const checked = selectedAgeTags.some((applicationAgeTag) => applicationAgeTag === ageTag);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n });\r\n\r\n const applicationAgeTags = ageTagsForTargetGroup.map((ageTag) => {\r\n const checked = application.document.ageTags.some((applicationAgeTag) => applicationAgeTag === ageTag);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n

Justera målgrupper för \"{application.document.eventName}\"

\r\n
\r\n \r\n \r\n \r\n
{ageTagOptions}
\r\n\r\n \r\n
{applicationAgeTags}
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AdjustSelectionAgeTagsModal;\r\n","import React from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { adjustPriceModalId } from \"./AdjustPriceModal\";\r\nimport { AgeTag, TargetGroup } from \"../../common/enums\";\r\nimport {\r\n getAdjustedAgeTagsByTargetGroup,\r\n getApplicationTargetGroupExclusion\r\n} from \"../../common/applicationUtils\";\r\nimport { toGroupedAgeTags } from \"../../common/stringUtils\";\r\n\r\ntype ApplicationDetailsPopupProps = {\r\n application: Application;\r\n show: boolean;\r\n onHide: () => void;\r\n onShowAdjustPriceModal: () => void;\r\n onShowSelectionCommentModal: () => void;\r\n onShowApplicationSelectionColorModal: () => void;\r\n onShowAdjustSelectionAgeTagsModal: () => void;\r\n targetGroup: TargetGroup;\r\n isCulturalManagement: boolean;\r\n onHideApplication: (application: Application) => void;\r\n onShowApplication: (application: Application) => void;\r\n};\r\n\r\nfunction ApplicationDetailsModal({\r\n application,\r\n show,\r\n onHide,\r\n onShowAdjustPriceModal,\r\n onShowSelectionCommentModal,\r\n onShowApplicationSelectionColorModal,\r\n onShowAdjustSelectionAgeTagsModal,\r\n targetGroup,\r\n isCulturalManagement,\r\n onHideApplication,\r\n onShowApplication\r\n}: ApplicationDetailsPopupProps) {\r\n const possibleSites = application.document.possibleSiteTypes;\r\n const schoolSiteRequirements = application.document.school_SiteRequirements;\r\n const librarySiteRequirements = application.document.library_SiteRequirements;\r\n const outdoorsSiteRequirements = application.document.outdoors_SiteRequirements;\r\n\r\n const applicationTargetGroupExclusion = getApplicationTargetGroupExclusion(\r\n application,\r\n targetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n return (\r\n \r\n \r\n

{application.document.eventName}

\r\n
\r\n \r\n
\r\n

Evenemangsinformation

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {application.document.eventDetailsUrl && (\r\n
\r\n
\r\n \r\n
\r\n \r\n {application.document.eventDetailsUrl}\r\n \r\n
\r\n )}\r\n\r\n {application.document.eventVideoUrl && (\r\n
\r\n
\r\n \r\n
\r\n \r\n {application.document.eventVideoUrl}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n

Spelplats

\r\n
\r\n \r\n {\" \"}\r\n Egen scen\r\n \r\n \r\n \r\n Klassrum/Förskola\r\n \r\n \r\n \r\n Kulturhus/Bibliotek\r\n \r\n \r\n \r\n Utomhus\r\n \r\n
\r\n {possibleSites.includes(\"School\") && (\r\n
\r\n
Klassrum/Förskola
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.school_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.school_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.school_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.school_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.school_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n {possibleSites.includes(\"Library\") && (\r\n
\r\n
Kulturhus/Bibliotek
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.library_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.library_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.library_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.library_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.library_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n {possibleSites.includes(\"Outdoors\") && (\r\n
\r\n
Utomhus
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bredd:{\" \"}\r\n {application.document.outdoors_StageWidth} meter\r\n Djup:{\" \"}\r\n {application.document.outdoors_StageDepth} meter\r\n Höjd:{\" \"}\r\n {application.document.outdoors_StageHeight} meter\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\" \"}\r\n PA\r\n \r\n \r\n {\" \"}\r\n Ljus\r\n \r\n \r\n {\" \"}\r\n Ljud\r\n \r\n \r\n \r\n Blackbox\r\n \r\n \r\n \r\n Mörkläggning\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Byggtid:{\" \"}\r\n \r\n {application.document.outdoors_BuildTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n Rivtid:{\" \"}\r\n \r\n {application.document.outdoors_StrikeTime.split(\":\").slice(0, 2).join(\":\")}\r\n \r\n
\r\n
\r\n {\" \"}\r\n Bärhjälp krävs\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n\r\n
\r\n

Prisinformation

\r\n
\r\n {\" \"}\r\n Evenemanget erbjuds på fast scen/egen regi\r\n {application.document.isOwnStage && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n
\r\n {\" \"}\r\n Evenemanget erbjuds som uppsökande evenemang\r\n {application.document.isVisiting && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Gå till intresseanmälan\r\n \r\n {application.isEditable && (\r\n \r\n Redigera\r\n \r\n )}\r\n {application.canAdjustPrice && (\r\n \r\n )}\r\n {application.canAdjustAgeTags && targetGroup !== TargetGroup.Total && (\r\n \r\n )}\r\n {application.canChangeSelectionComment && (\r\n \r\n )}\r\n {application.canChangeSelectionColor && (\r\n \r\n )}\r\n {application.canManageApplicationTargetGroupExclusions &&\r\n targetGroup !== TargetGroup.Total &&\r\n !applicationTargetGroupExclusion && (\r\n \r\n )}\r\n {application.canManageApplicationTargetGroupExclusions &&\r\n targetGroup !== TargetGroup.Total &&\r\n !!applicationTargetGroupExclusion && (\r\n onShowApplication(application)}\r\n >\r\n \r\n Visa\r\n \r\n )}\r\n \r\n
\r\n );\r\n}\r\n\r\nfunction getUrlWithProtocol(url: string) {\r\n if (!/^https?:\\/\\//i.test(url)) {\r\n return \"http://\" + url;\r\n }\r\n return url;\r\n}\r\n\r\nexport default ApplicationDetailsModal;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Application from \"../../types/Application\";\r\nimport { HexColor, TargetGroup } from \"../../common/enums\";\r\nimport ApplicationSelectionColor from \"../../types/ApplicationSelectionColor\";\r\nimport { deleteApplicationSelectionColor, postApplicationSelectionColor } from \"../../common/apiClient\";\r\nimport { getApplicationSelectionColorByTargetGroup } from \"../../common/applicationUtils\";\r\n\r\ntype ApplicationSelectionColorModalProps = {\r\n application: Application;\r\n targetGroup: TargetGroup;\r\n isCulturalManagement: boolean;\r\n show: boolean;\r\n onHide: () => void;\r\n onApplicationChange: (updatedApplication: Application) => void;\r\n onError: (errorMessage: string) => void;\r\n};\r\n\r\nconst allColors = Object.values(HexColor);\r\n\r\nfunction ApplicationSelectionColorModal({\r\n application,\r\n targetGroup,\r\n isCulturalManagement,\r\n show,\r\n onHide,\r\n onApplicationChange,\r\n onError\r\n}: ApplicationSelectionColorModalProps) {\r\n const selectedColor = useMemo(\r\n () => getApplicationSelectionColorByTargetGroup(application, targetGroup, isCulturalManagement),\r\n [application, targetGroup, isCulturalManagement]\r\n );\r\n\r\n const colorButtonClickHandler = async (hexColor: HexColor) => {\r\n if (selectedColor && selectedColor.hexColor === hexColor) {\r\n const updatedApplication: Application = {\r\n ...application,\r\n applicationSelectionColors: [\r\n ...application.applicationSelectionColors.filter(\r\n (asc) => asc.targetGroup !== targetGroup || asc.isCulturalManagement !== isCulturalManagement\r\n )\r\n ]\r\n };\r\n\r\n onApplicationChange(updatedApplication);\r\n\r\n const deleteResult = await deleteApplicationSelectionColor(selectedColor.id);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n onError(\"Något gick fel när färgmarkeringen togs bort. Vänligen uppdatera sidan och försök igen.\");\r\n }\r\n\r\n return;\r\n }\r\n\r\n const applicationSelectionColor: ApplicationSelectionColor = {\r\n applicationId: application.id,\r\n targetGroup: targetGroup,\r\n isCulturalManagement: isCulturalManagement,\r\n hexColor: hexColor\r\n };\r\n\r\n application.applicationSelectionColors = [\r\n ...application.applicationSelectionColors.filter(\r\n (asc) => asc.targetGroup !== targetGroup || asc.isCulturalManagement !== isCulturalManagement\r\n ),\r\n applicationSelectionColor\r\n ];\r\n\r\n onApplicationChange({...application});\r\n\r\n const postResult = await postApplicationSelectionColor(\r\n hexColor,\r\n application.id,\r\n targetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n onError(\"Något gick fel när färgmarkeringen sparades. vänligen ladda om sidan och försök igen.\");\r\n return;\r\n }\r\n\r\n application.applicationSelectionColors = application.applicationSelectionColors.map((asc) =>\r\n asc.targetGroup === targetGroup && asc.isCulturalManagement === isCulturalManagement\r\n ? { ...asc, id: postResult.value }\r\n : asc\r\n );\r\n\r\n onApplicationChange({...application});\r\n };\r\n\r\n const colorOptions = allColors.map((hexColor) => (\r\n colorButtonClickHandler(hexColor)}\r\n >\r\n {\" \"}\r\n \r\n ));\r\n\r\n return (\r\n \r\n \r\n

Färgmarkering för \"{application.document.eventName}\"

\r\n
\r\n \r\n
{colorOptions}
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ApplicationSelectionColorModal;\r\n","import React, { CSSProperties, useEffect } from \"react\";\r\nimport { AgeTag, SiteType, Tag, TargetGroup } from \"../../common/enums\";\r\nimport Application from \"../../types/Application\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\n\r\nexport type SelectedFilterOptions = {\r\n actorName: string;\r\n tag: Tag;\r\n ageTag: AgeTag;\r\n siteType: SiteType;\r\n showHiddenApplications: boolean;\r\n};\r\n\r\ntype FilterProps = {\r\n applications: Application[];\r\n applicationPeriod: ApplicationPeriod;\r\n onSelectedFilterOptionsChange: (updatedProperty: keyof SelectedFilterOptions, updatedValue: any) => void;\r\n selectedFilterOptions: SelectedFilterOptions;\r\n targetGroup: TargetGroup;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nconst tagEntries = Object.entries(Tag);\r\n\r\nconst ageTagEntries = Object.entries(AgeTag).filter((entry) => entry[1] !== AgeTag.SpecialNeedsSchoolOld);\r\n\r\nconst siteTypeEntries = Object.entries(SiteType);\r\n\r\nfunction Filter({\r\n applications,\r\n applicationPeriod,\r\n onSelectedFilterOptionsChange,\r\n selectedFilterOptions,\r\n targetGroup,\r\n isCulturalManagement\r\n}: FilterProps) {\r\n const actorOptions = applications\r\n .map((a) => a.actorName)\r\n .filter((value, index, self) => self.indexOf(value) === index); // This ensures all elements are unique.\r\n\r\n useEffect(() => {\r\n if (\r\n selectedFilterOptions &&\r\n selectedFilterOptions.actorName &&\r\n !actorOptions.includes(selectedFilterOptions.actorName)\r\n ) {\r\n onSelectedFilterOptionsChange(\"actorName\", \"\");\r\n }\r\n }, [applications, selectedFilterOptions]);\r\n\r\n const excelExportUrl = `/api/applicationPeriod/${applicationPeriod.id}/selection/export?${new URLSearchParams(\r\n { ...selectedFilterOptions, showHiddenApplications: \"\" } ?? {}\r\n ).toString()}`;\r\n\r\n const dropdownWidth = targetGroup === TargetGroup.Total && !isCulturalManagement ? \"21%\" : \"18%\";\r\n\r\n return (\r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"actorName\", event.target.value)}\r\n >\r\n \r\n {actorOptions.map((a) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"ageTag\", event.target.value)}\r\n >\r\n \r\n {ageTagEntries.map((entry) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"siteType\", event.target.value)}\r\n >\r\n \r\n {siteTypeEntries.map((entry) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n onSelectedFilterOptionsChange(\"tag\", event.target.value)}\r\n >\r\n \r\n {tagEntries.map((entry) => (\r\n \r\n ))}\r\n \r\n
\r\n {targetGroup !== TargetGroup.Total && (\r\n
\r\n \r\n \r\n onSelectedFilterOptionsChange(\"showHiddenApplications\", event.target.value === \"true\")\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n )}\r\n {targetGroup === TargetGroup.Total && !isCulturalManagement && (\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default Filter;\r\n","import React, { ChangeEvent, useEffect, useState } from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport { TargetGroup } from \"../../common/enums\";\r\nimport { getSelectionCommentByTargetGroup } from \"../../common/applicationUtils\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport SelectionComment from \"../../types/SelectionComment\";\r\nimport { postSelectionComment } from \"../../common/apiClient\";\r\n\r\ntype SelectionCommentModalProps = {\r\n application: Application;\r\n show: boolean;\r\n onHide: () => void;\r\n onApplicationChange: (application: Application) => void;\r\n onError: (errorMessage: string) => void;\r\n targetGroup: TargetGroup;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nfunction SelectionCommentModal({\r\n application,\r\n show,\r\n onHide,\r\n onApplicationChange,\r\n onError,\r\n isCulturalManagement,\r\n targetGroup\r\n}: SelectionCommentModalProps) {\r\n const [comment, setComment] = useState(\"\");\r\n const [commentIsSaved, setCommentIsSaved] = useState(false);\r\n\r\n useEffect(() => {\r\n const commentByTargetGroup = getSelectionCommentByTargetGroup(application, targetGroup, isCulturalManagement);\r\n\r\n setComment(commentByTargetGroup);\r\n }, [application, targetGroup, isCulturalManagement]);\r\n\r\n const commentChangeHandler = (e: ChangeEvent) => {\r\n setComment(e.target.value);\r\n setCommentIsSaved(false);\r\n };\r\n\r\n const saveButtonClickHandler = async () => {\r\n setCommentIsSaved(true);\r\n\r\n const selectionComment: SelectionComment = {\r\n applicationId: application.id,\r\n targetGroup: targetGroup,\r\n isCulturalManagement: isCulturalManagement,\r\n comment: comment\r\n };\r\n\r\n const updatedSelectionComments = [\r\n ...application.selectionComments.filter(\r\n (sc) => sc.targetGroup !== targetGroup || sc.isCulturalManagement !== isCulturalManagement\r\n ),\r\n selectionComment\r\n ];\r\n\r\n const updatedApplication: Application = { ...application, selectionComments: updatedSelectionComments };\r\n\r\n onApplicationChange(updatedApplication);\r\n\r\n const postResult = await postSelectionComment(selectionComment);\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n onError(\"Något gick fel när kommentaren sparades.\");\r\n return;\r\n }\r\n\r\n setCommentIsSaved(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n

Kommentar om \"{application.document.eventName}\"

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {commentIsSaved ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectionCommentModal;\r\n","import React from \"react\";\r\nimport Application from \"../../types/Application\";\r\nimport { getNumberOfOccasionsByTargetGroup, getTotalNumberOfOccasionsFromSelection } from \"../../common/applicationUtils\";\r\nimport { Accordion } from \"react-bootstrap\";\r\nimport { TargetGroup } from \"../../common/enums\";\r\n\r\ntype SelectionOverviewAccordionProps = {\r\n applications: Application[];\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nfunction SelectionOverviewAccordion({ applications, isCulturalManagement }: SelectionOverviewAccordionProps) {\r\n const tableRows = applications.map((a) => (\r\n \r\n {a.document.eventName}\r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.PreSchool, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.SchoolLower, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.SchoolMiddle, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.SchoolUpper, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.HighSchool, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.SpecialNeedsSchool, isCulturalManagement)}\r\n \r\n \r\n {getNumberOfOccasionsByTargetGroup(a, TargetGroup.Other, isCulturalManagement)}\r\n \r\n {getTotalNumberOfOccasionsFromSelection(a, isCulturalManagement)}\r\n \r\n ));\r\n\r\n return (\r\n
\r\n \r\n \r\n Tillfällen per målgrupp\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableRows}\r\n
Evenemang{isCulturalManagement ? \"KF förskola\" : \"Förskola\"}\r\n {isCulturalManagement ? \"KF lågstadium\" : \"Lågstadium\"}\r\n \r\n {isCulturalManagement ? \"KF mellanstadium\" : \"Mellanstadium\"}\r\n \r\n {isCulturalManagement ? \"KF högstadium\" : \"Högstadium\"}\r\n {isCulturalManagement ? \"KF gymnasium\" : \"Gymnasium\"}\r\n {isCulturalManagement ? \"KF anpassad skola\" : \"Anpassad skola\"}\r\n \r\n {isCulturalManagement ? \"KF extern budget\" : \"Extern budget\"}\r\n \r\n {isCulturalManagement ? \"Kulturförvaltningen\" : \"Total\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectionOverviewAccordion;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport { fetchApplicationPeriod, sendSelectionSummary, sendTestSelectionSummary } from \"../../common/apiClient\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport Swal from \"sweetalert2\";\r\n\r\ntype SelectionSummaryMailProps = {\r\n applicationPeriodId: number;\r\n userEmail: string;\r\n};\r\n\r\nfunction SelectionSummaryMail({ applicationPeriodId, userEmail }: SelectionSummaryMailProps) {\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [numberOfActors, setNumberOfActors] = useState();\r\n const [numberOfApplications, setNumberOfApplications] = useState();\r\n const [numberOfSelectedApplications, setNumberOfSelectedApplications] = useState();\r\n const [numberOfSelectedActors, setNumberOfSelectedActors] = useState();\r\n const [numberOfSelectedOccasions, setNumberOfSelectedOccasions] = useState();\r\n const [numberOfActorsWithOperationalSupport, setNumberOfActorsWithOperationalSupport] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const applicationPeriodFetchResult = await fetchApplicationPeriod(applicationPeriodId);\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const sendSummaryClickHandler = async () => {\r\n const postResult = await sendSelectionSummary(\r\n applicationPeriodId,\r\n numberOfApplications,\r\n numberOfActors,\r\n numberOfSelectedApplications,\r\n numberOfSelectedActors,\r\n numberOfSelectedOccasions,\r\n numberOfActorsWithOperationalSupport\r\n );\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n Swal.fire({\r\n title: \"Något gick fel när utskicket gjordes\",\r\n text: \"Vänligen försök igen. Kontakta support om problemet kvarstår.\",\r\n icon: \"error\"\r\n });\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: \"Beskedet har skickats\",\r\n icon: \"success\"\r\n });\r\n };\r\n\r\n const sendTestClickHandler = async () => {\r\n const postResult = await sendTestSelectionSummary(\r\n applicationPeriodId,\r\n numberOfApplications,\r\n numberOfActors,\r\n numberOfSelectedApplications,\r\n numberOfSelectedActors,\r\n numberOfSelectedOccasions,\r\n numberOfActorsWithOperationalSupport\r\n );\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n Swal.fire({\r\n title: \"Något gick fel när testutskicket gjordes\",\r\n text: \"Vänligen försök igen. Kontakta support om problemet kvarstår.\",\r\n icon: \"error\"\r\n });\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: \"Testet har skickats till \" + userEmail,\r\n icon: \"success\"\r\n });\r\n };\r\n\r\n const disableSend =\r\n !numberOfActors ||\r\n !numberOfApplications ||\r\n !numberOfSelectedActors ||\r\n !numberOfSelectedApplications ||\r\n !numberOfSelectedOccasions ||\r\n !numberOfActorsWithOperationalSupport;\r\n\r\n return (\r\n
\r\n

{applicationPeriod.name} - Besked efter urval

\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n setNumberOfActors(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n\r\n
\r\n \r\n setNumberOfApplications(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n setNumberOfSelectedActors(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n\r\n
\r\n \r\n setNumberOfSelectedApplications(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n setNumberOfSelectedOccasions(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n\r\n
\r\n \r\n setNumberOfActorsWithOperationalSupport(Number.parseInt(e.target.value))}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectionSummaryMail;\r\n","import React, { ChangeEvent, useMemo, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport {\r\n getCostPerOccasionString,\r\n getNumberOfOccasionsByTargetGroup,\r\n getTotalNumberOfOccasionsFromSelection,\r\n updateNumberOfOccasionsByTargetGroup,\r\n getCostForEvent,\r\n getSelectionCommentByTargetGroup,\r\n getApplicationSelectionColorByTargetGroup,\r\n getAdjustedAgeTagsByTargetGroup\r\n} from \"../../common/applicationUtils\";\r\nimport Application from \"../../types/Application\";\r\nimport { AgeTag, HexColor, TargetGroup } from \"../../common/enums\";\r\nimport { toGroupedAgeTags } from \"../../common/stringUtils\";\r\n\r\ntype SelectionTableRowProps = {\r\n application: Application;\r\n targetGroup: string;\r\n onError: (errorMessage: string) => void;\r\n onApplicationChange: (application: Application) => void;\r\n onShowApplicationDetailsModal: (application: Application) => void;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nfunction SelectionTableRow({\r\n application,\r\n targetGroup,\r\n onError,\r\n onApplicationChange,\r\n onShowApplicationDetailsModal,\r\n isCulturalManagement\r\n}: SelectionTableRowProps) {\r\n const [numberOfOccasions, setNumberOfOccasions] = useState(\r\n getNumberOfOccasionsByTargetGroup(application, targetGroup, isCulturalManagement).toString()\r\n );\r\n\r\n const commentPreview = useMemo(() => {\r\n const commentByTargetGroup = getSelectionCommentByTargetGroup(\r\n application,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n const commentPreviewMaxLength = 256;\r\n if (commentByTargetGroup.length > commentPreviewMaxLength) {\r\n return commentByTargetGroup.slice(0, commentPreviewMaxLength) + \"...\";\r\n }\r\n\r\n return commentByTargetGroup;\r\n }, [application, targetGroup, isCulturalManagement]);\r\n\r\n const rowHexColor: HexColor | undefined = useMemo(() => {\r\n const applicationSelectionColor = getApplicationSelectionColorByTargetGroup(\r\n application,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n return applicationSelectionColor?.hexColor;\r\n }, [application]);\r\n\r\n async function numberOfOccasionsChangeHandler(e: ChangeEvent) {\r\n let newNumberOfOccasions: number;\r\n\r\n if (e.target.value === \"\") {\r\n newNumberOfOccasions = 0;\r\n } else {\r\n newNumberOfOccasions = Number.parseInt(e.target.value);\r\n }\r\n\r\n setNumberOfOccasions(e.target.value);\r\n\r\n const updatedApplication = updateNumberOfOccasionsByTargetGroup(\r\n application,\r\n targetGroup,\r\n newNumberOfOccasions,\r\n isCulturalManagement\r\n );\r\n onApplicationChange(updatedApplication);\r\n\r\n const requestOptions: RequestInit = {\r\n method: \"PUT\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (\r\n document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement\r\n ).value\r\n }\r\n };\r\n\r\n const requestResult = await fetch(\r\n `/api/application/${application.id}/numberOfOccasions/${targetGroup}/${newNumberOfOccasions}?isCulturalManagement=${isCulturalManagement}`,\r\n requestOptions\r\n );\r\n\r\n if (!requestResult.ok) {\r\n onError(\r\n \"Något gick fel när antalet evenemang uppdaterades. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\"\r\n );\r\n }\r\n }\r\n\r\n function rowClickedHandler(event: React.MouseEvent) {\r\n if (!(event.target instanceof HTMLTableCellElement)) return;\r\n\r\n onShowApplicationDetailsModal(application);\r\n }\r\n\r\n const totalNumberOfOccasions = getTotalNumberOfOccasionsFromSelection(application, isCulturalManagement);\r\n\r\n const adjustmentsByCurrentTargetGroup = application.adjustedSelectionAgeTags.filter(\r\n (adj) => adj.adjustedIn === targetGroup && adj.isCulturalManagement === isCulturalManagement\r\n );\r\n\r\n return (\r\n \r\n {application.actorName}\r\n \r\n {application.document.hasOperationalSupport && (\r\n Evenemanget har verksamhetsstöd från Göteborgs kulturnämnd}\r\n >\r\n \r\n \r\n )}\r\n {application.markedAsNewAt && (\r\n Evenemanget har markerats som nytt}>\r\n \r\n \r\n )}\r\n {application.markedAsPremiereAt && (\r\n Evenemanget har markerats som premiär}>\r\n \r\n \r\n )}\r\n {application.markedAsFinancedExternallyAt && (\r\n Evenemanget har markerats som externt finansierad}\r\n >\r\n \r\n \r\n )}\r\n {commentPreview && (\r\n {commentPreview}}>\r\n \r\n \r\n )}\r\n {application.document.eventName}\r\n \r\n {application.document.maxNumberOfSeats}\r\n \r\n {application.adjustedOccasionPrice === 0 || application.adjustedOccasionPrice ? (\r\n Evenemangets pris har justerats}>\r\n \r\n \r\n ) : null}\r\n {getCostPerOccasionString(application).toLocaleString()}{\" \"}\r\n \r\n {application.document.tags.join(\", \")}\r\n \r\n {adjustmentsByCurrentTargetGroup.length > 0 && (\r\n Evenemangets målgrupper har justerats}>\r\n \r\n \r\n )}\r\n {application.groupedAgeTags.join(\", \")}\r\n \r\n {targetGroup != TargetGroup.Total && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SelectionTableRow;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport InformationPanel from \"../InformationPanel\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport Application from \"../../types/Application\";\r\nimport {\r\n applicationBelongsToTargetGroup,\r\n getAdjustedAgeTagsByTargetGroup,\r\n getApplicationTargetGroupExclusion\r\n} from \"../../common/applicationUtils\";\r\nimport { TargetGroup } from \"../../common/enums\";\r\nimport SelectionTableRow from \"./SelectionTableRow\";\r\nimport ApplicationDetailsModal from \"./ApplicationDetailsModal\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport Filter, { SelectedFilterOptions } from \"./Filter\";\r\nimport AdjustPriceModal from \"./AdjustPriceModal\";\r\nimport SelectionOverviewAccordion from \"./SelectionOverviewAccordion\";\r\nimport SelectionCommentModal from \"./SelectionCommentModal\";\r\nimport ApplicationSelectionColorModal from \"./ApplicationSelectionColorModal\";\r\nimport ApplicationTargetGroupExclusion from \"../../types/ApplicationTargetGroupExclusion\";\r\nimport { deleteApplicationTargetGroupExclusion, postApplicationTargetGroupExclusion } from \"../../common/apiClient\";\r\nimport AdjustSelectionAgeTagsModal from \"./AdjustSelectionAgeTagsModal\";\r\n\r\ntype SelectionPageProps = {\r\n applicationPeriodId: number;\r\n targetGroup: string;\r\n isCulturalManagement: boolean;\r\n};\r\n\r\nexport default function Selection({ applicationPeriodId, targetGroup, isCulturalManagement }: SelectionPageProps) {\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [modalApplication, setModalApplication] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [selectedFilterOptions, setSelectedFilterOptions] = useState();\r\n const [showApplicationDetailsModal, setShowApplicationDetailsModal] = useState(false);\r\n const [showAdjustPriceModal, setShowAdjustPriceModal] = useState(false);\r\n const [showSelectionCommentModal, setShowSelectionCommentModal] = useState(false);\r\n const [showApplicationSelectionColorModal, setShowApplicationSelectionColorModal] = useState(false);\r\n const [showAdjustSelectionAgeTagsModal, setShowAdjustSelectionAgeTagsModal] = useState(false);\r\n\r\n const filterStorageKey = \"selectedFilterOptions\";\r\n\r\n useEffect(() => {\r\n async function fetchApplicationPeriod(applicationPeriodId: number) {\r\n try {\r\n const fetchResult = await fetch(`/api/applicationPeriod/${applicationPeriodId}/selectionData`, {\r\n cache: \"no-store\"\r\n });\r\n\r\n if (!fetchResult.ok) {\r\n setErrorMessage(\"Sidan kunde inte laddas. Om problemet kvarstår vänligen kontakta support.\");\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n const fetchedApplicationPeriod: ApplicationPeriod = await fetchResult.json();\r\n\r\n setApplicationPeriod(fetchedApplicationPeriod);\r\n setModalApplication(fetchedApplicationPeriod.applications[0]);\r\n } catch (e) {\r\n setErrorMessage(\"Sidan kunde inte laddas. Om problemet kvarstår vänligen kontakta support.\");\r\n }\r\n\r\n setIsLoading(false);\r\n }\r\n fetchApplicationPeriod(applicationPeriodId);\r\n\r\n const storedFilterOptions = JSON.parse(localStorage.getItem(filterStorageKey));\r\n setSelectedFilterOptions(storedFilterOptions);\r\n }, []);\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n function applicationChangeHandler(updatedApplication: Application) {\r\n setApplicationPeriod((prevState) => {\r\n const updatedApplications = prevState.applications.map((a) =>\r\n a.id === updatedApplication.id ? updatedApplication : a\r\n );\r\n\r\n return { ...prevState, applications: updatedApplications };\r\n });\r\n\r\n if (modalApplication.id === updatedApplication.id) {\r\n setModalApplication({ ...updatedApplication });\r\n }\r\n }\r\n\r\n function showApplicationDetailsHandler(application: Application) {\r\n setModalApplication(application);\r\n setShowApplicationDetailsModal(true);\r\n }\r\n\r\n function showAdjustPriceModalHandler() {\r\n setShowApplicationDetailsModal(false);\r\n setShowAdjustPriceModal(true);\r\n }\r\n\r\n function hideAdjustPriceModalHandler() {\r\n setShowAdjustPriceModal(false);\r\n setShowApplicationDetailsModal(true);\r\n }\r\n\r\n function showSelectionCommentModalHandler() {\r\n setShowSelectionCommentModal(true);\r\n setShowApplicationDetailsModal(false);\r\n }\r\n\r\n function hideSelectionCommentModalHandler() {\r\n setShowSelectionCommentModal(false);\r\n setShowApplicationDetailsModal(true);\r\n }\r\n\r\n function showApplicationSelectionColorModalHandler() {\r\n setShowApplicationSelectionColorModal(true);\r\n setShowApplicationDetailsModal(false);\r\n }\r\n\r\n function hideApplicationSelectionColorModalHandler() {\r\n setShowApplicationSelectionColorModal(false);\r\n setShowApplicationDetailsModal(true);\r\n }\r\n\r\n function showAdjustSelectionAgeTagModalHandler() {\r\n setShowApplicationDetailsModal(false);\r\n setShowAdjustSelectionAgeTagsModal(true);\r\n }\r\n\r\n function hideAdjustSelectionAgeTagModalHandler() {\r\n setShowAdjustSelectionAgeTagsModal(false);\r\n setShowApplicationDetailsModal(true);\r\n }\r\n\r\n function errorMessageHandler(errorMessage: string) {\r\n setErrorMessage(errorMessage);\r\n }\r\n\r\n function onFilterChange(updatedProperty: keyof SelectedFilterOptions, updatedValue: any) {\r\n const updatedFilterOptions = { ...selectedFilterOptions, [updatedProperty]: updatedValue };\r\n localStorage.setItem(filterStorageKey, JSON.stringify(updatedFilterOptions));\r\n\r\n setSelectedFilterOptions(updatedFilterOptions);\r\n }\r\n\r\n async function hideApplicationHandler(application: Application) {\r\n const tempId = -1;\r\n\r\n const exclusion: ApplicationTargetGroupExclusion = {\r\n id: tempId,\r\n applicationId: application.id,\r\n targetGroup: targetGroup as TargetGroup,\r\n isCulturalManagement: isCulturalManagement\r\n };\r\n\r\n const updatedApplication = {\r\n ...application,\r\n applicationTargetGroupExclusions: [...application.applicationTargetGroupExclusions, exclusion]\r\n };\r\n\r\n applicationChangeHandler(updatedApplication);\r\n\r\n const postResult = await postApplicationTargetGroupExclusion(\r\n application.id,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n if (postResult.errorMessage) {\r\n console.error(postResult.errorMessage);\r\n errorMessageHandler(\"Något gick fel när intresseanmälan doldes. Vänligen uppdatera sidan och försök igen.\");\r\n }\r\n\r\n const exclusionWithId: ApplicationTargetGroupExclusion = { ...exclusion, id: postResult.value };\r\n\r\n applicationChangeHandler({\r\n ...updatedApplication,\r\n applicationTargetGroupExclusions: updatedApplication.applicationTargetGroupExclusions.map((a) =>\r\n a.id === tempId ? exclusionWithId : a\r\n )\r\n });\r\n }\r\n\r\n async function showApplicationHandler(application: Application) {\r\n const exclusion = getApplicationTargetGroupExclusion(\r\n application,\r\n targetGroup as TargetGroup,\r\n isCulturalManagement\r\n );\r\n\r\n applicationChangeHandler({\r\n ...application,\r\n applicationTargetGroupExclusions: application.applicationTargetGroupExclusions.filter(\r\n (a) => a.id !== exclusion.id\r\n )\r\n });\r\n\r\n const deleteResult = await deleteApplicationTargetGroupExclusion(exclusion.id);\r\n\r\n if (deleteResult.errorMessage) {\r\n console.error(deleteResult.errorMessage);\r\n errorMessageHandler(\r\n \"Något gick fel när intresseanmälan skulle visas. Vänligen uppdatera sidan och försök igen.\"\r\n );\r\n }\r\n }\r\n\r\n const currentApplications =\r\n selectedFilterOptions && selectedFilterOptions.showHiddenApplications\r\n ? applicationPeriod.applications\r\n : applicationPeriod.applications.filter((a) =>\r\n applicationBelongsToTargetGroup(a, targetGroup as TargetGroup, isCulturalManagement)\r\n );\r\n\r\n let filteredApplications: Application[] = [];\r\n\r\n if (!selectedFilterOptions) {\r\n filteredApplications = currentApplications;\r\n } else {\r\n const selectedActorName = selectedFilterOptions.actorName;\r\n const selectedTag = selectedFilterOptions.tag;\r\n const selectedAgeTag = selectedFilterOptions.ageTag;\r\n const selectedSiteType = selectedFilterOptions.siteType;\r\n const showHiddenApplications = selectedFilterOptions.showHiddenApplications;\r\n\r\n filteredApplications = currentApplications\r\n .filter((a) => (selectedActorName ? a.actorName === selectedActorName : true))\r\n .filter((a) => (selectedTag ? a.document.tags.includes(selectedTag) : true))\r\n .filter((a) => (selectedAgeTag ? a.document.ageTags.includes(selectedAgeTag) : true))\r\n .filter((a) => (selectedSiteType ? a.document.possibleSiteTypes.includes(selectedSiteType) : true))\r\n .filter((a) =>\r\n showHiddenApplications\r\n ? true\r\n : !getApplicationTargetGroupExclusion(a, targetGroup as TargetGroup, isCulturalManagement)\r\n );\r\n }\r\n\r\n const tableRows = filteredApplications.map((a) => (\r\n \r\n ));\r\n\r\n return (\r\n <>\r\n {targetGroup === TargetGroup.Total && (\r\n \r\n )}\r\n \r\n\r\n {errorMessage ?
{errorMessage}
: \"\"}\r\n
\r\n \r\n \r\n \r\n Aktör\r\n Evenemang\r\n Platser\r\n Pris\r\n Konstform\r\n Målgrupp\r\n {targetGroup != TargetGroup.Total && Tillfällen}\r\n Tillfällen totalt\r\n Pris totalt\r\n \r\n \r\n {tableRows}\r\n \r\n
\r\n setShowApplicationDetailsModal(false)}\r\n onShowAdjustPriceModal={showAdjustPriceModalHandler}\r\n onShowSelectionCommentModal={showSelectionCommentModalHandler}\r\n onShowApplicationSelectionColorModal={showApplicationSelectionColorModalHandler}\r\n onHideApplication={hideApplicationHandler}\r\n onShowApplication={showApplicationHandler}\r\n isCulturalManagement={isCulturalManagement}\r\n targetGroup={targetGroup as TargetGroup}\r\n onShowAdjustSelectionAgeTagsModal={showAdjustSelectionAgeTagModalHandler}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport Site from \"../../types/Site\";\r\nimport {\r\n fetchApplicationPeriod,\r\n fetchPlannedApplications,\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId,\r\n fetchPlannedApplicationSitesBySiteIdAndApplicationPeriodId,\r\n fetchSiteById,\r\n sendInternalSiteAgreement\r\n} from \"../../common/apiClient\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport {\r\n defaultFontFamily,\r\n defaultMarginBottom,\r\n defaultTextStyles,\r\n sectionHeaderStyles,\r\n tableCellHeaderStyles,\r\n tableCellStyles,\r\n tableStyles\r\n} from \"../../common/inlineStyles\";\r\nimport SiteScheduleTableRow from \"./SiteScheduleTableRow\";\r\nimport { copyRichText } from \"../../common/stringUtils\";\r\nimport SuccessMessage from \"../Common/Messages/SuccessMessage\";\r\nimport Swal from \"sweetalert2\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport { SiteType } from \"../../common/enums\";\r\n\r\ntype InternalSiteAgreementProps = {\r\n siteId: number;\r\n applicationPeriodId: number;\r\n};\r\n\r\nfunction InternalSiteAgreement({ siteId, applicationPeriodId }: InternalSiteAgreementProps) {\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [site, setSite] = useState();\r\n const [availableSiteTime, setAvailableSiteTime] = useState();\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [copiedToClipboard, setCopiedToClipboard] = useState(false);\r\n const [featuresCommentInput, setFeaturesCommentInput] = useState(\"\");\r\n const [generalCommentInput, setGeneralCommentInput] = useState(\"\");\r\n\r\n const agreementRef = useRef();\r\n const successMessageRef = useRef();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n applicationPeriodFetchResult,\r\n siteFetchResult,\r\n availableSiteTimeFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n applicationsFetchResult\r\n ] = await Promise.all([\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchSiteById(siteId),\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId(siteId, applicationPeriodId),\r\n fetchPlannedApplicationSitesBySiteIdAndApplicationPeriodId(siteId, applicationPeriodId),\r\n fetchPlannedApplications(siteId, applicationPeriodId)\r\n ]);\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (siteFetchResult.errorMessage) {\r\n console.error(siteFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteTimeFetchResult.errorMessage) {\r\n console.error(availableSiteTimeFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(plannedApplicationSitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationsFetchResult.errorMessage) {\r\n console.error(applicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n const plannedApplication = applicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n\r\n pas.application = plannedApplication;\r\n pas.site = siteFetchResult.value;\r\n });\r\n\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setSite(siteFetchResult.value);\r\n setAvailableSiteTime(availableSiteTimeFetchResult.value);\r\n setPlannedApplicationSites(plannedApplicationSitesFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const sendAgreementClickHandler = async () => {\r\n const result = await sendInternalSiteAgreement(siteId, applicationPeriodId, agreementRef.current.innerHTML);\r\n\r\n if (result.errorMessage) {\r\n Swal.fire({\r\n title: \"Något gick fel när överenskommelsen skickades\",\r\n text: \"Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\",\r\n icon: \"error\"\r\n });\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: \"Överenskommelsen har skickats till \" + site.contactPersonEmail,\r\n icon: \"success\"\r\n });\r\n };\r\n\r\n const copyToClipboardClickHandler = async () => {\r\n await copyRichText(agreementRef.current.innerHTML);\r\n\r\n if (!copiedToClipboard) {\r\n setCopiedToClipboard(true);\r\n setTimeout(() => {\r\n successMessageRef.current.classList.add(\"slide-out\");\r\n setTimeout(() => {\r\n setCopiedToClipboard(false);\r\n }, 80);\r\n }, 3000);\r\n }\r\n };\r\n const availableTechnology: string[] = [];\r\n\r\n if (site.hasPA) {\r\n availableTechnology.push(\"PA\");\r\n }\r\n if (site.hasLighting) {\r\n availableTechnology.push(\"Ljus\");\r\n }\r\n if (site.hasSound) {\r\n availableTechnology.push(\"Ljud\");\r\n }\r\n if (site.hasBlackbox) {\r\n availableTechnology.push(\"Blackbox\");\r\n }\r\n if (site.hasBlackout) {\r\n availableTechnology.push(\"Mörkläggning\");\r\n }\r\n\r\n const scheduleTableRows: JSX.Element[] = plannedApplicationSites.map((pas) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n {copiedToClipboard ? (\r\n
\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n

\r\n Överenskommelse: Lokal {site.name} {site.roomName}, spelperiod{\" \"}\r\n {applicationPeriod.occasionsFrom.toLocaleDateString()}\r\n

\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n setFeaturesCommentInput(e.target.value)}\r\n cols={5}\r\n rows={3}\r\n >\r\n
\r\n\r\n
\r\n \r\n setGeneralCommentInput(e.target.value)}\r\n cols={5}\r\n rows={3}\r\n >\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Spelplan KuBo för spelperioden {applicationPeriod.occasionsFrom.toLocaleDateString()}\r\n
\r\n\r\n
Hej!
\r\n
\r\n\r\n
\r\n Här kommer nu all samlad information kring de aktörer och föreställningar som kommer spela\r\n hos er. Det innehåller information om bland annat lokal, teknik, tider och kontaktuppgifter\r\n till aktören. Detta för att ni ska kunna facilitera programmet med rätt förutsättningar. Ta\r\n nu också gärna kontakt med aktören/rna i god tid så ni tillsammans kan planera och förbereda\r\n era värdar som ska vara på plats under genomförandet.\r\n
\r\n
\r\n\r\n
\r\n Har ni frågor om värdskapet eller KuBos hemsida hör vänligen av er. Tack för ert samarbete\r\n som möjliggör rolig och god samverkan!\r\n
\r\n
\r\n\r\n
Spelplats
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Platsnamn
\r\n {site.name}\r\n
\r\n Förvaltning
\r\n Kulturförvaltningen\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Besöksadress
\r\n {site.address}\r\n
\r\n Telefon till spelplats
\r\n {site.phoneNumber}\r\n
\r\n Ansvarig för spelplatsen
\r\n {site.contactPersonName}\r\n
\r\n Typ av lokal/verksamhet
\r\n {SiteType[site.siteType as keyof typeof SiteType]}\r\n
\r\n
\r\n\r\n
\r\n Kontaktperson på spelplatsen för artister och praktiska frågor\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Namn
\r\n {site.contactPersonName}\r\n
\r\n Befattning
\r\n {site.contactPersonPosition}\r\n
\r\n Telefon
\r\n {site.contactPersonPhoneNumber}\r\n
\r\n E-post
\r\n {site.contactPersonEmail}\r\n
\r\n Avser nyttjande av lokalen
\r\n {site.roomName}\r\n
\r\n
\r\n\r\n
Avser följande speltider och föreställningar
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {scheduleTableRows}\r\n
DatumByggtidRivtidFöreställningFst 1Fst 2AktörAktörens kontaktuppgifter
\r\n
\r\n\r\n
Utrustning Spelplatsen/Värdscenen tillhandahåller
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Tekniker
\r\n {availableTechnology.join(\", \")}\r\n
\r\n Förtydligange om tekniker
\r\n {site.otherInformation}\r\n
\r\n Övriga befintliga faciliteter
\r\n {site.otherFacilities}\r\n
\r\n
\r\n\r\n {featuresCommentInput ? (\r\n <>\r\n
Kommentar om tekniker
\r\n
{featuresCommentInput}
\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n
Kulturstöd tillhandahåller
\r\n
    \r\n
  • \r\n Inköp av publika konstupplevelser för scen så som musik, teater och dans\r\n
  • \r\n
  • \r\n Administration; avtal med aktörer samt hanteringen av bokningssidan\r\n
  • \r\n
  • \r\n Publikarbete riktat till förskolor och skolor genom bokningssidan KuBo samt i samverkan\r\n med kultursamordnare på grundskole- respektive förskoleförvaltningen\r\n
  • \r\n
  • \r\n Erbjuder spelplatsen möjligheten till, i mån av plats, biljetter för offentlig publik\r\n
  • \r\n
  • \r\n Statistikuppföljning, analys och rapport kopplat till mål i Göteborg stads plan för barn\r\n och ungkultur\r\n
  • \r\n
  • Utveckling av bokningssidan
  • \r\n
\r\n\r\n
Spelplatsen/Värdcenen ska
\r\n
    \r\n
  • \r\n Tillhandahålla en städad och iordningställd lokal med tillgängliga sittplatser anpassade\r\n efter arrangemangets behov.\r\n
  • \r\n
  • \r\n Ansvara för att facilitera arrangemanget och bistå med personal\r\n
  • \r\n
  • Ta kontakt med aktörerna i god tid inför arrangemanget
  • \r\n
  • \r\n Ta emot aktörerna och visa dem till rätta, är bärhjälp samt behjälplig vid bygg/riv\r\n
  • \r\n
  • Tillhandahålla aktörerna kaffe, te/vatten
  • \r\n
  • Ta emot barn och elever
  • \r\n
  • \r\n Ha rollen som publikvärd i KuBos bokningssida, göra närvarorapport, vid avvikelser i\r\n bokningen.\r\n
  • \r\n
\r\n\r\n
Ändring
\r\n
\r\n Samtliga ändringar och tillägg till detta dokument ska göras skriftligen.\r\n
\r\n
\r\n\r\n
Antal personer
\r\n
\r\n Antal besökare får ej överstiga det antal angivet i respektive lokal. Vid överträdelse kan\r\n personal och/eller brandmyndigheterna stänga lokalen.\r\n
\r\n\r\n
\r\n
Ansvar vid stöld
\r\n
\r\n Spelplatsen/Värdscenen ansvar inte för aktörens eller besökarnas kläder eller annan lös\r\n egendom som förvaras i lokalen.\r\n
\r\n
\r\n\r\n
Kontaktpersoner på KuBo
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Vendela Källström\r\n \r\n 0764–95 04 14\r\n \r\n \r\n vendela.kallstrom@kultur.goteborg.se\r\n \r\n
\r\n
\r\n\r\n
Samverkan
\r\n
\r\n Lokalen är en samverkan inom Kulturförvaltningen. Ingen lokalhyra/kostnad utgår.\r\n
\r\n
\r\n\r\n {generalCommentInput ? (\r\n <>\r\n
Kommentar/förtydligande
\r\n
{generalCommentInput}
\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n Med vänliga hälsningar,
\r\n KuBo\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InternalSiteAgreement;\r\n","import React, { CSSProperties, useEffect, useRef, useState } from \"react\";\r\nimport Site from \"../../types/Site\";\r\nimport {\r\n fetchApplicationPeriod,\r\n fetchPlannedApplications,\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId,\r\n fetchPlannedApplicationSitesBySiteIdAndApplicationPeriodId,\r\n fetchSiteById\r\n} from \"../../common/apiClient\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport { copyRichText } from \"../../common/stringUtils\";\r\nimport SuccessMessage from \"../Common/Messages/SuccessMessage\";\r\nimport {\r\n defaultFontFamily,\r\n defaultMarginBottom,\r\n defaultTextStyles,\r\n sectionHeaderStyles,\r\n tableCellHeaderStyles,\r\n tableCellStyles,\r\n tableStyles\r\n} from \"../../common/inlineStyles\";\r\nimport SiteScheduleTableRow from \"./SiteScheduleTableRow\";\r\nimport { SiteType } from \"../../common/enums\";\r\n\r\ntype SiteContractCreationProps = {\r\n siteId: number;\r\n applicationPeriodId: number;\r\n};\r\n\r\nfunction SiteContractCreation({ siteId, applicationPeriodId }: SiteContractCreationProps) {\r\n const [site, setSite] = useState();\r\n const [plannedApplicationSites, setPlannedApplicationSites] = useState([]);\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [availableSiteTime, setAvailableSiteTime] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [copiedToClipboard, setCopiedToClipboard] = useState(false);\r\n const [organizationInput, setOrganizationInput] = useState(\"\");\r\n const [costInput, setCostInput] = useState(\"\");\r\n const [featuresCommentInput, setFeaturesCommentInput] = useState(\"\");\r\n const [generalCommentInput, setGeneralCommentInput] = useState(\"\");\r\n\r\n const contractRef = useRef();\r\n const successMessageRef = useRef();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [\r\n siteFetchResult,\r\n plannedApplicationSitesFetchResult,\r\n applicationsFetchResult,\r\n applicationPeriodFetchResult,\r\n availableSiteTimeFetchResult\r\n ] = await Promise.all([\r\n fetchSiteById(siteId),\r\n fetchPlannedApplicationSitesBySiteIdAndApplicationPeriodId(siteId, applicationPeriodId),\r\n fetchPlannedApplications(siteId, applicationPeriodId),\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchAvailableSiteTimeBySiteIdAndApplicationPeriodId(siteId, applicationPeriodId)\r\n ]);\r\n\r\n if (siteFetchResult.errorMessage) {\r\n console.error(siteFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (plannedApplicationSitesFetchResult.errorMessage) {\r\n console.error(plannedApplicationSitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationsFetchResult.errorMessage) {\r\n console.error(applicationsFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n if (availableSiteTimeFetchResult.errorMessage) {\r\n console.error(availableSiteTimeFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n plannedApplicationSitesFetchResult.value.sort(\r\n (a, b) => a.occasion1Starts.getTime() - b.occasion1Starts.getTime()\r\n );\r\n\r\n plannedApplicationSitesFetchResult.value.forEach((pas) => {\r\n const plannedApplication = applicationsFetchResult.value.find((a) => a.id === pas.applicationId);\r\n\r\n if (!plannedApplication) {\r\n console.error(`Ingen intresseanmälan med id ${pas.applicationId} skickades från backend.`);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n pas.site = siteFetchResult.value;\r\n pas.application = plannedApplication;\r\n });\r\n\r\n setSite(siteFetchResult.value);\r\n setPlannedApplicationSites(plannedApplicationSitesFetchResult.value);\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setAvailableSiteTime(availableSiteTimeFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const copyToClipboardClickHandler = async () => {\r\n await copyRichText(contractRef.current.innerHTML);\r\n\r\n if (!copiedToClipboard) {\r\n setCopiedToClipboard(true);\r\n setTimeout(() => {\r\n successMessageRef.current.classList.add(\"slide-out\");\r\n setTimeout(() => {\r\n setCopiedToClipboard(false);\r\n }, 80);\r\n }, 3000);\r\n }\r\n };\r\n\r\n const scheduleTableRows: JSX.Element[] = plannedApplicationSites.map((pas) => (\r\n \r\n ));\r\n\r\n const availableTechnology: string[] = [];\r\n\r\n if (site.hasPA) {\r\n availableTechnology.push(\"PA\");\r\n }\r\n if (site.hasLighting) {\r\n availableTechnology.push(\"Ljus\");\r\n }\r\n if (site.hasSound) {\r\n availableTechnology.push(\"Ljud\");\r\n }\r\n if (site.hasBlackbox) {\r\n availableTechnology.push(\"Blackbox\");\r\n }\r\n if (site.hasBlackout) {\r\n availableTechnology.push(\"Mörkläggning\");\r\n }\r\n\r\n return (\r\n
\r\n {copiedToClipboard ? (\r\n
\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n

\r\n Avtalsunderlag: Lokal {site.name} {site.roomName}, spelperiod{\" \"}\r\n {applicationPeriod.occasionsFrom.toLocaleDateString()}\r\n

\r\n\r\n
\r\n
\r\n \r\n setOrganizationInput(e.target.value)}\r\n />\r\n
\r\n\r\n
\r\n \r\n setCostInput(e.target.value)} />\r\n
\r\n\r\n
\r\n \r\n setFeaturesCommentInput(e.target.value)}\r\n cols={5}\r\n rows={3}\r\n >\r\n
\r\n\r\n
\r\n \r\n setGeneralCommentInput(e.target.value)}\r\n cols={5}\r\n rows={3}\r\n >\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n Överenskommelse\r\n
\r\n \r\n om KuBo mellan Göteborgs Stads kulturförvaltning och nedanstående spelplats\r\n
\r\n
Spelplats
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Platsnamn
\r\n {site.name}\r\n
\r\n Förvaltning/organisation/förening{\" \"}\r\n
\r\n {organizationInput}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Besöksadress
\r\n {site.address}\r\n
\r\n Telefon till spelplats
\r\n {site.phoneNumber}\r\n
\r\n Ansvarig för spelplatsen
\r\n {site.contactPersonName}\r\n
\r\n Typ av lokal/verksamhet
\r\n {SiteType[site.siteType as keyof typeof SiteType]}\r\n
\r\n
\r\n
Spelplatsens organisationsuppgifter/fakturauppgifter
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Verksamhetens namn
\r\n {site.organizationName}\r\n
\r\n Organisationsnummer
\r\n {site.organizationNumber}\r\n
\r\n Gatuadress/Box
\r\n {site.organizationStreetAddress}\r\n
\r\n Postnummer
\r\n {site.organizationPostalCode}\r\n
\r\n Ort
\r\n {site.organizationPostalAddress}\r\n
\r\n Referens
\r\n {site.organizationReference}\r\n
\r\n
\r\n
\r\n Kontaktperson på spelplatsen för artister och praktiska frågor\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Namn
\r\n {site.contactPersonName}\r\n
\r\n Befattning
\r\n {site.contactPersonPosition}\r\n
\r\n Telefon
\r\n {site.contactPersonPhoneNumber}\r\n
\r\n E-post
\r\n {site.contactPersonEmail}\r\n
\r\n Avser nyttjande av lokalen
\r\n {site.roomName}\r\n
\r\n
\r\n\r\n
Avser följande speltider och föreställningar
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {scheduleTableRows}\r\n
DatumByggtidRivtidFöreställningFst 1Fst 2AktörAktörens kontaktuppgifter
\r\n
\r\n
Utrustning Spelplatsen/Värdscenen tillhandahåller
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Tekniker
\r\n {availableTechnology.join(\", \")}\r\n
\r\n Förtydligange om tekniker
\r\n {site.otherInformation}\r\n
\r\n Övriga befintliga faciliteter
\r\n {site.otherFacilities}\r\n
\r\n
\r\n \r\n {featuresCommentInput ? (\r\n <>\r\n
Kommentar om tekniker
\r\n
{featuresCommentInput}
\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n KuBo: kultur-, grundskole- och förskoleförvaltningen tillhandahåller\r\n
\r\n
    \r\n
  • \r\n Inköp av publika konstupplevelser för scen så som musik, teater och dans\r\n
  • \r\n
  • \r\n Administration; avtal med aktörer samt hanteringen av bokningssidan\r\n
  • \r\n
  • \r\n Publikarbete riktat till förskolor och skolor genom bokningssidan KuBo samt i samverkan\r\n med kultursamordnare på grundskole- respektive förskoleförvaltningen\r\n
  • \r\n
  • \r\n Erbjuder spelplatsen möjligheten till, i mån av plats, biljetter för offentlig publik\r\n
  • \r\n
  • \r\n Statistikuppföljning, analys och rapport kopplat till mål i Göteborg stads plan för barn\r\n och ungkultur\r\n
  • \r\n
  • Utveckling av bokningssidan
  • \r\n
\r\n
Spelplatsen/Värdscenen åtar sig att
\r\n
    \r\n
  • \r\n Tillhandahålla en städad och iordningställd lokal med tillgängliga sittplatser anpassade\r\n efter arrangemangets behov.\r\n
  • \r\n
  • \r\n Ansvara för att facilitera arrangemanget och bistå med personal\r\n
  • \r\n
  • Delta vid planeringsmöten upp till 2 ggr/termin
  • \r\n
  • Ta kontakt med aktörerna i god tid inför arrangemanget
  • \r\n
  • \r\n Ta emot aktörerna och visa dem till rätta, är bärhjälp samt behjälplig vid bygg/riv\r\n
  • \r\n
  • Tillhandahålla aktörerna kaffe, te/vatten
  • \r\n
  • Ta emot barn och elever
  • \r\n
  • \r\n Ha rollen som publikvärd i KuBos bokningssida, göra närvarorapport vid avvikelser\r\n
  • \r\n
\r\n
ÄNDRING AV ÖVERENSKOMMELSE
\r\n
\r\n Samtliga ändringar och tillägg till detta avtal ska göras skriftligen och undertecknas av\r\n båda parter. Om någon av parterna inte kan fullfölja uppdraget enligt detta avtal skall\r\n detta skyndsamt meddelas övriga parter. Om avbokning av lokalen görs av\r\n Kulturförvaltningen/KuBo, och om hyra ingår i avtalet kommer den ändå utbetalas. Om\r\n avbokning av lokalen sker av Spelplatsen utgår ingen hyra.\r\n
\r\n
\r\n
Antal personer
\r\n
\r\n Antal besökare får ej överstiga det antal angivet i respektive lokal. Vid överträdelse kan\r\n personal och/eller brandmyndigheterna stänga lokalen.\r\n
\r\n
\r\n
Ansvar vid stöld
\r\n
\r\n Spelplatsen/Värdscenen ansvar inte för aktörens eller besökarnas kläder eller annan lös\r\n egendom som förvaras i lokalen.\r\n
\r\n
\r\n
Kontaktpersoner på KuBo
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Vendela Källström, för innehåll\r\n \r\n 0764–95 04 14\r\n \r\n \r\n vendela.kallstrom@kultur.goteborg.se\r\n \r\n
\r\n Therese Wigren, för fakturafrågor\r\n \r\n 031-368 36 97\r\n \r\n \r\n therese.wigren@kultur.goteborg.se\r\n \r\n
\r\n
\r\n\r\n
Samverkan
\r\n
Avtalad hyra/totalkostnad: {costInput}
\r\n
\r\n\r\n {generalCommentInput ? (\r\n <>\r\n
Kommentar/förtydligande
\r\n
{generalCommentInput}
\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n Fakturering av lokalkostnad görs via{\" \"}\r\n e-faktura med\r\n följande uppgifter:\r\n
\r\n
N690/Kulturförvaltningen/ Intraservice
\r\n
Kulturförvaltningens GLN nr: 7381035001594
\r\n
Referens: Therese Wigren, ref.nr 3260
\r\n
Organisationsnummer 212000–1355
\r\n
405 38 Göteborg
\r\n
Vat: SE212000135501
\r\n
\r\n\r\n
UNDERSKRIFT
\r\n
\r\n Avtalet har signerats av Kulturförvaltningen i Göteborg och avtalspart genom digital\r\n signering.\r\n
\r\n
\r\n\r\n
Underskrifter
\r\n
Digitala signaturer återfinns på sista sida.
\r\n
\r\n\r\n
\r\n För Göteborgs stads Kulturförvaltning: Ida Svanberg, enhetschef\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default SiteContractCreation;\r\n","import React from \"react\";\r\nimport PlannedApplicationSite from \"../../types/PlannedApplicationSite\";\r\nimport { tableCellStyles } from \"../../common/inlineStyles\";\r\nimport { formatTime, getTimeSpanString } from \"../../common/dateUtils\";\r\nimport { hasTwoOccasions } from \"../../common/planningUtils\";\r\nimport { SiteType } from \"../../common/enums\";\r\n\r\ntype SiteScheduleTableRowProps = {\r\n plannedApplicationSite: PlannedApplicationSite;\r\n availableSiteTime: AvailableSiteTime;\r\n};\r\n\r\nexport default function SiteScheduleTableRow({ plannedApplicationSite, availableSiteTime }: SiteScheduleTableRowProps) {\r\n\r\n const application = plannedApplicationSite.application;\r\n const site = plannedApplicationSite.site;\r\n\r\n if (!application || !site) {\r\n return ;\r\n }\r\n\r\n let buildTime = \"\";\r\n let strikeTime = \"\";\r\n const libraryIsPossibleSiteType = application.document.possibleSiteTypes.includes(\"Library\");\r\n const outdoorsIsPossibleSiteType = application.document.possibleSiteTypes.includes(\"Outdoors\");\r\n const schoolIsPossibleSiteType = application.document.possibleSiteTypes.includes(\"School\");\r\n\r\n if (site.siteType === \"Library\" && libraryIsPossibleSiteType) {\r\n buildTime = application.document.library_BuildTime;\r\n strikeTime = application.document.library_StrikeTime;\r\n } else if (site.siteType === \"Outdoors\" && outdoorsIsPossibleSiteType) {\r\n buildTime = application.document.outdoors_BuildTime;\r\n strikeTime = application.document.outdoors_StrikeTime;\r\n } else if (site.siteType === \"School\" && schoolIsPossibleSiteType) {\r\n buildTime = application.document.school_BuildTime;\r\n strikeTime = application.document.school_BuildTime;\r\n } else if (site.siteType !== \"OwnStage\") {\r\n //\r\n // If the actor hasn't specified a build- and strike time for the current site type, default to the first found values.\r\n //\r\n\r\n [buildTime, strikeTime] = libraryIsPossibleSiteType ? [application.document.library_BuildTime, application.document.library_StrikeTime]\r\n : outdoorsIsPossibleSiteType ? [application.document.outdoors_BuildTime, application.document.outdoors_StrikeTime] \r\n : [application.document.school_BuildTime, application.document.school_StrikeTime];\r\n }\r\n\r\n return (\r\n \r\n {plannedApplicationSite.occasion1Starts.toLocaleDateString()}\r\n {formatTime(buildTime)}\r\n {formatTime(strikeTime)}\r\n {plannedApplicationSite.application.document.eventName}\r\n \r\n {getTimeSpanString(plannedApplicationSite.occasion1Starts, plannedApplicationSite.occasion1Ends)}\r\n \r\n \r\n {hasTwoOccasions(plannedApplicationSite)\r\n ? getTimeSpanString(plannedApplicationSite.occasion2Starts, plannedApplicationSite.occasion2Ends)\r\n : \"\"}\r\n \r\n {plannedApplicationSite.application.actorName}\r\n \r\n {plannedApplicationSite.application.document.contactName}
\r\n {plannedApplicationSite.application.document.contactPhoneNumber}
\r\n {plannedApplicationSite.application.document.contactEmailAddress}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport Site from \"../../types/Site\";\r\nimport { SecondarySiteType } from \"../../common/enums\";\r\n\r\ntype SiteTableRowProps = {\r\n site: Site;\r\n onTableRowClick: () => void;\r\n}; \r\n\r\nfunction SiteTableRow({ site, onTableRowClick }: SiteTableRowProps) {\r\n return (\r\n \r\n {site.name}\r\n {site.roomName}\r\n {SecondarySiteType[site.secondarySiteType as keyof typeof SecondarySiteType]}\r\n \r\n );\r\n}\r\n\r\nexport default SiteTableRow;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Site from \"../../types/Site\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport ErrorMessage from \"../Common/Messages/ErrorMessage\";\r\nimport SiteTableRow from \"./SiteTableRow\";\r\nimport { SecondarySiteType } from \"../../common/enums\";\r\nimport { fetchSitesWithPlannedOccasions } from \"../../common/apiClient\";\r\n\r\ntype SiteContractsProps = {\r\n applicationPeriodId: number;\r\n};\r\n\r\nexport default function SiteContracts({ applicationPeriodId }: SiteContractsProps) {\r\n const [sites, setSites] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const sitesFetchResult = await fetchSitesWithPlannedOccasions(applicationPeriodId);\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setSites(sitesFetchResult.value);\r\n setIsLoading(false);\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return ;\r\n }\r\n\r\n const siteTableRows: JSX.Element[] = sites.map((s) => (\r\n tableRowClickHandler(applicationPeriodId, s)} />\r\n ));\r\n\r\n return (\r\n
\r\n

Avtalsunderlag - spelplatser

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {siteTableRows}\r\n
PlatsLokalIntern/extern
\r\n
\r\n
\r\n );\r\n}\r\n\r\nfunction tableRowClickHandler(applicationPeriodId: number, site: Site) {\r\n const secondarySiteType = SecondarySiteType[site.secondarySiteType as keyof typeof SecondarySiteType];\r\n\r\n if (secondarySiteType === SecondarySiteType.Internal) {\r\n window.location.href = `/SiteContracts/${applicationPeriodId}/InternalSiteAgreement/${site.id}`;\r\n } else {\r\n window.location.href = `/SiteContracts/${applicationPeriodId}/ContractCreation/${site.id}`;\r\n }\r\n}\r\n","import React, { ChangeEvent } from \"react\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport \"react-day-picker/dist/style.css\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport Site from \"../../types/Site\";\r\nimport { formatTime, getCaptionText, getDateRange, getWeekDayName, isSameDay } from \"../../common/dateUtils\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport InfoMessage from \"../Common/Messages/InfoMessage\";\r\nimport { postAvailableSiteTime } from \"../../common/apiClient\";\r\n\r\ntype CalenderModalProps = {\r\n onError: (errorMessage: string) => void;\r\n applicationPeriod: ApplicationPeriod;\r\n site: Site;\r\n onSiteUpdated: (updatedSite: Site) => void;\r\n blockedDates: Date[];\r\n};\r\n\r\nexport const siteSelectionCalenderModalId = \"site-selection-modal-id\";\r\n\r\nconst availabilityChangeErrorMessage =\r\n \"Något gick fel när tillgängligheten uppdaterades. Vänligen uppdatera sidan och försök igen. Kontakta support om problemet kvarstår.\";\r\n\r\nexport default function CalenderModal({\r\n onError,\r\n applicationPeriod,\r\n site,\r\n onSiteUpdated,\r\n blockedDates\r\n}: CalenderModalProps) {\r\n const handleDateClicked = (clickedDate: Date) => {\r\n const dateWasPreviouslySelected = site.availableSiteDates.some(\r\n (a) => a.applicationPeriodId === applicationPeriod.id && isSameDay(new Date(a.availableDate), clickedDate)\r\n );\r\n\r\n let updatedSite: Site;\r\n\r\n if (dateWasPreviouslySelected) {\r\n deleteAvailableSiteDate(clickedDate);\r\n\r\n const previouslySelectedIndex = site.availableSiteDates.findIndex(\r\n (a) =>\r\n a.applicationPeriodId === applicationPeriod.id && isSameDay(new Date(a.availableDate), clickedDate)\r\n );\r\n\r\n updatedSite = { ...site };\r\n updatedSite.availableSiteDates.splice(previouslySelectedIndex, 1);\r\n } else {\r\n postAvailableSiteDate(clickedDate);\r\n\r\n const newAvailableSiteDate: AvailableSiteDate = {\r\n applicationPeriodId: applicationPeriod.id,\r\n siteId: site.id,\r\n availableDate: clickedDate\r\n };\r\n\r\n updatedSite = { ...site };\r\n updatedSite.availableSiteDates.push(newAvailableSiteDate);\r\n }\r\n\r\n onSiteUpdated(updatedSite);\r\n };\r\n\r\n const deleteAvailableSiteDate = async (date: Date) => {\r\n const requestInit: RequestInit = {\r\n method: \"DELETE\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (\r\n document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement\r\n ).value\r\n }\r\n };\r\n\r\n const deleteResult = await fetch(\r\n `/api/AvailableSiteDate/${applicationPeriod.id}/${site.id}/${date.getFullYear()}/${\r\n date.getMonth() + 1\r\n }/${date.getDate()}`,\r\n requestInit\r\n );\r\n\r\n if (!deleteResult.ok) {\r\n const errorMessage = await deleteResult.text();\r\n console.error(errorMessage);\r\n onError(availabilityChangeErrorMessage);\r\n }\r\n };\r\n\r\n const postAvailableSiteDate = async (date: Date) => {\r\n const requestBody = {\r\n applicationPeriodId: applicationPeriod.id,\r\n siteId: site.id,\r\n availableDate: date\r\n };\r\n\r\n const requestInit: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n RequestVerificationToken: (\r\n document.getElementsByName(\"__RequestVerificationToken\")[0] as HTMLInputElement\r\n ).value\r\n },\r\n body: JSON.stringify(requestBody)\r\n };\r\n\r\n const postResult = await fetch(\"/api/AvailableSiteDate\", requestInit);\r\n\r\n if (!postResult.ok) {\r\n const errorMessage = await postResult.text();\r\n console.error(errorMessage);\r\n onError(availabilityChangeErrorMessage);\r\n }\r\n };\r\n\r\n const availableSiteTimeIndex = site.availableSiteTimes.findIndex(\r\n (ast) => ast.applicationPeriodId === applicationPeriod.id\r\n );\r\n const availableSiteTime = availableSiteTimeIndex >= 0 ? site.availableSiteTimes[availableSiteTimeIndex] : undefined;\r\n\r\n const availableFromTimeChangeHandler = async (event: ChangeEvent) => {\r\n const availableFrom = event.target.value;\r\n\r\n const newSiteTime: AvailableSiteTime = {\r\n siteId: site.id,\r\n applicationPeriodId: applicationPeriod.id,\r\n availableFrom: availableFrom,\r\n availableTo: availableSiteTime ? availableSiteTime.availableTo : \"\"\r\n };\r\n\r\n if (availableSiteTimeIndex >= 0) {\r\n site.availableSiteTimes.splice(availableSiteTimeIndex, 1);\r\n }\r\n\r\n site.availableSiteTimes.push(newSiteTime);\r\n\r\n onSiteUpdated({ ...site });\r\n };\r\n\r\n const availableToTimeChangeHandler = async (event: ChangeEvent) => {\r\n const availableTo = event.target.value;\r\n\r\n const newSiteTime: AvailableSiteTime = {\r\n siteId: site.id,\r\n applicationPeriodId: applicationPeriod.id,\r\n availableTo: availableTo,\r\n availableFrom: availableSiteTime ? availableSiteTime.availableFrom : \"\"\r\n };\r\n\r\n if (availableSiteTimeIndex >= 0) {\r\n site.availableSiteTimes.splice(availableSiteTimeIndex, 1);\r\n }\r\n\r\n site.availableSiteTimes.push(newSiteTime);\r\n\r\n onSiteUpdated({ ...site });\r\n };\r\n\r\n const availableTimeBlurHandler = async () => {\r\n const toAndFromTimesAreProvided = availableSiteTime.availableFrom && availableSiteTime.availableTo;\r\n if (toAndFromTimesAreProvided) {\r\n const result = await postAvailableSiteTime(availableSiteTime);\r\n\r\n if (result.errorMessage) {\r\n console.error(result.errorMessage);\r\n onError(availabilityChangeErrorMessage);\r\n }\r\n }\r\n };\r\n\r\n const disableCalender = !availableSiteTime || !availableSiteTime.availableFrom || !availableSiteTime.availableTo;\r\n\r\n const enabledDates = getDateRange(applicationPeriod.occasionsFrom, applicationPeriod.occasionsTo).filter(\r\n (d) => !blockedDates.some((ed) => isSameDay(ed, d))\r\n );\r\n\r\n const selectedDates = site.availableSiteDates\r\n .filter((a) => a.applicationPeriodId === applicationPeriod.id)\r\n .map((a) => new Date(a.availableDate));\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Tillgänglighet för {site.name}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {disableCalender ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n disableCalender || !enabledDates.some((ed) => isSameDay(d, ed))}\r\n defaultMonth={new Date(applicationPeriod.occasionsFrom)}\r\n />\r\n
\r\n
\r\n
Tillgänglig tid
\r\n \r\n Här anger du när på dagen spelplatsen är tillgänglig. Tiden gäller för\r\n samtliga av de givna datumen.\r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { SiteType } from \"../../common/enums\";\r\nimport Site from \"../../types/Site\";\r\n\r\n\r\ntype SiteTableRowProps = {\r\n site: Site,\r\n applicationPeriodId: number;\r\n onCalenderButtonClick: (site: Site) => void;\r\n}\r\n\r\nfunction SiteTableRow({ site, applicationPeriodId, onCalenderButtonClick }: SiteTableRowProps) {\r\n const numberOfAvailableDates = site.availableSiteDates\r\n .filter(a => a.applicationPeriodId === applicationPeriodId)\r\n .length;\r\n\r\n return \r\n \r\n \r\n \r\n {site.name}\r\n {site.roomName}\r\n {SiteType[site.siteType as keyof typeof SiteType]}\r\n \r\n \r\n\r\n}\r\n\r\nexport default SiteTableRow;","import { Modal } from \"bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { SiteType } from \"../../common/enums\";\r\nimport ApplicationPeriod from \"../../types/ApplicationPeriod\";\r\nimport Site from \"../../types/Site\";\r\nimport LoadingSpinner from \"../Common/LoadingSpinner\";\r\nimport CalenderModal, { siteSelectionCalenderModalId } from \"./CalenderModal\";\r\nimport SiteTableRow from \"./SiteTableRow\";\r\nimport { pageLoadErrorMessage } from \"../../common/errorMessages\";\r\nimport {\r\n fetchAllSites,\r\n fetchApplicationPeriod,\r\n fetchBlockedDates,\r\n fetchBlockedDatesByApplicationPeriodId\r\n} from \"../../common/apiClient\";\r\n\r\ntype HandleSitesProps = {\r\n applicationPeriodId: number;\r\n};\r\n\r\nconst siteTypes = Object.entries(SiteType).filter((siteTypeEntry) => siteTypeEntry[1] !== SiteType.OwnStage);\r\n\r\nfunction SiteSelection({ applicationPeriodId }: HandleSitesProps) {\r\n const [sites, setSites] = useState();\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [searchInput, setSearchInput] = useState(\"\");\r\n const [selectedSiteType, setSelectedSiteType] = useState();\r\n const [applicationPeriod, setApplicationPeriod] = useState();\r\n const [calenderSite, setCalenderSite] = useState();\r\n const [blockedDates, setBlockedDates] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n const [sitesFetchResult, applicationPeriodFetchResult, blockedDatesFetchResult] = await Promise.all([\r\n fetchAllSites(),\r\n fetchApplicationPeriod(applicationPeriodId),\r\n fetchBlockedDatesByApplicationPeriodId(applicationPeriodId)\r\n ]);\r\n\r\n if (sitesFetchResult.errorMessage) {\r\n console.error(sitesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n if (applicationPeriodFetchResult.errorMessage) {\r\n console.error(applicationPeriodFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n if (sitesFetchResult.value.length > 0) {\r\n setCalenderSite(sitesFetchResult.value[0]);\r\n }\r\n\r\n if (blockedDatesFetchResult.errorMessage) {\r\n console.error(blockedDatesFetchResult.errorMessage);\r\n setErrorMessage(pageLoadErrorMessage);\r\n return;\r\n }\r\n\r\n setSites(sitesFetchResult.value);\r\n setApplicationPeriod(applicationPeriodFetchResult.value);\r\n setBlockedDates(blockedDatesFetchResult.value);\r\n };\r\n\r\n fetchData();\r\n }, []);\r\n\r\n if (sites === undefined || !applicationPeriod) {\r\n return ;\r\n }\r\n\r\n if (sites.length === 0) {\r\n return
Det finns inga spelplatser.
;\r\n }\r\n\r\n const siteChangeHandler = (updatedSite: Site) => {\r\n setSites((prevSites) => prevSites.map((s) => (s.id === updatedSite.id ? updatedSite : s)));\r\n\r\n if (calenderSite.id === updatedSite.id) {\r\n setCalenderSite(updatedSite);\r\n }\r\n };\r\n\r\n const calenderButtonClickHandler = (site: Site) => {\r\n setCalenderSite(site);\r\n\r\n const modal = new Modal(document.getElementById(siteSelectionCalenderModalId));\r\n modal.show();\r\n };\r\n\r\n let currentSites = sites;\r\n\r\n if (searchInput) {\r\n currentSites = currentSites.filter(\r\n (s) =>\r\n s.name.toLowerCase().includes(searchInput.toLowerCase()) ||\r\n s.roomName.toLowerCase().includes(searchInput.toLowerCase())\r\n );\r\n }\r\n\r\n if (selectedSiteType) {\r\n currentSites = currentSites.filter((s) => (s.siteType as SiteType) === selectedSiteType);\r\n }\r\n\r\n const siteListItems = currentSites.map((s) => (\r\n \r\n ));\r\n\r\n const siteTypeOptions = siteTypes.map((siteTypeEntry) => (\r\n \r\n ));\r\n\r\n siteTypeOptions.unshift(\r\n \r\n );\r\n\r\n return (\r\n <>\r\n {errorMessage ?
{errorMessage}
: \"\"}\r\n
\r\n

Tillgängliga spelplatser {applicationPeriod.name}

\r\n\r\n \r\n \r\n Exportera kontaktuppgifter\r\n \r\n
\r\n
\r\n
\r\n \r\n setSearchInput(e.target.value)}\r\n placeholder=\"Sök på plats eller lokalnamn\"\r\n style={{ width: \"16rem\" }}\r\n />\r\n
\r\n
\r\n \r\n setSelectedSiteType(e.target.value as SiteType)}\r\n >\r\n {siteTypeOptions}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {siteListItems}\r\n
PlatsLokalnamnTyp av lokalAntal tillgängliga datum
\r\n
\r\n setErrorMessage(message)}\r\n applicationPeriod={applicationPeriod}\r\n site={calenderSite}\r\n onSiteUpdated={siteChangeHandler}\r\n blockedDates={blockedDates}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default SiteSelection;\r\n","export class ApplicationPeriodCreateUpdate {\r\n enableTotalBudget() {\r\n const budgetInputs = Array.from(document.querySelectorAll(\"input[data-budget], input[data-budget-cm]\"));\r\n\r\n budgetInputs.forEach((input) => input.addEventListener(\"change\", this.updateTotalBudget));\r\n\r\n this.updateTotalBudget();\r\n }\r\n\r\n updateTotalBudget() {\r\n const budgetInputs = Array.from(document.querySelectorAll(\"input[data-budget]\"));\r\n const budgetCMInputs = Array.from(document.querySelectorAll(\"input[data-budget-cm]\"));\r\n\r\n const totalBudgetInput = document.getElementById(\"total-budget\") as HTMLInputElement;\r\n const totalBudgetCMInput = document.getElementById(\"total-budget-cm\") as HTMLInputElement;\r\n\r\n const currentTotalBudget = budgetInputs\r\n .map((input) => (input.value ? Number.parseFloat(input.value) : 0))\r\n .reduce((a, b) => a + b)\r\n .toString();\r\n\r\n const currentTotalBudgetCM = budgetCMInputs\r\n .map((input) => (input.value ? Number.parseFloat(input.value) : 0))\r\n .reduce((a, b) => a + b)\r\n .toString();\r\n\r\n totalBudgetInput.value = currentTotalBudget;\r\n totalBudgetCMInput.value = currentTotalBudgetCM;\r\n }\r\n}\r\n","import Swal from \"sweetalert2\";\r\n\r\nexport default class ApplicationPeriodsIndex {\r\n enable() {\r\n this.publishToCulturalArtsBooking();\r\n }\r\n\r\n publishToCulturalArtsBooking() {\r\n const requestVerificationToken = document.querySelector(\r\n 'input[name=\"__RequestVerificationToken\"]'\r\n ) as HTMLInputElement;\r\n\r\n if (!requestVerificationToken) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const publishButtons = document.querySelectorAll(\"button[data-publish]\");\r\n\r\n publishButtons.forEach((button) => {\r\n button.addEventListener(\"click\", async (e) => {\r\n e.preventDefault();\r\n\r\n const text = button.dataset[\"publish\"];\r\n\r\n const url = button.dataset[\"url\"];\r\n\r\n const swalResult = await Swal.fire({\r\n title: \"Publicera evenemang\",\r\n text: text,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Publicera till KuBo\",\r\n cancelButtonText: \"Avbryt\"\r\n });\r\n\r\n if (swalResult.isConfirmed) {\r\n const headers = { RequestVerificationToken: requestVerificationToken.value };\r\n\r\n const responsePromise = fetch(url, { method: \"POST\", headers: headers });\r\n\r\n const response = await responsePromise;\r\n\r\n if (response.ok) {\r\n button.remove();\r\n\r\n Swal.fire({\r\n title: \"Publiceringen till KuBo har startat\",\r\n text: \"Detta kan ta några minuter. Du behöver inte vänta på denna sida under tiden. När publiceringen är färdig kommer evenemangen synas i KuBo.\",\r\n icon: \"success\"\r\n });\r\n } else {\r\n const error = await response.text();\r\n console.error(error);\r\n\r\n Swal.fire({\r\n title: \"Evenemangen kunde inte publiceras\",\r\n text: \"Kontakta support om problement kvarstår.\",\r\n icon: \"error\"\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","interface ActorInfo {\r\n actorDescription: string,\r\n organisationNumber: string,\r\n signatory: string,\r\n actorAddress: string,\r\n actorPostalCode: string,\r\n actorPostalAddress: string,\r\n contactName: string,\r\n contactPhoneNumber: string,\r\n contactEmailAddress: string\r\n}\r\n\r\nexport default class ApplicationCreateUpdate {\r\n enable() {\r\n const id = parseInt((document.getElementById('ViewModel_Id') as HTMLInputElement).value || '0');\r\n const isNewApplication = id === 0;\r\n \r\n if (isNewApplication) {\r\n this.watchCultureProviderChanges();\r\n }\r\n \r\n this.watchTicketPriceChanges();\r\n this.updateTotalTicketPrice();\r\n \r\n this.watchOccasionPriceChanges();\r\n this.updateTotalOccasionPrice();\r\n }\r\n \r\n watchTicketPriceChanges() {\r\n const ticketPriceInput = document.getElementById('ViewModel_TicketPrice') as HTMLInputElement;\r\n const numberOfSeatsInput = document.getElementById('ViewModel_NumberOfSeats') as HTMLInputElement;\r\n \r\n ticketPriceInput.addEventListener('change', e => this.updateTotalTicketPrice());\r\n numberOfSeatsInput.addEventListener('change', e => this.updateTotalTicketPrice());\r\n }\r\n \r\n updateTotalTicketPrice() {\r\n const ticketPrice = parseInt((document.getElementById('ViewModel_TicketPrice') as HTMLInputElement).value || '0');\r\n const numberOfSeats = parseInt((document.getElementById('ViewModel_NumberOfSeats') as HTMLInputElement).value || '0');\r\n const totalPriceInput = document.getElementById('ViewModel_TotalTicketPrice') as HTMLInputElement;\r\n totalPriceInput.value = `${ticketPrice * numberOfSeats}`;\r\n }\r\n\r\n watchOccasionPriceChanges() {\r\n const occasionPriceInput = document.getElementById('ViewModel_OccasionPrice') as HTMLInputElement;\r\n const occasionPrice2Input = document.getElementById('ViewModel_OccasionPrice2') as HTMLInputElement;\r\n\r\n occasionPriceInput.addEventListener('change', e => this.updateTotalOccasionPrice());\r\n occasionPrice2Input.addEventListener('change', e => this.updateTotalOccasionPrice());\r\n }\r\n\r\n updateTotalOccasionPrice() {\r\n const occasionPrice = parseInt((document.getElementById('ViewModel_OccasionPrice') as HTMLInputElement).value || '0');\r\n const occasionPrice2 = parseInt((document.getElementById('ViewModel_OccasionPrice2') as HTMLInputElement).value || '0');\r\n const totalPriceInput = document.getElementById('ViewModel_TotalOccasionPrice') as HTMLInputElement;\r\n totalPriceInput.value = `${occasionPrice + occasionPrice2}`;\r\n }\r\n\r\n\r\n watchCultureProviderChanges() {\r\n const cultureProviderSelect = document.getElementById('ViewModel_CultureProviderId') as HTMLSelectElement;\r\n cultureProviderSelect.addEventListener('change', async (event) => {\r\n const currentCultureProviderId = parseInt(cultureProviderSelect.value || '0');\r\n if (currentCultureProviderId === 0) {\r\n this.clearCultureProviderInfo();\r\n } else {\r\n const response = await fetch(`/api/actor/${currentCultureProviderId}`);\r\n const actorInfo = await response.json() as ActorInfo;\r\n this.applyActorInfo(actorInfo);\r\n }\r\n });\r\n }\r\n \r\n clearCultureProviderInfo() {\r\n (document.getElementById('ViewModel_ActorDescription') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_OrganisationNumber') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_Signatory') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ActorAddress') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ActorPostalCode') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ActorPostalAddress') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ContactName') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ContactPhoneNumber') as HTMLInputElement).value = '';\r\n (document.getElementById('ViewModel_ContactEmailAddress') as HTMLInputElement).value = '';\r\n }\r\n \r\n applyActorInfo(actorInfo: ActorInfo) {\r\n (document.getElementById('ViewModel_ActorDescription') as HTMLInputElement).value = actorInfo.actorDescription;\r\n (document.getElementById('ViewModel_OrganisationNumber') as HTMLInputElement).value = actorInfo.organisationNumber;\r\n (document.getElementById('ViewModel_Signatory') as HTMLInputElement).value = actorInfo.signatory;\r\n (document.getElementById('ViewModel_ActorAddress') as HTMLInputElement).value = actorInfo.actorAddress;\r\n (document.getElementById('ViewModel_ActorPostalCode') as HTMLInputElement).value = actorInfo.actorPostalCode;\r\n (document.getElementById('ViewModel_ActorPostalAddress') as HTMLInputElement).value = actorInfo.actorPostalAddress;\r\n (document.getElementById('ViewModel_ContactName') as HTMLInputElement).value = actorInfo.contactName;\r\n (document.getElementById('ViewModel_ContactPhoneNumber') as HTMLInputElement).value = actorInfo.contactPhoneNumber;\r\n (document.getElementById('ViewModel_ContactEmailAddress') as HTMLInputElement).value = actorInfo.contactEmailAddress;\r\n }\r\n \r\n}","import Swal from \"sweetalert2\";\r\n\r\nexport default class ApplicationDisplay {\r\n enableUpdatePossibleOccasionDates() {\r\n const saveButton = document.querySelector(\"button[data-save-possible-occasion-dates]\") as HTMLButtonElement;\r\n\r\n if (!saveButton) return;\r\n\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const datePicker = saveButton.parentElement.querySelector(\"input\");\r\n const url = saveButton.dataset.url;\r\n\r\n saveButton.onclick = async () => {\r\n const selectedDates = datePicker.value.split(\",\").map((dateString) => new Date(dateString));\r\n\r\n const headers = { RequestVerificationToken: antiforgeryInput.value, \"content-type\": \"application/json\" };\r\n const body = JSON.stringify(selectedDates);\r\n const response = await fetch(url, { method: \"PUT\", headers, body });\r\n if (response.ok) {\r\n Swal.fire({\r\n text: \"De möjliga datumen för evenemanget har uppdaterats.\",\r\n icon: \"success\"\r\n });\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n };\r\n }\r\n}\r\n","import Swal from \"sweetalert2\";\r\n\r\nexport default class ApplicationsIndex {\r\n enable() {\r\n this.copyApplication();\r\n this.markApproved();\r\n this.unmarkApproved();\r\n this.markNew();\r\n this.unmarkNew();\r\n this.markPremiere();\r\n this.unmarkPremiere();\r\n this.markFinancedExternally();\r\n this.unmarkFinancedExternally();\r\n this.filter();\r\n this.unlockPossibleOccasionDates();\r\n this.lockPossibleOccasionDates();\r\n this.reject();\r\n }\r\n\r\n copyApplication() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const deleteButtons = document.querySelectorAll(\"button[data-copy]\");\r\n for (let i = 0; i < deleteButtons.length; i++) {\r\n const copyButton = deleteButtons[i] as HTMLButtonElement;\r\n copyButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = copyButton.dataset[\"copy\"];\r\n const url = copyButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"POST\", headers });\r\n if (response.ok) {\r\n const responseHeaderLocation = response.headers.get(\"location\");\r\n if (responseHeaderLocation) {\r\n window.location.href = responseHeaderLocation;\r\n } else {\r\n window.location.reload();\r\n }\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n markApproved() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const approveButtons = document.querySelectorAll(\"button[data-approve]\");\r\n for (let i = 0; i < approveButtons.length; i++) {\r\n const approveButton = approveButtons[i] as HTMLButtonElement;\r\n approveButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = approveButton.dataset[\"approve\"];\r\n const url = approveButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n unmarkApproved() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const approveButtons = document.querySelectorAll(\"button[data-remove-approval]\");\r\n for (let i = 0; i < approveButtons.length; i++) {\r\n const approveButton = approveButtons[i] as HTMLButtonElement;\r\n approveButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = approveButton.dataset[\"removeApproval\"];\r\n const url = approveButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n markNew() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const markNewButtons = document.querySelectorAll(\"button[data-mark-new]\");\r\n\r\n for (let i = 0; i < markNewButtons.length; i++) {\r\n const markNewButton = markNewButtons[i] as HTMLButtonElement;\r\n markNewButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = markNewButton.dataset[\"markNew\"];\r\n const url = markNewButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n unmarkNew() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const removeNewMarkingButtons = document.querySelectorAll(\"button[data-remove-new]\");\r\n\r\n for (let i = 0; i < removeNewMarkingButtons.length; i++) {\r\n const removeNewMarkingButton = removeNewMarkingButtons[i] as HTMLButtonElement;\r\n removeNewMarkingButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = removeNewMarkingButton.dataset[\"removeNew\"];\r\n const url = removeNewMarkingButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n markPremiere() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const markPremiereButtons = document.querySelectorAll(\"button[data-mark-premiere]\");\r\n\r\n for (let i = 0; i < markPremiereButtons.length; i++) {\r\n const markNewButton = markPremiereButtons[i] as HTMLButtonElement;\r\n markNewButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = markNewButton.dataset[\"markPremiere\"];\r\n const url = markNewButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n unmarkPremiere() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const removePremiereMarkingButtons = document.querySelectorAll(\"button[data-remove-premiere]\");\r\n\r\n for (let i = 0; i < removePremiereMarkingButtons.length; i++) {\r\n const markNewButton = removePremiereMarkingButtons[i] as HTMLButtonElement;\r\n markNewButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = markNewButton.dataset[\"removePremiere\"];\r\n const url = markNewButton.dataset[\"url\"];\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n markFinancedExternally() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const markFinancedExternallyButtons = document.querySelectorAll(\"button[data-mark-financed-externally]\");\r\n\r\n for (let i = 0; i < markFinancedExternallyButtons.length; i++) {\r\n const markNewButton = markFinancedExternallyButtons[i] as HTMLButtonElement;\r\n markNewButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = markNewButton.dataset.markFinancedExternally;\r\n const url = markNewButton.dataset.url;\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n unmarkFinancedExternally() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const removeFinancedExternallyButtons = document.querySelectorAll(\"button[data-remove-financed-externally]\");\r\n\r\n for (let i = 0; i < removeFinancedExternallyButtons.length; i++) {\r\n const markNewButton = removeFinancedExternallyButtons[i] as HTMLButtonElement;\r\n markNewButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const text = markNewButton.dataset.removeFinancedExternally;\r\n const url = markNewButton.dataset.url;\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: text,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n filter() {\r\n const filterForm = document.getElementById(\"filter-form\") as HTMLFormElement;\r\n\r\n const formSelects = filterForm.querySelectorAll(\"select\");\r\n\r\n formSelects.forEach((select) =>\r\n select.addEventListener(\"change\", () => {\r\n const filterData = new FormData(filterForm);\r\n const queryParams = new URLSearchParams(filterData as any);\r\n\r\n window.location.search = queryParams.toString();\r\n })\r\n );\r\n }\r\n\r\n unlockPossibleOccasionDates() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const buttons = document.querySelectorAll(\"button[data-unlock-possible-occasions]\");\r\n\r\n for (let i = 0; i < buttons.length; i++) {\r\n const button = buttons[i] as HTMLButtonElement;\r\n const url = button.dataset.url;\r\n\r\n button.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n\r\n Swal.fire({\r\n title: \"Lås upp möjliga datum\",\r\n icon: \"question\",\r\n width: \"800px\",\r\n html: `\r\n
\r\n
\r\n Här kan du låsa upp möjligheten för aktören att ange möjliga datum för evenemanget. \r\n Nedan anger du hur länge möjligheten att justera datum ska vara öppen.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n `,\r\n\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Lås upp möjliga datum\",\r\n cancelButtonText: \"Avbryt\",\r\n preConfirm: () => {\r\n const datePicker = document.getElementById(\"possible-occasion-dates\") as HTMLInputElement;\r\n\r\n const selectedDate = datePicker.value;\r\n\r\n if (!selectedDate) {\r\n Swal.showValidationMessage(\"Du måste ange ett datum\");\r\n return false;\r\n }\r\n\r\n return new Date(selectedDate);\r\n }\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = {\r\n RequestVerificationToken: antiforgeryInput.value,\r\n \"Content-Type\": \"application/json\"\r\n };\r\n const body = JSON.stringify(result.value);\r\n\r\n const response = await fetch(url, { method: \"PUT\", headers, body: body });\r\n\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n lockPossibleOccasionDates() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const buttons = document.querySelectorAll(\"button[data-lock-possible-occasions]\");\r\n\r\n for (let i = 0; i < buttons.length; i++) {\r\n const button = buttons[i] as HTMLButtonElement;\r\n const url = button.dataset.url;\r\n\r\n button.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n\r\n Swal.fire({\r\n title: \"Intresseanmälan\",\r\n text: \"Vill du låsa möjligheten för aktören att redigera möjliga datum i intresseanmälan?\",\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const headers = { RequestVerificationToken: antiforgeryInput.value };\r\n\r\n const response = await fetch(url, { method: \"PUT\", headers });\r\n\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n reject() {\r\n const antiforgeryInput = document.querySelector('input[name=\"__RequestVerificationToken\"]') as HTMLInputElement;\r\n if (antiforgeryInput == null) {\r\n alert(\"Det finns ingen AntiforgeryToken\");\r\n return;\r\n }\r\n\r\n const rejectSubmissionButtons = document.querySelectorAll(\"button[data-reject]\");\r\n\r\n for (let i = 0; i < rejectSubmissionButtons.length; i++) {\r\n const button = rejectSubmissionButtons[i] as HTMLButtonElement;\r\n const url = button.dataset.url;\r\n\r\n button.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n\r\n Swal.fire({\r\n title: \"Backa intresseanmälan\",\r\n width: \"800px\",\r\n html: `\r\n
\r\n
\r\n Här kan du backa aktörens intresseanmälan. Om du lämnar en kommentar kommer denna skickas till aktören. Om ingen kommentar lämnas \r\n kommer inte aktören notifieras om att deras intresseanmälan har blivit backad. \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n `,\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Backa intresseanmälan\",\r\n cancelButtonText: \"Avbryt\"\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n const rejectionComment = document.getElementById(\"rejection-comment\") as HTMLTextAreaElement;\r\n\r\n const body = JSON.stringify(rejectionComment.value);\r\n\r\n const headers = {\r\n RequestVerificationToken: antiforgeryInput.value,\r\n \"Content-Type\": \"application/json\"\r\n };\r\n\r\n const response = await fetch(url, { method: \"PUT\", headers, body });\r\n\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","\r\nexport default class SiteCreateUpdate {\r\n\r\n enableSitePriceSelection = () => {\r\n\r\n const secondarySiteTypeSelect = document.getElementById(\"secondary-site-type\") as HTMLInputElement;\r\n secondarySiteTypeSelect.addEventListener(\"change\", this.checkSitePriceSelection);\r\n this.checkSitePriceSelection();\r\n }; \r\n\r\n checkSitePriceSelection() {\r\n const externalPriceOptions = document.getElementById(\"external-price-options\") as HTMLInputElement;\r\n const secondarySiteTypeSelect = document.getElementById(\"secondary-site-type\") as HTMLInputElement;\r\n if (secondarySiteTypeSelect.value === \"External\") {\r\n externalPriceOptions.style.display = \"block\";\r\n } else {\r\n externalPriceOptions.style.display = \"none\";\r\n }\r\n }\r\n}","import Swal from \"sweetalert2\";\r\nimport { getRequestVerificationToken } from \"../../Content/ts/common\";\r\n\r\nexport default class SitesIndex {\r\n enableDeleteSites() {\r\n const deleteSiteButtons = document.querySelectorAll(\"button[data-delete-site]\");\r\n const requestVerificationToken = getRequestVerificationToken();\r\n\r\n deleteSiteButtons.forEach((button) => {\r\n const url = button.dataset.url;\r\n const siteName = button.dataset.siteName;\r\n const roomName = button.dataset.roomName;\r\n\r\n button.onclick = () => {\r\n Swal.fire({\r\n icon: \"warning\",\r\n text: `Är du säker på att du vill ta bort ${siteName} - ${roomName}?`,\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Ja\",\r\n cancelButtonText: \"Nej\"\r\n }).then(async (result) => {\r\n if (!result.isConfirmed) return;\r\n\r\n const config: RequestInit = {\r\n method: \"DELETE\",\r\n headers: { RequestVerificationToken: requestVerificationToken }\r\n };\r\n\r\n const response = await fetch(url, config);\r\n\r\n if (response.ok) {\r\n window.location.reload();\r\n } else {\r\n const data = await response.text();\r\n alert(data);\r\n }\r\n });\r\n };\r\n });\r\n }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"app\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkculturalartsplanning\"] = self[\"webpackChunkculturalartsplanning\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(\"./Content/ts/app.tsx\")))\n__webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(\"./Content/scss/app.scss\")))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(\"./Content/scss/vendors.scss\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}