{"version":3,"file":"dancestyle-show--sjRQWRX.js","sources":["../../../app/frontend/entrypoints/dancestyle-show.js"],"sourcesContent":["document.addEventListener('turbo:load', function () {\n var calendar;\n\n // Select the calendar pane element\n var calendarPaneEl = document.querySelector('[id^=\"calendarPane-\"]'); // Use a more flexible selector\n if (!calendarPaneEl) {\n console.error('Calendar pane element not found');\n return;\n }\n\n // Get the dance style id and slug from data attributes\n var danceStyleId = calendarPaneEl.dataset.dancestyleId;\n var danceStyleSlug = calendarPaneEl.dataset.dancestyleSlug;\n\n if (!danceStyleId || !danceStyleSlug) {\n console.error('Dance style ID or slug not found');\n return;\n }\n\n // Now use the dance style id and slug in your selectors and URLs\n var calendarEl = document.getElementById('calendar');\n var calendarTabEl = document.getElementById(`calendar-tab-${danceStyleId}`);\n\n calendar = new FullCalendar.Calendar(calendarEl, {\n headerToolbar: {\n right: 'prev,next today',\n center: 'title',\n left: 'dayGridMonth,timeGridWeek,timeGridDay',\n },\n initialView: 'dayGridMonth',\n events: '/dance_styles/' + danceStyleSlug + '/events',\n eventColor: '#ffdd9c',\n height: 'auto',\n timeZone: '<%= @event.timezone %>', // If @event is available, otherwise handle it too\n eventContent: function (info) {\n let titleElement = document.createElement('div');\n titleElement.classList.add('fc-event-title');\n titleElement.innerHTML = `\n ${info.event.title}\n `;\n return { domNodes: [titleElement] };\n },\n eventDidMount: function (info) {\n let eventEl = info.el;\n eventEl.style.height = 'auto';\n eventEl.style.whiteSpace = 'normal';\n eventEl.style.minHeight = '30px';\n },\n eventClick: function (info) {\n info.jsEvent.preventDefault();\n info.jsEvent.stopPropagation();\n updateModalWithContent(info.event.url, 'event');\n },\n });\n\n calendar.render();\n\n // Event listeners for click on calendar tab\n document.body.addEventListener('click', function (e) {\n if (e.target && e.target.id === `calendar-tab-${danceStyleId}`) {\n setTimeout(function () {\n if (calendar) {\n calendar.updateSize();\n } else {\n console.error('Calendar is not initialized');\n }\n }, 100);\n }\n });\n});\n"],"names":["calendar","calendarPaneEl","danceStyleId","danceStyleSlug","calendarEl","info","titleElement","eventEl"],"mappings":"AAAA,SAAS,iBAAiB,aAAc,UAAY,CAClD,IAAIA,EAGAC,EAAiB,SAAS,cAAc,uBAAuB,EACnE,GAAI,CAACA,EAAgB,CACnB,QAAQ,MAAM,iCAAiC,EAC/C,MACJ,CAGE,IAAIC,EAAeD,EAAe,QAAQ,aACtCE,EAAiBF,EAAe,QAAQ,eAE5C,GAAI,CAACC,GAAgB,CAACC,EAAgB,CACpC,QAAQ,MAAM,kCAAkC,EAChD,MACJ,CAGE,IAAIC,EAAa,SAAS,eAAe,UAAU,EAC/B,SAAS,eAAe,gBAAgBF,CAAY,EAAE,EAE1EF,EAAW,IAAI,aAAa,SAASI,EAAY,CAC/C,cAAe,CACb,MAAO,kBACP,OAAQ,QACR,KAAM,uCACP,EACD,YAAa,eACb,OAAQ,iBAAmBD,EAAiB,UAC5C,WAAY,UACZ,OAAQ,OACR,SAAU,yBACV,aAAc,SAAUE,EAAM,CAC5B,IAAIC,EAAe,SAAS,cAAc,KAAK,EAC/C,OAAAA,EAAa,UAAU,IAAI,gBAAgB,EAC3CA,EAAa,UAAY;AAAA,iDACkBD,EAAK,MAAM,KAAK;AAAA,cAEpD,CAAE,SAAU,CAACC,CAAY,CAAG,CACpC,EACD,cAAe,SAAUD,EAAM,CAC7B,IAAIE,EAAUF,EAAK,GACnBE,EAAQ,MAAM,OAAS,OACvBA,EAAQ,MAAM,WAAa,SAC3BA,EAAQ,MAAM,UAAY,MAC3B,EACD,WAAY,SAAUF,EAAM,CAC1BA,EAAK,QAAQ,eAAgB,EAC7BA,EAAK,QAAQ,gBAAiB,EAC9B,uBAAuBA,EAAK,MAAM,IAAK,OAAO,CAC/C,CACL,CAAG,EAEDL,EAAS,OAAQ,EAGjB,SAAS,KAAK,iBAAiB,QAAS,SAAU,EAAG,CAC/C,EAAE,QAAU,EAAE,OAAO,KAAO,gBAAgBE,CAAY,IAC1D,WAAW,UAAY,CACjBF,EACFA,EAAS,WAAY,EAErB,QAAQ,MAAM,6BAA6B,CAE9C,EAAE,GAAG,CAEZ,CAAG,CACH,CAAC"}