Schedule-X Addon - Vaadin Add-on Directory
An event calendar with multiple customizable views to easily display, organize, and coordinate events### Description
This is a Vaadin Flow add-on based on the [Schedule-X](https://schedule-x.dev/) JavaScript component.
⚠️ **Important**: This add-on **requires a Schedule-X Premium Subscription**.
The Resource View feature and several used plugins (e.g., event drawing, iCal support, resource views, etc.) are distributed as private npm packages.
To use this component, you must:
1. [Subscribe to Schedule-X Premium](https://schedule-x.dev/premium)
2. Configure an `.npmrc` file as explained in the [Schedule-X Premium installation guide](https://schedule-x.dev/docs/calendar/installing-premium#1-npmrc)
### Features
- Supported views:
- Day
- Week
- Month Grid
- Month Agenda
- Resource View (*)
- Java Configuration API:
- Default view and initial date
- Week and month view customization (via WeekOptions, MonthGridOptions)
- Define visible day/time boundaries (DayBoundaries)
- First day of the week
- Minimum and maximum date limits
- Resize/drag interval granularity
- Scroll controller config
- Current time indicator customization
- Draw options
- ICal integration to import events from an iCalendar source
- Calendar Interaction:
- Programmatically set view, date, first day of week, day boundaries, calendars, etc.
- Implementation to allow navigate forwards or backwards in the views
- Scroll to time
- Configuration updates
- Event Support:
- Create, update, and remove events from server side
- Define title, location, description, and attendees
- Assign events to calendars (calendarId)
- Assign events to resources (resourceId)
- Recurring events using RRULE (RecurrenceRule) and excluded date support
- Drag & drop events
- Resize events
- Draw events (*)
- Lazy loading:
- Supports lazy loading using CallbackDataProvider
- Resource Scheduler Support(*):
- Display resources in a time grid (hourly and daily views available)
- Resource row and event height control
- Control initial visible hours/days
- Enable/disable drag and resize
- Infinite scrolling
- Scheduling Assistant Plugin (*):
- Conflict detection and available time slot visualization
- The Scheduling Assistant can only be used with Hourly View
- Full Event Listener Support:
- Event click handling (CalendarEventClickEvent)
- Event add/update/remove notifications
- Drag/resize updates (EventUpdateEvent)
- Selected date change (SelectedDateUpdateEvent)
- View and date update (CalendarViewAndDateChangeEvent)
(*) These features are part of the [Premium Schedule-X package](https://schedule-x.dev/premium).
### How to Use
Usage examples are available in the [vcf-schedule-x-demo module](https://github.com/vaadin-component-factory/vcf-schedule-x/tree/main/vcf-schedule-x-demo/src/main/java/org/vaadin/addons/componentfactory/demo).
View on GitHubSchedule-X Addon version 1.0.0
Initial release
Schedule-X Addon version 1.0.1
#### Bug fixes:
* Add missing null check on the updateRange call.
* Allow refresh only if calendar is rendered.
* Update ResourceViewType constructor setting value for viewName.
Schedule-X Addon version 1.0.2
#### Bug fixes:
The scheduling assistant only supports hourly view. Constructor was updates to throw an exception when attempting to initialize with a daily view to avoid endless loops.
Also documentation was updated to highlight this limitation.