Directory

FullCalendar Scheduler for Flow - Vaadin Add-on Directory

Full Calendar Scheduler for the Vaadin Framework 14+ FullCalendar Scheduler for Flow - Vaadin Add-on Directory
# FullCalendar Scheduler for Flow This addon extends the **FullCalendar for Flow** addon with the **FullCalendar Scheduler**, which provides additional resource based views (Timeline View and Vertical Resource View) for Vaadin 14+. It is based on the version 6.1.6 of the FullCalendar Scheduler library. It needs the basic addon (https://vaadin.com/directory/component/full-calendar-flow) to work. Since this addon is not always updated when the basis gets an update, I suggest, that you add both dependencies (basis and extension) to always use the latest versions. This extension is compatible as long as the readme does not tells anything else. ## Requirements / versions / support The addon is built against Vaadin 14.x and Java 8, but is intended to be used with the latest major Vaadin version and thus also supports Vaadin 23 and 24 / Java 11+. Addon versions prior to the current major version are not supported anymore. If you need a fix for such a version feel free to fork the project. You may create an issue, but due to limited time it is very unlikely, that we will fix it. Please also have a look at the demo for some basic examples and source code of how to integrate the FC. For more examples please have a look into the example section. ## Additional links and information For information about the Scheduler (functionality, features, license information, etc.) visit https://fullcalendar.io/scheduler. For a Vaadin 10-13 version (that is built on FC 3.10.x), see https://vaadin.com/directory/component/full-calendar-scheduler-extension-vaadin10 ## License information: Please be aware, that the FullCalender Scheduler library this addon is based on has a different license model then the basic FullCalendar. For details about the license, visit https://fullcalendar.io/license. **This addon does not provide any commercial license for the Scheduler. The license model of MIT does only affect the additional files of this addon, not the used original files.** ## Activating the Scheduler By default the scheduler is not active, when you use a FullCalendar instance. To have an instance with scheduler activated, use the `withScheduler()` method of the `FullCalendarBuilder`. This method will throw an exception, if the scheduler extension is not on the class path. To link a resource with entries, use the Entry subclass `ResourceEntry`. ## Building with V14 It might be, that the transitive dependencies are not resolved correctly. If you are using Spring Boot please add the `@EnableVaadin` annotation to your application class. Add the package `org.vaadin.stefan` plus your root package as parameters. This should enable Spring to analyze all npm dependencies at runtime. Other CDI version should work the same. If you are not using Spring, but have similiar issues try to add also the goal `build-frontend` to the vaadin maven plugin. This should resolve transitive npm dependencies at build time. For instance: ``` com.vaadin vaadin-maven-plugin ${vaadin.version} prepare-frontend build-frontend ``` ## Additional Features of the Scheduler extension - Activation of the Scheduler by method in the FullCalendarBuilder. - Adding resources to a calendar (hierarchies of resources are not yet supported). - Link one or multiple resources with entries. - List of possible Scheduler based views (timeline). *Info:* Entries are linked to calendar internally. The calendar instance is used to resolve resources by after updating an entry on the client side. ## Feedback and co. If there are bugs or you need more features (and I'm not fast enough) feel free to contribute on GitHub. :) I'm also happy for feedback or suggestions about improvements.
Source Code
Online Demo
Issue tracker

FullCalendar Scheduler for Flow version 2.0.0.RC1

FullCalendar Scheduler for Flow version 2.0.0.RC2
- Fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/20. - Updated dependencies to Vaadin 14.0.9 and FC web component 2.0.0.RC4

FullCalendar Scheduler for Flow version 2.0.0.RC3
- Fixes for issues #26 (TypeError: Cannot read property 'id' of null) and #27 (negative nano seconds exception), thanks to the reporters :) - Fix for date rendered event spam from client side. DateRenderedEvent is now by default not fired, when setting options, but on init calendar, switching view or date. - Added first FAQ points - Updated Vaadin dependency version to 14.0.13 - Updated dependency to base addon to RC5.

FullCalendar Scheduler for Flow version 2.0.0
Final release of version 2.

