refactor(FullCalendar): Update FullCalendar to v6.1#1359
Merged
JohnVillalovos merged 1 commit intoLibreBooking:developfrom Apr 24, 2026
Merged
refactor(FullCalendar): Update FullCalendar to v6.1#1359JohnVillalovos merged 1 commit intoLibreBooking:developfrom
JohnVillalovos merged 1 commit intoLibreBooking:developfrom
Conversation
85d1d1d to
88c2374
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Upgrades the app’s calendar integration from FullCalendar v3.4 to v6.1, adds List view support, and replaces Moment.js-dependent date handling with date-helper.js.
Changes:
- Switch FullCalendar JS includes to v6 global bundles (core + locales) and remove v3 CSS includes.
- Refactor calendar and admin schedule management scripts to FullCalendar v6 APIs (events, clicks, drag/drop, view mapping).
- Extend UI: add List view button text and hide the day-dialog “Create” action when a schedule-only filter is selected.
Reviewed changes
Copilot reviewed 9 out of 85 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tpl/javascript-includes.tpl | Loads FullCalendar v6 global JS and locales bundle. |
| tpl/globalheader.tpl | Removes v3 FullCalendar CSS includes (needs v6 CSS replacement). |
| tpl/Calendar/calendar-page-base.tpl | Adds date-helper.js, updates default date handling, adds List label. |
| tpl/Admin/Schedules/manage_schedules.tpl | Enlarges custom layout modal; adds List label for FullCalendar buttons. |
| eslint.config.mjs | Declares FullCalendar global for linting. |
| Web/scripts/date-helper.js | Exports pad and provides date/time utilities to replace Moment usage. |
| Web/scripts/calendar.js | Migrates main calendar to FullCalendar v6 API; adds List view + dayDialog create-button hiding logic. |
| Web/scripts/admin/schedule.js | Migrates admin schedule layout calendar to FullCalendar v6 API. |
| Web/css/librebooking.css | Adds/adjusts styles targeting FullCalendar v6 DOM/CSS classes. |
| Web/assets/vendor/fullcalendar/6.1.20/metadata.json | Updates vendored FullCalendar metadata to v6.1.20. |
| Web/assets/vendor/fullcalendar/6.1.20/js/locales-all.global.min.js | Adds FullCalendar v6 locales bundle. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/af.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-dz.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-kw.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-ly.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-ma.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-sa.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar-tn.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ar.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/bg.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ca.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/cs.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/da.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/de-at.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/de-ch.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/de.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/el.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/en-au.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/en-ca.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/en-gb.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/en-ie.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/en-nz.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/es-do.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/es.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/et.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/eu.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/fa.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/fi.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/fr-ca.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/fr-ch.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/fr.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/gl.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/he.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/hi.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/hr.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/hu.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/id.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/is.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/it.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ja.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/kk.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ko.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/lb.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/lt.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/lv.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/mk.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ms-my.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ms.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/nb.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/nl-be.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/nl.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/nn.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/pl.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/pt-br.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/pt.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ro.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/ru.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/sk.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/sl.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/sr-cyrl.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/sr.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/sv.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/th.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/tr.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/uk.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/vi.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/zh-cn.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/js/lang/zh-tw.js | Removes v3 locale file. |
| Web/assets/vendor/fullcalendar/3.4.0/css/fullcalendar.print.min.css | Removes v3 print CSS. |
| Web/assets/vendor/fullcalendar/3.4.0/css/fullcalendar.print.css | Removes v3 print CSS (unminified). |
| Web/assets/vendor/fullcalendar/3.4.0/css/fullcalendar.min.css | Removes v3 base CSS. |
Comments suppressed due to low confidence (1)
Web/scripts/calendar.js:201
gidis always reset to an empty string on filter change, which will clear any currently-selected group (the page supportsgidin the URL and_options.eventsData.gidis initialized from it). This likely breaks group filtering when changing schedule/resource. Preserve the existing group id (e.g., from_options.eventsData.gidorgetQueryStringValue('gid')) instead of forcinggid = ''.
88c2374 to
b099f57
Compare
b099f57 to
46780b1
Compare
- Upgrade FullCalendar from v3.4 to v6.1. - The List view of FullCalendar is implemented. - In dayDialog, the dayDialogCreate button is hidden if a schedule is selected in the filter; this prevents an incorrect redirect to a reservation that cannot be created. - Remove the use of Moment.js and replace it with date-helper.js. Assisted-by: Copilot:GPT-4.5
46780b1 to
8722b4f
Compare
JohnVillalovos
approved these changes
Apr 24, 2026
Collaborator
JohnVillalovos
left a comment
There was a problem hiding this comment.
Thanks @labmecanicatec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Assisted-by: Copilot:GPT-4.5