{"version":3,"sources":["webpack:///./app/javascript/src/date_select_wrapper.jsx"],"names":["initialSelectedDates","campForm","document","querySelector","campEventType","initialHiddenFieldValues","dataset","selected","JSON","parse","Date","addEventListener","event","value","render","Component","withMultipleDates","Calendar","interpolateSelection","defaultMultipleDateInterpolation","ref","pageComponent","window","onSelect","dateSelection","startDateField","getElementById","endDateField","sessionDatesField","selectedDatesArr","state","includes","filter","item","push","startDate","sort","a","b","Number","endDate","at","allSessionDates","Set","length","calValidation","innerHTML","classList","remove","add","calendar","displayOptions","showTodayHelper","showOverlay","withRange","height","minDate","start","end","eventType"],"mappings":"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","file":"js/9-412ee97c4e597052c44b.chunk.js","sourcesContent":["import React from \"react\";\nimport { render } from \"react-dom\";\nimport InfiniteCalendar, { Calendar, withRange, withMultipleDates, defaultMultipleDateInterpolation } from \"react-infinite-calendar\";\n\nlet campForm = document.querySelector(\".camp-form\");\nlet campEventType = document.querySelector(\"#camp_event_type\");\nlet initialHiddenFieldValues = document.querySelector(\"#session_dates__\");\nlet initialSelectedDates;\n\nif (initialHiddenFieldValues?.dataset?.selected){ \n initialSelectedDates = JSON.parse(initialHiddenFieldValues.dataset.selected);\n} else {\n initialSelectedDates = [new Date()];\n} \n\nif (campEventType) {\n campEventType.addEventListener('change', (event) => {\n if (campForm && campEventType.value == 'sessions') {\n render(\n {window.pageComponent = pageComponent}}\n onSelect={function(dateSelection) {\n\n let startDateField = document.getElementById(\"camp_start_date\");\n let endDateField = document.getElementById(\"camp_end_date\");\n let sessionDatesField = document.getElementById(\"session_dates__\");\n let selectedDatesArr = [...window.pageComponent.state.selected];\n if (selectedDatesArr.includes(dateSelection)){\n selectedDatesArr = selectedDatesArr.filter(item => item != dateSelection)\n } else {\n selectedDatesArr.push(new Date(dateSelection));\n }\n selectedDatesArr = selectedDatesArr.sort((a,b)=> Number(a)-Number(b))\n let startDate = selectedDatesArr[0];\n let endDate = selectedDatesArr.at(-1);\n let allSessionDates = [...new Set(selectedDatesArr)]\n\n if (allSessionDates.length < 1) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set an end date below - for a one day camp, double click your desired date.';\n }\n\n if (allSessionDates.length > 1) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n sessionDatesField.value = allSessionDates;\n\n if (startDate <= endDate) {\n startDateField.value = startDate;\n endDateField.value = endDate;\n sessionDatesField.value = allSessionDates;\n calValidation.classList.add(\"valid\");\n calValidation.innerHTML =\n ' Success!';\n } else {\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set a date below.';\n }\n }\n }}\n />,\n calendar\n );\n } else {\n render(\n To save your event successfully set an end date below - for a one day camp, double click your desired date.';\n }\n if (dateSelection.eventType == 3) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n if (dateSelection.start <= dateSelection.end) {\n startDateField.value = dateSelection.start;\n endDateField.value = dateSelection.end;\n calValidation.classList.add(\"valid\");\n calValidation.innerHTML =\n ' Success!';\n } else {\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set a date below.';\n }\n }\n }}\n />,\n calendar\n );\n }\n });\n\n if (campForm && campEventType.value == 'sessions') {\n render(\n {window.pageComponent = pageComponent}}\n onSelect={function(dateSelection) {\n let startDateField = document.getElementById(\"camp_start_date\");\n let endDateField = document.getElementById(\"camp_end_date\");\n let sessionDatesField = document.getElementById(\"session_dates__\");\n let selectedDatesArr = [...window.pageComponent.state.selected];\n if (selectedDatesArr.includes(dateSelection)){\n selectedDatesArr = selectedDatesArr.filter(item => item != dateSelection)\n } else {\n selectedDatesArr.push(new Date(dateSelection));\n }\n selectedDatesArr = selectedDatesArr.sort((a,b)=> Number(a)-Number(b))\n let startDate = selectedDatesArr[0];\n let endDate = selectedDatesArr.at(-1);\n let allSessionDates = [...new Set(selectedDatesArr)]\n if (allSessionDates.length < 1) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set an end date below - for a one day camp, double click your desired date.';\n }\n\n if (allSessionDates.length > 1) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n sessionDatesField.value = allSessionDates;\n if (startDate <= endDate) {\n startDateField.value = startDate;\n endDateField.value = endDate;\n sessionDatesField.value = allSessionDates;\n calValidation.classList.add(\"valid\");\n calValidation.innerHTML =\n ' Success!';\n } else {\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set a date below.';\n }\n }\n }}\n />,\n calendar\n );\n } else {\n render(\n To save your event successfully set an end date below - for a one day camp, double click your desired date.';\n }\n if (dateSelection.eventType == 3) {\n let calValidation = document.getElementById(\n \"calendar-validation-message\"\n );\n calValidation.innerHTML = \"\";\n calValidation.classList.remove(\"valid\");\n if (dateSelection.start <= dateSelection.end) {\n startDateField.value = dateSelection.start;\n endDateField.value = dateSelection.end;\n calValidation.classList.add(\"valid\");\n calValidation.innerHTML =\n ' Success!';\n } else {\n calValidation.classList.add(\"invalid\");\n calValidation.innerHTML =\n ' To save your event successfully set a date below.';\n }\n }\n }}\n />,\n calendar\n );\n }\n}\n\n"],"sourceRoot":""}