FullCalendar Scheduler for Flow version 2.1.0
Included pull requests from GitHub users `sonessa` and `kamuffe`. Thanks for you contributions :) - uses new version 4.4.0 of FC's library - remove all entries now uses batch rendering to improve performance - drop event data now contains information about the resource (origin and target) of a dropped event Also updated the Vaadin version to 14.1.19.

FullCalendar Scheduler for Flow version 2.1.1
Updated parallel for base version.

FullCalendar Scheduler for Flow version 2.2.0
- Resource are now hierarchical. You may add child resources to existing resources. - Fixed event handling of changed resources, should be correctly reflected on server side now. - Added boolean flag for "resourceEditable" to allow entries to be moved to other resources in calendar. - Deprecated some methods, please check their javadocs for details. They will be removed in later versions. - Added new ResourceEntry's resource methods, named assign / unassign (replacements for add/remove) to fit the use case of "adding" resources to an entry and match the FC's docs wording. - Added missing tests. - Improved code quality in general by overhauling JavaDocs and methods (e.g. adding missing @NotNull annotations and null checks). - Integrated batch rendering in different places. - Added dedicated listener methods for existing scheduler event types. - Colors are now shown correctly for entries, when color of entry is removed. - Some minor fixes. Thanks to aetasoul (@github) for providing help in this version.

FullCalendar Scheduler for Flow version 2.2.1
- Resource are now hierarchical. You may add child resources to existing resources. - Fixed event handling of changed resources, should be correctly reflected on server side now. - Added boolean flag for "resourceEditable" to allow entries to be moved to other resources in calendar. - Deprecated some methods, please check their javadocs for details. They will be removed in later versions. - Added new ResourceEntry's resource methods, named assign / unassign (replacements for add/remove) to fit the use case of "adding" resources to an entry and match the FC's docs wording. - Added missing tests. - Improved code quality in general by overhauling JavaDocs and methods (e.g. adding missing @NotNull annotations and null checks). - Integrated batch rendering in different places. - Added dedicated listener methods for existing scheduler event types - Colors are now shown correctly for entries, when color of entry is removed. - Some minor fixes. Thanks to aetasoul (@github) for providing help in this version.

FullCalendar Scheduler for Flow version 2.2.2
Fixed an issue regarding dnd resource entries between days (without changing the resource).

FullCalendar Scheduler for Flow version 2.2.3
Fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/44

FullCalendar Scheduler for Flow version 2.2.4
- Fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/52 - Latest Vaadin LTS version (14.1.27)

