scheduler-library

Library for calendars, timetables and schedules with events and resources.

Usage no npm install needed!

<script type="module">
  import schedulerLibrary from 'https://cdn.skypack.dev/scheduler-library';
</script>

README

Scheduling Library for JavaScript and TypeScript

Interactive JavaScript library that provides the complete feature set for creating calendars, schedules, timetables, resource lists, event tables and more.

Installing

For the latest stable version:

npm install scheduler-library

What's New in version 1.2.1

  • The registerClass method of the Schedule class allows you to register custom types for serialization support. Members of your custom class will be srialized with the schedule. You should override saveToXml, loadFromXml, toJson, fromJson in your custom class.
//register the CustomEvent class
var p = MindFusion.Scheduling;
p.Schedule.registerClass(CustomEvent, "[custom:customEvent]", "customEvent", 1);
  • If you don't register your custom class, but it derives from one of the library classes that support serialization (Item, Task, Resource, Contact etc.), your class will be serialized the way the base class is serialized.
  • Serializing the JS Calendar schedule is now uniform with the serialization in MindFusion .NET and Java Scheduling libraries.
  • The itemDraw event has been added to the Calendar class. It is raised when schedule items are drawn. An instance of ItemEventArgs provides you data about the event and allows you to access the DOM element of the Item that is drawn.

What's New in Version 1.2

Calendar

  • startTime and endTime read-only properties return the time of the first and last visible calendar cells.
  • itemsStartTime and itemsEndTime read-only properties return the time of the first and last calendar cells, that can contain items.
  • getItemCells method returns the calendar view cells that hold the specified item's visual elements.
  • getCellItems method returns the items, whose visual elements are contained in the specified calendar cell.
  • getItemDom method returns the specified item's visual elements.
  • itemsChanged and itemsChanging events are raised whenever the user has changed or tries to change the calendar's schedule collections of items and resources.
  • all item interactions (drag, resize, inplace edit) now raise the itemModifying and itemModified events. The type of interaction is stored in the ItemModifiedEventArgs.action field

Schedule

  • getAllItems method retrieves all events, including recurrent item instances, scheduled to occur in the specified time interval.
  • itemsChanging, itemsChanged events are raised when items are added and removed from the items collection.

BaseForm class

  • calendar and item read-only properties allow access to the underlying calendar and the modified item.
  • element, header, content properties return references to the corresponding DOM elements.
  • controls property returns a dictionary, containing references to all controls present in the form.

Miscellaneous

  • Day headers in month and week views can now be set to fill the whole day cell via the expandDayHeaders property of the corresponding settings class.
  • localization json files.
  • updated themes.

Documentation

  1. Detailed API Reference
  2. Getting started guide and tutorials

Samples

A variety of online samples are uploaded here. You can download the library together with all samples from here.

Additional Information

Learn more about the JavaScript Scheduler from the official product page. Stay in touch with MindFusion about our latest product announcements, tutorials and programming guidelines via Twitter or our company blog. A YouTube channel with interactive video tutorials is available here.

Technical Support

Licensing

The end-user license agreement for JS Scheduler is here.