# scheduler-library

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

Latest version **1.2.3** (published 2025-10-03) · SEE LICENSE IN LICENSE.txt license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install scheduler-library
pnpm add scheduler-library
yarn add scheduler-library
bun add scheduler-library
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.2.3 |
| Published | 2025-10-03 |
| First published | 2018-03-12 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN LICENSE.txt |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 866.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | MindFusion LLC |
| Maintainers | mindfusion |
| Keywords | calendar library, scheduler, timetable, monthly calendar, appointment plan |

## Links

- npm: https://www.npmjs.com/package/scheduler-library
- Repository: https://github.com/MindFusionComponents/JavaScript-Scheduler-Samples
- Homepage: https://mindfusion.dev/javascript-scheduler.html
- Issues: https://github.com/MindFusionComponents/JavaScript-Scheduler-Samples/issues
- npm.io page: https://npm.io/package/scheduler-library

## Alternatives

- [@js-joda/timezone](https://npm.io/package/@js-joda/timezone.md) — 383.4K weekly downloads
- [chartjs-adapter-moment](https://npm.io/package/chartjs-adapter-moment.md) — 210.8K weekly downloads
- [strftime](https://npm.io/package/strftime.md) — 171.2K weekly downloads
- [vue-flatpickr-component](https://npm.io/package/vue-flatpickr-component.md) — 115.8K weekly downloads
- [timepicker](https://npm.io/package/timepicker.md) — 51.0K weekly downloads

## Recent versions

- 1.2.3 (latest) — 2025-10-03
- 1.2.2 — 2020-02-28
- 1.2.1 — 2020-02-28
- 1.2.0 — 2019-01-25
- 1.1.0 — 2018-05-04
- 1.0.1 — 2018-03-12

## README

# Scheduling Library for JavaScript and TypeScript

**THIS PACKAGE IS NO LONGER SUPPORTED. PLEASE USE** [@mindfusion/scheduling](https://www.npmjs.com/package/@mindfusion/scheduling)

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](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_startTime_0.htm) and [endTime](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_endTime_0.htm) read-only properties return the time of the first and last visible calendar cells.
  - [itemsStartTime](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_itemsStartTime_0.htm) and [itemsEndTime](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_itemsEndTime_0.htm) read-only properties return the time of the first and last calendar cells, that can contain items.
  - [getItemCells](https://mindfusion.dev/docs/javascript/scheduling/M_MindFusion_Scheduling_Calendar_getItemCells_1_Item.htm) method returns the calendar view cells that hold the specified item's visual elements.
  - [getCellItems](https://mindfusion.dev/docs/javascript/scheduling/M_MindFusion_Scheduling_Calendar_getCellItems_1_ViewCell.htm) method returns the items, whose visual elements are contained in the specified calendar cell.
  - [getItemDom](https://mindfusion.dev/docs/javascript/scheduling/M_MindFusion_Scheduling_Calendar_getItemDom_1_Item.htm) method returns the specified item's visual elements.
  - [itemsChanged](https://mindfusion.dev/docs/javascript/scheduling/E_MindFusion_Scheduling_Schedule_itemsChanged.htm) and [itemsChanging](https://mindfusion.dev/docs/javascript/scheduling/E_MindFusion_Scheduling_Schedule_itemsChanging.htm) 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](https://mindfusion.dev/docs/javascript/scheduling/T_MindFusion_Scheduling_ItemModifiedEventArgs_Members.htm) field

#### Schedule

- [getAllItems](https://mindfusion.dev/docs/javascript/scheduling/M_MindFusion_Scheduling_Schedule_getAllItems_3_DateTime_DateTime_Resource_1.htm) method retrieves all events, including recurrent item instances, scheduled to occur in the specified time interval.
-  [itemsChanging](https://mindfusion.dev/docs/javascript/scheduling/E_MindFusion_Scheduling_Schedule_itemsChanging.htm), [itemsChanged](https://mindfusion.dev/docs/javascript/scheduling/E_MindFusion_Scheduling_Schedule_itemsChanged.htm) events are raised when items are added and removed from the items collection.

#### BaseForm class

- [calendar](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_BaseForm_calendar_0.htm) and [item](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_BaseForm_item_0.htm) read-only properties allow access to the underlying calendar and the modified item.
- [element](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_element_0.htm), [header](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_Calendar_header_0.htm), content properties return references to the corresponding DOM elements.
- [controls](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_BaseForm_controls_0.htm) 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](https://mindfusion.dev/docs/javascript/scheduling/P_MindFusion_Scheduling_MonthSettings_expandDayHeaders_0.htm) property of the corresponding settings class.
 - localization json files.
 - updated themes.

### Documentation

1. [Detailed API Reference](https://mindfusion.dev/docs/javascript/scheduling/index.htm)
2. [Getting started guide](https://mindfusion.dev/docs/javascript/scheduling/Your_First_Schedule.htm) and [tutorials](https://mindfusion.dev/docs/javascript/scheduling/Tutorials_12.htm)


### Samples

A variety of online samples are uploaded [here.](https://mindfusion.dev/products/javascript/scheduling/samples) You can download the library together with all samples [from here.](https://mindfusion.dev/JsSchduler.zip)


### Additional Information

Learn more about the JavaScript Scheduler [from the official product page.](https://mindfusion.dev/javascript-scheduler.html) Stay in touch with MindFusion about our latest product announcements, tutorials and programming guidelines via  [Twitter](https://twitter.com/MindFusion_News) or [our company blog.](https://mindfusion.dev/blog/) A YouTube channel with interactive video tutorials is available [here.](https://www.youtube.com/channel/UCirPVdFWM2RTEnEAF5PK7Qg)



## Technical Support

* [Forum](https://mindfusion.dev/Forum/YaBB.pl)
* [E-mail](support@mindfusion.eu)
* [Help desk](https://www.mindfusion.dev/HelpDesk/index.php)

### Licensing

The end-user license agreement for JS Scheduler is [here.](https://mindfusion.dev/eula.html)

---
_Source: https://npm.io/package/scheduler-library · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