FullCalendar Scheduler for Flow version 2.3.0
- updated to Vaadin 14.2.0 - initial client side options can now be fully customized in Java (see samples for samples) - entry click event now provides additional entry info (issue #55) - DatesRenderedEvent now provides the current view's name - added Java event for "view skeleton rendered" (same data as DatesRenderedEvent, but different lifecycle call) - locales now loaded from minimized file - improved documentation and code quality in some spots - uses now Lombok internally for different code generation (optional / non transitive dependency) - added generated to string methods for events - deprecated some methods; please replace them soon, when you use them - I'm merciless ;) - BrowserTimezoneObtained is no DOM event any more (annotation removed)

FullCalendar Scheduler for Flow version 2.3.1
- Entry's property "description" is now sent to the client side

FullCalendar Scheduler for Flow version 2.3.2
Reintroduces the usage of moment.js. Using vanilla date formatting / handling was buggy and needs further inspection.

FullCalendar Scheduler for Flow version 2.3.3
- updated to Vaadin 14.3.4 - fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/66 - new api allow to prevent scrolling to newly added resources (thanks to aetasoul for the PR)

FullCalendar Scheduler for Flow version 2.3.4
- updated fc to 4.4.2 (thanks to kamuffe)

FullCalendar Scheduler for Flow version 2.4.0
Big thanks to Carlo Zanocco (aetasoul on Github) for maintaining and realizing this version. Also thanks to kamuffe (github) and Sebastian Kühnau for providing fixes/enhancements. * updated to Vaadin 14.4.7 * updated the Scheduler client library to 4.4.2 * Fix for #64: entries become undraggable, when a custom entry id is set * Fix for #23: Month view is displaying too many weeks * Fix for #80: Setter for some calendar options * Workaround for #76: Vertical scrollbar lost position after d&d and multiline events - please see the ticket comments for information on how to apply the workaround * added extended properties for resources * added business hours for resources * added resource label to change the resource column label * removal of some deprecated methods * other fixes

FullCalendar Scheduler for Flow version 2.4.1
Fixes for * https://github.com/stefanuebe/vaadin_fullcalendar/issues/70 * https://github.com/stefanuebe/vaadin_fullcalendar/issues/82 * https://github.com/stefanuebe/vaadin_fullcalendar/issues/92

FullCalendar Scheduler for Flow version 2.4.2
* changed Vaadin version to 14.6.1, since 14.5.3 had issues to display the calendar * overhauled the Header / Footer API for the native header / footer of FC (sorry for the breaking changes)

FullCalendar Scheduler for Flow version 2.4.3
* changed Vaadin version to 14.6.1, since 14.5.3 had issues to display the calendar * overhauled the Header / Footer API for the native header / footer of FC (sorry for the breaking changes) * custom styles for the FC can now be added via Java or JS API ("addCustomStyles") - please also see the ApiDocs on the Java method

FullCalendar Scheduler for Flow version 2.4.4
Fixed https://github.com/stefanuebe/vaadin_fullcalendar/issues/81

FullCalendar Scheduler for Flow version 3.0.0
This version releases the Full Calendar web component with the latest FC 5 library version (5.8.0) as our first Release Candidate. Please report any issues that you find with the new version. Huge thanks to Carlo for taking the main part in this migration.

FullCalendar Scheduler for Flow version 3.0.1
Changed "extendedProps" to "customProperties". Due to a change of the internal client side library, extendedProps are now also used by the client itself. To prevent conflicts of properties, any custom properties are now stored in a specialized object on client side. In Java, the API has been updated. Any "extendedProps" methods are marked as deprecated and will be removed in future versions.

FullCalendar Scheduler for Flow version 3.0.2
Fixes for GitHub issues #67, #69, #78 and #98.

FullCalendar Scheduler for Flow version 3.0.3
FullCalendar now supports @PreserverOnRefresh / reattaching the FC on server side. Reattaching the component will automatically resend options and entries to the client and switch to the previous view and date.

FullCalendar Scheduler for Flow version 3.0.4
Fixed https://github.com/stefanuebe/vaadin_fullcalendar/issues/105. The minTime and maxTime properties were renamed to slotMinTime and slotMaxTime.

FullCalendar Scheduler for Flow version 3.1.0
- Updated client side library to version FC 5.10, server side is now on Vaadin 14.7.2 - Entries may now have css class names to apply custom styling via stylesheets - Weekday header bar has now transparend background to support Lumo dark mode - Added new Calendar options for different "editable" flags (editable at all, resource editable, duration, resizable from start / end) - Removed some deprecated methods - Added group id for entries - Renamed method for the entryDidMount callback

FullCalendar Scheduler for Flow version 4.0.0
- introduced a new type JsonItem for creating item classes with dynamic property handling and automated conversion from and to json - integrated json item api into Entry types for dynamic type conversion. Due to that entries will not send all data to the client, when updating existing ones - changed date time handling on server side and communication to be always utc - entries are not resent to server anymore when changing timezone on server - entry data changes are now sent at once the the client - client side entries ("event") have now a getCustomProperty method inside eventDidMount or eventContent callbacks - removed official support of custom timezones for entries - renamed several methods - recurrence has some changes regarding enable recurrence and timezones

FullCalendar Scheduler for Flow version 4.0.1
- introduced a new type JsonItem for creating item classes with dynamic property handling and automated conversion from and to json - integrated json item api into Entry types for dynamic type conversion. Due to that entries will not send all data to the client, when updating existing ones - changed date time handling on server side and communication to be always utc - entries are not resent to server anymore when changing timezone on server - entry data changes are now sent at once the the client - client side entries ("event") have now a getCustomProperty method inside eventDidMount or eventContent callbacks - removed official support of custom timezones for entries - renamed several methods - recurrence has some changes regarding enable recurrence and timezones

FullCalendar Scheduler for Flow version 4.0.2
- fixed outdated comments - removed internal api, which was accidentally public Please also have a look onto the initial release notes of this major versions regarding potential breaking changes.

FullCalendar Scheduler for Flow version 4.0.3
- fixed outdated comments - removed internal api, which was accidentally public - changed access of some Key static methods to public to use in other packages Please also have a look onto the initial release notes of this major versions regarding potential breaking changes.

FullCalendar Scheduler for Flow version 4.1.0
This version introduces the `EntryProvider` interface, a data provider like callback based type, that allows lazy loading entries based on the actual displayed timespan. For details, examples and a migration guide, please visit the [release details](https://github.com/stefanuebe/vaadin_fullcalendar/wiki/Release-Notes-4.1.x) for version 4.1.

FullCalendar Scheduler for Flow version 4.1.1
This bugfix version fixed * Fixed outdated date time api for TimeslotsSelectedEvent ([#136](https://github.com/stefanuebe/vaadin_fullcalendar/issues/136)) Version 4.1.x introduces the `EntryProvider` interface, a data provider like callback based type, that allows lazy loading entries based on the actual displayed timespan. For details, examples and a migration guide, please visit the [release details](https://github.com/stefanuebe/vaadin_fullcalendar/wiki/Release-Notes-4.1.x) for version 4.1.

FullCalendar Scheduler for Flow version 4.1.2
This bugfix version fixed * Extended generics for entry provider api in FullCalendar ([#141](https://github.com/stefanuebe/vaadin_fullcalendar/issues/141)) Version 4.1.x introduces the `EntryProvider` interface, a data provider like callback based type, that allows lazy loading entries based on the actual displayed timespan. For details, examples and a migration guide, please visit the [release details](https://github.com/stefanuebe/vaadin_fullcalendar/wiki/Release-Notes-4.1.x) for version 4.1.

FullCalendar Scheduler for Flow version 4.1.3
Several fixes - entry content callback is now set via initial options, as it seem not to work with Java versions above 8 (#156) - security issues (#153) - issues setting the constraint property (#146) Some features - mouse events (#147) - scrollToTime (#118)

FullCalendar Scheduler for Flow version 4.1.6
Added a fix to make the FC runnable with Vite in Vaadin 23+ (https://github.com/stefanuebe/vaadin_fullcalendar/issues/159)

FullCalendar Scheduler for Flow version 6.0.0
New major version release. Please check our github wiki for details regarding release notes, migration guides and samples :) https://github.com/stefanuebe/vaadin_fullcalendar/wiki

FullCalendar Scheduler for Flow version 6.0.1
Fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/171

FullCalendar Scheduler for Flow version 6.0.2
Fixed the called method inside FullCalendar#render(). (https://github.com/stefanuebe/vaadin_fullcalendar/issues/172)

FullCalendar Scheduler for Flow version 6.0.3
Fixed https://github.com/stefanuebe/vaadin_fullcalendar/issues/175.

FullCalendar Scheduler for Flow version 6.0.4
Fix for https://github.com/stefanuebe/vaadin_fullcalendar/issues/179

FullCalendar Scheduler for Flow version 6.1.0
Added a Lumo theme to have a slightly more aligned style for the FC (not working with Vaadin 14 at the moment). https://github.com/stefanuebe/vaadin_fullcalendar/wiki/FullCalendar-Examples#lumo-theme

FullCalendar Scheduler for Flow version 6.2.0
Added support to register custom native javascript event handlers for entries.

FullCalendar Scheduler for Flow version 6.2.1
Downgraded nested css to oldschool selectors to assure older browsers working correctly with the provided styles.

FullCalendar Scheduler for Flow version 6.2.2
Resources can now have multiple business hours defined. (https://github.com/stefanuebe/vaadin-fullcalendar/issues/192 , thanks to spalyukh-flex)