Socket
Socket
Sign inDemoInstall

@syncfusion/ej2-schedule

Package Overview
Dependencies
Maintainers
3
Versions
234
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@syncfusion/ej2-schedule - npm Package Compare versions

Comparing version 20.3.61 to 20.4.38

17

.eslintrc.json

@@ -9,3 +9,4 @@ {

"plugin:@typescript-eslint/recommended",
"plugin:jsdoc/recommended"
"plugin:jsdoc/recommended",
"plugin:security/recommended"
],

@@ -22,2 +23,3 @@ "parser": "@typescript-eslint/parser",

"@typescript-eslint/tslint",
"eslint-plugin-security",
"jsdoc"

@@ -27,2 +29,15 @@ ],

"use-isnan": "error",
"security/detect-unsafe-regex":"error",
"security/detect-buffer-noassert":"error",
"security/detect-child-process":"error",
"security/detect-disable-mustache-escape":"error",
"security/detect-eval-with-expression":"error",
"security/detect-no-csrf-before-method-override":"error",
"security/detect-non-literal-fs-filename":"error",
"security/detect-non-literal-regexp":"error",
"security/detect-non-literal-require":"error",
"security/detect-object-injection":"error",
"security/detect-possible-timing-attacks":"error",
"security/detect-pseudoRandomBytes":"error",
"security/detect-new-buffer":"error",
"@typescript-eslint/no-inferrable-types": "off",

@@ -29,0 +44,0 @@ "@typescript-eslint/ban-types": ["warn", {

@@ -5,2 +5,10 @@ # Changelog

### Schedule
#### New Features
- `#I384604` - Provided custom workdays support when resources are grouped by date.
- `#I394207` - Provided `closeTooltip` method to close the appointment tooltip programmatically.
- `#I399939` - Provided `dateRangeTemplate` template to customize the header date range in scheduler.
## 20.3.58 (2022-11-22)

@@ -7,0 +15,0 @@

2

dist/global/index.d.ts
/*!
* filename: index.d.ts
* version : 20.3.61
* version : 20.4.38
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.

@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license.

{
"_from": "@syncfusion/ej2-schedule@*",
"_id": "@syncfusion/ej2-schedule@20.3.58",
"_id": "@syncfusion/ej2-schedule@20.5.7",
"_inBundle": false,
"_integrity": "sha512-bzcRIfQQXzG0hcw9JtpBTp5sMLO1sHAPQadan1hbL2wJTgcQAGErnxsLzGNMhtM6StUiMs01BW8znJjh49s1qQ==",
"_integrity": "sha512-qajhFVIbVBCkvwjV/ML2AK+TS8uLEVZSV4Jn2vtDkT7suKgmtNVuK/ZvKWjYB7h4hoe33QQE3LXC5GRe3NOYVg==",
"_location": "/@syncfusion/ej2-schedule",

@@ -26,4 +26,4 @@ "_phantomChildren": {},

],
"_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.3.58.tgz",
"_shasum": "5eafc1ed3a3802c91baafad125261a755ba4526d",
"_resolved": "https://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-schedule/-/ej2-schedule-20.5.7.tgz",
"_shasum": "28559de82dfe255f876566b637f67a14947838c5",
"_spec": "@syncfusion/ej2-schedule@*",

@@ -39,12 +39,12 @@ "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",

"dependencies": {
"@syncfusion/ej2-base": "~20.3.56",
"@syncfusion/ej2-buttons": "~20.3.58",
"@syncfusion/ej2-calendars": "~20.3.59",
"@syncfusion/ej2-data": "~20.3.60",
"@syncfusion/ej2-dropdowns": "~20.3.60",
"@syncfusion/ej2-excel-export": "~20.3.61",
"@syncfusion/ej2-inputs": "~20.3.57",
"@syncfusion/ej2-lists": "~20.3.56",
"@syncfusion/ej2-navigations": "~20.3.60",
"@syncfusion/ej2-popups": "~20.3.60"
"@syncfusion/ej2-base": "~20.4.38",
"@syncfusion/ej2-buttons": "~20.4.38",
"@syncfusion/ej2-calendars": "~20.4.38",
"@syncfusion/ej2-data": "~20.4.38",
"@syncfusion/ej2-dropdowns": "~20.4.38",
"@syncfusion/ej2-excel-export": "~20.4.38",
"@syncfusion/ej2-inputs": "~20.4.38",
"@syncfusion/ej2-lists": "~20.4.38",
"@syncfusion/ej2-navigations": "~20.4.38",
"@syncfusion/ej2-popups": "~20.4.38"
},

@@ -59,19 +59,11 @@ "deprecated": false,

"syncfusion",
"web-components",
"JavaScript",
"TypeScript",
"schedule",
"TypeScript-scheduler",
"resources",
"multiple-resources",
"grouping",
"views",
"Typescript-calendar",
"appointments",
"events",
"tasks",
"recurrence",
"data-binding",
"timezone",
"recurrence-editor",
"agenda"
"scheduler",
"events-calendar",
"events-scheduler",
"appointment-calendar",
"appointments-planner",
"resources-scheduler"
],

@@ -87,4 +79,4 @@ "license": "SEE LICENSE IN license",

"typings": "index.d.ts",
"version": "20.3.61",
"version": "20.4.38",
"sideEffects": false
}

@@ -1,11 +0,22 @@

# ej2-schedule
The [JavaScript Scheduler](https://www.syncfusion.com/javascript-ui-controls/js-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) component is an event calendar that facilitates almost all the basic Outlook and Google Calendar features, allowing the user to plan and manage appointments and time efficiently. It receives data from a variety of data sources, such as an array of JSON objects, OData web services, RESTful or WCF services, and [`DataManager`](https://ej2.syncfusion.com/documentation/data/?lang=typescript) with built-in load on demand support to reduce the data transfer and load time. Also, it is availed with the multiple resources support that allots an unique individual space for more than one resources on the same calendar.
# JavaScript Schedule Control
![Schedule](https://ej2.syncfusion.com/products/images/schedule/readme.png)
The [JavaScript Scheduler](https://www.syncfusion.com/javascript-ui-controls/js-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) control is an event calendar that facilitates almost all the basic Outlook and Google Calendar features, allowing the user to plan and manage appointments and time efficiently. It receives event data from a variety of data sources, such as an array of JSON objects, OData web services, RESTful or WCF services, and [DataManager](https://ej2.syncfusion.com/documentation/data/data-binding/) with built-in load on demand support to reduce the data transfer and load time. Also, it is availed with the multiple resources support that allots an unique individual space for more than one resources on the same calendar.
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at [here](https://www.syncfusion.com/sales/products) or start a free 30-day trial from [here](https://www.syncfusion.com/account/manage-trials/start-trials).
<p align="center">
<a href="https://ej2.syncfusion.com/documentation/schedule/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm">Getting started</a> .
<a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm#/bootstrap5/schedule/overview.html">Online demos</a> .
<a href="https://www.syncfusion.com/javascript-ui-controls/js-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm">Learn more</a>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-scheduler.png" alt="JavaScript Scheduler Control"/>
</p>
<p align="center">
Trusted by the world's leading companies
<a href="https://www.syncfusion.com">
<img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Bootstrap logo">
</a>
</p>
> A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
## Setup
## Setup
To install Schedule and its dependent packages, use the following command.

@@ -17,51 +28,56 @@

## Resources
* [Getting Started](https://ej2.syncfusion.com/documentation/schedule/getting-started.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
* [View Online Demos](https://ej2.syncfusion.com/demos/#/material/schedule/default.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
* [Product Page](https://www.syncfusion.com/javascript-ui-controls/js-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
## Supported frameworks
## Supported Frameworks
Schedule component is also available in following list of frameworks.
1. [Angular Scheduler](https://www.syncfusion.com/angular-ui-components/angular-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
2. [React Scheduler](https://www.syncfusion.com/react-ui-components/react-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
3. [Vue Scheduler](https://www.syncfusion.com/vue-ui-components/vue-scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
4. [ASP.NET Core Scheduler](https://www.syncfusion.com/aspnet-core-ui-controls/scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
5. [ASP.NET MVC Scheduler](https://www.syncfusion.com/aspnet-mvc-ui-controls/scheduler?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
Schedule control is also available in the following list of frameworks.
| [<img src="https://ej2.syncfusion.com/github/images/angular.svg" height="50" />](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Angular](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
| :-----: | :-----: | :-----: | :-----: | :-----: |
## Showcase samples
* [Fare calendar demo in JavaScript](https://ej2.syncfusion.com/demos/#/material/schedule/resources.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
## Key Features
* [**Views**](https://ej2.syncfusion.com/demos/#/material/schedule/views.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Schedule is now availed with 10 different view modes – day, week, work week, month, timeline day, timeline week, timeline work-week, timeline month, agenda and month agenda. It is possible to configure view-based settings on each view mode. The `Week` view is set as active view by default.
* [**Data binding**](https://ej2.syncfusion.com/demos/#/material/schedule/remote-data.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Seamless data binding with various client-side and remote data sources thus allowing the data to load on demand by default to reduce the data transfer and loading time.
* **Drag and drop** - Appointments can be easily rescheduled to another time by dragging and dropping them onto the required time slots.
* **Appointment resize** - An appointment’s time can be easily extended by resizing its start or end handlers.
* [**Multiple resources**](https://ej2.syncfusion.com/demos/#/material/schedule/resource-grouping.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Supports planning and management of events for multiple resources and allows to group them under appropriate resources. Also, supports date-wise grouping, linked appointments and other group related customizations.
* [**Recurrence**](https://ej2.syncfusion.com/demos/#/material/schedule/recurrence-events.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Allows the user to repeat a set of events on a daily, weekly, monthly, or yearly basis.
* [**Template**](https://ej2.syncfusion.com/demos/#/material/schedule/event-template.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - The key elements like events, date header, work cells and event tooltip comes with the default template support which allows the flexible end-user customization to embed any kind of text, images, or styles to it.
* [**Timezone**](https://ej2.syncfusion.com/demos/#/material/schedule/timezone.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Regardless of whatever time zone your system follows, Schedule supports setting your own required time zone value to it as well as to each event – thus allowing the events to display on its exact local time.
* [**Timescale**](https://ej2.syncfusion.com/demos/#/material/schedule/time-scale.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Allows to display customized time duration, with clear and accurate depiction of appointments across the appropriate time slots.
* [**Customizable working days and hours**](https://ej2.syncfusion.com/demos/#/material/schedule/work-days.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Users can set specific [work hour](https://ej2.syncfusion.com/demos/#/material/schedule/work-hour.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) range which is visually differentiated with active colour. Also, the working days collection can be customized with specific days, so that the remaining days will be considered as [weekend](https://ej2.syncfusion.com/demos/#/material/schedule/hide-weekend.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
* [**Custom editor template**](https://ej2.syncfusion.com/demos/#/material/schedule/editor-template.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Template option is availed for event editor, thus allowing the users to add their own custom editor design and also provides option to add additional fields onto the default event editor.
* [**Adaptive rendering**](https://ej2.syncfusion.com/demos/#/material/schedule/month-agenda.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Adapts with optimal user interfaces for mobile and desktop form-factors, thus helping the user’s application to scale elegantly across all the form-factors without any additional effort.
* [**Keyboard interaction**](https://ej2.syncfusion.com/demos/#/material/schedule/keyboard-interaction.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - All the common actions such as traversing through the appointments, multiple cell selection, add/edit/delete the appointments, navigate to other views, dates and much more can be performed through keyboard inputs.
* [**Localization**](https://ej2.syncfusion.com/documentation/schedule/localization.html?lang=typescript#localization?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - All the static text and date content can be localized to any desired language. Also, it can be displayed with appropriate time mode and date-format as per the localized language.
* [**RTL**](https://ej2.syncfusion.com/documentation/schedule/localization.html?lang=typescript#rtl?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Supports displaying the component to display in the direction from right to left.
* Fare calendar - [Live Demo](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/resources.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
## Support
## Key features
Product support is available through following mediums.
* [Multiple views](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/views.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - A wide variety of built-in views are available: `day, week, work week, month, timeline day, timeline week, timeline work week, timeline month, timeline year, year, agenda and month agenda`. Easily configure each individual view with different, view-specific options.
* [Data binding](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/remote-data.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Seamless data binding with various client-side and remote data sources thus allowing the data to load on demand by default to reduce the data transfer and loading time.
* [Drag and drop](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/external-drag-drop.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Appointments can be easily rescheduled to another time by dragging and dropping them onto the required time slots.
* Appointment resize - An appointment’s time can be easily extended by resizing its start or end handlers.
* [Multiple resources](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/resource-grouping.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Supports planning and management of events for multiple resources and allows to group them under appropriate resources. Also, supports date-wise grouping, linked appointments and other group related customizations.
* [Virtual scrolling](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/virtual-scrolling.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Supports to load a large number of resources and events instantly as the users scroll.
* [Recurrence appointment](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/recurrence-events.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Allows the user to repeat a set of events on a daily, weekly, monthly, or yearly basis.
* [Template](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/event-template.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - The key elements like events, date header, work cells, time cells, event tooltip, resource header, date range text, and quick info popup comes with the default template support which allows the flexible end-user customization to embed any kind of text, images, or styles to it.
* [Timezone](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/timezone.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Regardless of whatever time zone your system follows, Schedule supports setting your own required time zone value to it as well as to each event – thus allowing the events to display on its exact local time.
* [Timescale](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/time-scale.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Allows to display customized time duration, with clear and accurate depiction of appointments across the appropriate time slots.
* [Customizable working days and hours](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/work-days.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Users can set specific [work hour](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/work-hour.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) range which is visually differentiated with active colour. Also, the working days collection can be customized with specific days, so that the remaining days will be considered as [weekend](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/hide-weekend.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
* [Custom editor template](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/editor-template.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Template option is availed for event editor, thus allowing the users to add their own custom editor design and also provides option to add additional fields onto the default event editor.
* [Adaptive rendering](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/month-agenda.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Adapts with optimal user interfaces for mobile and desktop form-factors, thus helping the user’s application to scale elegantly across all the form-factors without any additional effort.
* [Export to Excel](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/excel-export.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Provides the options to Export the events to Excel formats.
* [Export and Import ICS](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/calendar-export-import.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Provides the options to Export and Import the events as ICS formats.
* [Keyboard interaction](https://ej2.syncfusion.com/demos/#/bootstrap5/schedule/keyboard-interaction.html?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - All the common actions such as traversing through the appointments, multiple cell selection, add/edit/delete the appointments, navigate to other views, dates and much more can be performed through keyboard inputs.
* [Localization](https://ej2.syncfusion.com/documentation/schedule/localization.html?lang=typescript#localization?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - All the static text and date content can be localized to any desired language. Also, it can be displayed with appropriate time mode and date-format as per the localized language.
* [RTL](https://ej2.syncfusion.com/documentation/schedule/localization.html?lang=typescript#rtl?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) - Supports displaying the component to display in the direction from right to left.
* Creating incident through Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) support system or [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
* New [GitHub issue](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
* Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.
## Support
## License
Product support is available through the following mediums.
Check the license detail [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
* [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
* [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
* [GitHub issues](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new)
* [Request feature or report bug](https://www.syncfusion.com/feedback/javascript?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm)
* Live chat
## Changelog
Check the changelog [here](https://ej2.syncfusion.com/documentation/release-notes?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm).
Check the changelog [here](https://ej2.syncfusion.com/documentation/release-notes?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
© Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
## License and copyright
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [JavaScript UI controls](https://www.syncfusion.com/javascript-ui-controls), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
> A [free community license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
see [LICENSE FILE](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license?utm_source=npm&utm_medium=listing&utm_campaign=javascript-scheduler-npm) for more info.
© Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.

@@ -160,3 +160,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

for (var i = 0; i < days.length; i++) {
var gDate = HijriParser.toGregorian(hDate.year, hDate.month, days[i]);
var gDate = HijriParser.toGregorian(hDate.year, hDate.month, days[parseInt(i.toString(), 10)]);
day.push(gDate.getDate());

@@ -163,0 +163,0 @@ }

@@ -674,3 +674,3 @@ var __extends = (this && this.__extends) || (function () {

monthpos.forEach(function (data) {
dataSource.push({ text: self.localeObj.getConstant(data), value: monthposValue[data] });
dataSource.push({ text: self.localeObj.getConstant(data), value: monthposValue["" + data] });
});

@@ -695,3 +695,3 @@ return dataSource;

var day = getValue(obj, cldrObj);
dayData.push({ text: format === 'narrow' ? day : capitalizeFirstWord(day, 'single'), value: valueData[obj] });
dayData.push({ text: format === 'narrow' ? day : capitalizeFirstWord(day, 'single'), value: valueData["" + obj] });
}

@@ -786,3 +786,3 @@ return dayData;

for (var index = 0; index < elements.length; index++) {
ruleData += weekday[parseInt(elements[index].getAttribute('data-index'), 10)] + (index === (elements.length - 1) ? '' : COMMA);
ruleData += weekday[parseInt(elements[parseInt(index.toString(), 10)].getAttribute('data-index'), 10)] + (index === (elements.length - 1) ? '' : COMMA);
}

@@ -817,3 +817,3 @@ return ruleData + SEMICOLON;

var index = parseInt(obj.element.getAttribute('data-index'), 10);
if (keys.indexOf(weekday[index]) !== -1) {
if (keys.indexOf(weekday[parseInt(index.toString(), 10)]) !== -1) {
obj.setProperties({ isPrimary: true });

@@ -836,3 +836,3 @@ }

var key = _a[_i];
if (valueData[key] === this.ruleObject.day[0]) {
if (valueData["" + key] === this.ruleObject.day[0]) {
this.monthWeekDays.setProperties({ value: this.ruleObject.day[0] });

@@ -839,0 +839,0 @@ break;

@@ -143,4 +143,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

if (multiData && multiData.length > 0) {
startTime = multiData[index][this.parent.eventFields.startTime];
endTime = multiData[index][this.parent.eventFields.endTime];
startTime = multiData[parseInt(index.toString(), 10)][this.parent.eventFields.startTime];
endTime = multiData[parseInt(index.toString(), 10)][this.parent.eventFields.endTime];
}

@@ -443,3 +443,3 @@ timeElement.innerHTML = this.parent.getTimeString(startTime) + ' - ' +

setStyleAttribute(appointmentElement, { 'width': appWidth + 'px', 'border': '0px', 'pointer-events': 'none' });
var cellTd = workCells[day];
var cellTd = workCells[parseInt(day.toString(), 10)];
if (cellTd && isNullOrUndefined(this.parent.eventDragArea)) {

@@ -446,0 +446,0 @@ this.monthEvent.renderElement(cellTd, appointmentElement, true);

@@ -77,6 +77,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

for (var i = 0, len = this.crudObj.sourceEvent.length; i < len; i++) {
templateNames.push('eventTemplate_' + this.crudObj.sourceEvent[i].groupIndex);
if (this.crudObj.targetEvent[i] && this.crudObj.sourceEvent[i].groupIndex !==
this.crudObj.targetEvent[i].groupIndex) {
templateNames.push('eventTemplate_' + this.crudObj.targetEvent[i].groupIndex);
templateNames.push('eventTemplate_' + this.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex);
if (this.crudObj.targetEvent[parseInt(i.toString(), 10)] && this.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
this.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
templateNames.push('eventTemplate_' + this.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex);
}

@@ -122,3 +122,3 @@ }

&& this_1.crudObj.isCrudAction) {
this_1.crudObj.sourceEvent.push(this_1.parent.resourceBase.lastResourceLevel[groupIndex]);
this_1.crudObj.sourceEvent.push(this_1.parent.resourceBase.lastResourceLevel[parseInt(groupIndex.toString(), 10)]);
}

@@ -341,4 +341,4 @@ };

var _loop_2 = function (a, count) {
var childEvent = occurrenceArgs.changedRecords[a];
var parentEvent = occurrenceEvents[a].parent;
var childEvent = occurrenceArgs.changedRecords[parseInt(a.toString(), 10)];
var parentEvent = occurrenceEvents[parseInt(a.toString(), 10)].parent;
var parentException = parentEvent[fields.recurrenceException];

@@ -414,4 +414,4 @@ var editedData = void 0;

var _loop_3 = function (a, count) {
var childEvent = followArgs.changedRecords[a];
var parentEvent = followEvents[a].parent;
var childEvent = followArgs.changedRecords[parseInt(a.toString(), 10)];
var parentEvent = followEvents[parseInt(a.toString(), 10)].parent;
var followData_1 = _this.parent.eventBase.getEventCollections(parentEvent, childEvent);

@@ -492,4 +492,4 @@ var isSpanned = void 0;

var _loop_4 = function (a, count) {
var childEvent = seriesArgs.changedRecords[a];
var parentEvent = seriesEvents[a];
var childEvent = seriesArgs.changedRecords[parseInt(a.toString(), 10)];
var parentEvent = seriesEvents[parseInt(a.toString(), 10)];
var eventCollections = _this.parent.eventBase.getEventCollections(parentEvent);

@@ -559,9 +559,9 @@ var deletedEvents = eventCollections.follow.concat(eventCollections.occurrence);

var _loop_5 = function (a, count) {
var isDelete = isNullOrUndefined(deleteArgs.deletedRecords[a][_this.parent.eventFields.recurrenceRule]);
var isDelete = isNullOrUndefined(deleteArgs.deletedRecords[parseInt(a.toString(), 10)][_this.parent.eventFields.recurrenceRule]);
if (!isDelete) {
var parentEvent_1 = deleteData[a].parent;
var parentEvent_1 = deleteData[parseInt(a.toString(), 10)].parent;
var isEdited = editParams.changedRecords.filter(function (obj) {
return obj[fields_3.id] === parentEvent_1[fields_3.id];
});
var editedDate = deleteArgs.deletedRecords[a][fields_3.startTime];
var editedDate = deleteArgs.deletedRecords[parseInt(a.toString(), 10)][fields_3.startTime];
if (isEdited.length > 0) {

@@ -579,6 +579,6 @@ var editedData = isEdited[0];

}
isDelete = deleteArgs.deletedRecords[a][fields_3.id] !== parentEvent_1[fields_3.id];
isDelete = deleteArgs.deletedRecords[parseInt(a.toString(), 10)][fields_3.id] !== parentEvent_1[fields_3.id];
}
if (isDelete) {
editParams.deletedRecords.push(deleteArgs.deletedRecords[a]);
editParams.deletedRecords.push(deleteArgs.deletedRecords[parseInt(a.toString(), 10)]);
}

@@ -585,0 +585,0 @@ };

@@ -523,3 +523,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

if (self.indexOf(value) === index) {
appointmentElements.push(appointments[index]);
appointmentElements.push(appointments[parseInt(index.toString(), 10)]);
}

@@ -536,3 +536,3 @@ });

if (index < this.parent.views.length) {
var view = this.parent.viewCollections[index].option;
var view = this.parent.viewCollections[parseInt(index.toString(), 10)].option;
this.parent.changeView(view, e, undefined, index);

@@ -650,6 +650,7 @@ if (this.parent.headerModule) {

KeyboardInteraction.prototype.getYearUpDownCell = function (tableRows, rowIndex, cellIndex, isUp) {
while (tableRows[rowIndex] && tableRows[rowIndex].cells[cellIndex].classList.contains(cls.OTHERMONTH_CLASS)) {
while (tableRows[parseInt(rowIndex.toString(), 10)] &&
tableRows[parseInt(rowIndex.toString(), 10)].cells[parseInt(cellIndex.toString(), 10)].classList.contains(cls.OTHERMONTH_CLASS)) {
rowIndex = rowIndex + (isUp ? -1 : 1);
}
return tableRows[rowIndex].cells[cellIndex];
return tableRows[parseInt(rowIndex.toString(), 10)].cells[parseInt(cellIndex.toString(), 10)];
};

@@ -673,3 +674,3 @@ // eslint-disable-next-line max-len

if (!targetCell || targetCell.classList.contains(cls.OTHERMONTH_CLASS)) {
var column = tableRows[curRowIndex].cells[target.cellIndex - (isUp ? 1 : -1)];
var column = tableRows[parseInt(curRowIndex.toString(), 10)].cells[target.cellIndex - (isUp ? 1 : -1)];
if (column) {

@@ -690,3 +691,3 @@ var dateAttr = +target.getAttribute('data-date') - (isUp ? util.MS_PER_DAY : -util.MS_PER_DAY);

columnIndex: target.cellIndex,
maxIndex: tableEle.rows[curRowIndex].cells.length
maxIndex: tableEle.rows[parseInt(curRowIndex.toString(), 10)].cells.length
};

@@ -764,3 +765,4 @@ return key;

var tableEle = this.parent.getContentTable();
var cell = isMonthEnd ? tableEle.rows[rowIndex].querySelector('.' + cls.WORK_CELLS_CLASS + ':not(.' + cls.OTHERMONTH_CLASS + ')') : tableEle.rows[rowIndex].cells[0];
var cell = isMonthEnd ? tableEle.rows[parseInt(rowIndex.toString(), 10)].querySelector('.' + cls.WORK_CELLS_CLASS + ':not(.' + cls.OTHERMONTH_CLASS + ')')
: tableEle.rows[parseInt(rowIndex.toString(), 10)].cells[0];
this.selectCells(false, cell);

@@ -835,3 +837,3 @@ }

var rowIndex = this.isInverseTableSelect() ? key.rowIndex : tableEle.rows.length - 1;
var cell = tableEle.rows[rowIndex].cells[key.maxIndex - 1];
var cell = tableEle.rows[parseInt(rowIndex.toString(), 10)].cells[key.maxIndex - 1];
if (isMonthStart) {

@@ -838,0 +840,0 @@ var tbody = this.parent.element.querySelectorAll('.' + cls.CONTENT_TABLE_CLASS + ' tbody');

@@ -39,5 +39,5 @@ var __extends = (this && this.__extends) || (function () {

for (var i = 0, len = this.actionObj.originalElement.length; i < len; i++) {
var cloneElement = this.createCloneElement(this.actionObj.originalElement[i]);
this.actionObj.cloneElement[i] = cloneElement;
if (this.actionObj.element === this.actionObj.originalElement[i]) {
var cloneElement = this.createCloneElement(this.actionObj.originalElement[parseInt(i.toString(), 10)]);
this.actionObj.cloneElement[parseInt(i.toString(), 10)] = cloneElement;
if (this.actionObj.element === this.actionObj.originalElement[parseInt(i.toString(), 10)]) {
this.actionObj.clone = cloneElement;

@@ -407,6 +407,6 @@ }

if (['Year', 'Month', 'Week', 'Date'].indexOf(headerName) !== -1) {
resizeDate = new Date(this.parent.activeView.renderDates[cellIndex].getTime());
resizeDate = new Date(this.parent.activeView.renderDates[parseInt(cellIndex.toString(), 10)].getTime());
}
else {
resizeDate = this.parent.getDateFromElement(tr.children[cellIndex]);
resizeDate = this.parent.getDateFromElement(tr.children[parseInt(cellIndex.toString(), 10)]);
}

@@ -438,3 +438,3 @@ if (['TimelineMonth', 'Year', 'Month', 'Week', 'Date'].indexOf(headerName) !== -1 ||

dayIndex = this.getIndex(dayIndex);
resizeTime = this.parent.getDateFromElement(tr.children[dayIndex]);
resizeTime = this.parent.getDateFromElement(tr.children[parseInt(dayIndex.toString(), 10)]);
if (isLeft) {

@@ -441,0 +441,0 @@ resizeTime.setHours(eventStart.getHours(), eventStart.getMinutes(), eventStart.getSeconds());

@@ -25,4 +25,5 @@ import { addClass, removeClass, Touch, remove, EventHandler, Browser } from '@syncfusion/ej2-base';

if (this.parent.currentView === 'Agenda' || this.parent.uiStateValues.action || !this.parent.allowSwiping ||
(e.originalEvent && e.originalEvent.target && (e.originalEvent.target.classList.contains(cls.APPOINTMENT_CLASS) ||
closest(e.originalEvent.target, '.' + cls.APPOINTMENT_CLASS)) && !this.parent.isAdaptive)) {
(e.originalEvent && e.originalEvent.target &&
(e.originalEvent.target.classList.contains(cls.APPOINTMENT_CLASS) ||
closest(e.originalEvent.target, '.' + cls.APPOINTMENT_CLASS)) && !this.parent.isAdaptive)) {
return;

@@ -179,3 +180,3 @@ }

if (_this.parent.headerModule) {
_this.parent.headerModule.updateDateRange(_this.parent.activeView.getDateRangeText());
_this.parent.headerModule.updateDateRange();
}

@@ -182,0 +183,0 @@ _this.parent.renderTemplates();

@@ -236,17 +236,20 @@ import { append, addClass, remove, isNullOrUndefined, setStyleAttribute, createElement, prepend } from '@syncfusion/ej2-base';

if (this.parent.activeViewOptions.group.byDate) {
if (lastLevel[startIndex].date.getTime() === this.parent.resourceBase.expandedResources[0].date.getTime() &&
lastLevel[endIndex].date.getTime() ===
if (lastLevel[parseInt(startIndex.toString(), 10)].date.getTime() ===
this.parent.resourceBase.expandedResources[0].date.getTime() &&
lastLevel[parseInt(endIndex.toString(), 10)].date.getTime() ===
this.parent.resourceBase.expandedResources[this.parent.resourceBase.expandedResources.length - 1].date.getTime()) {
return this.parent.resourceBase.expandedResources;
}
resCollection = this.getByDateCollection(lastLevel[startIndex], lastLevel[endIndex], index);
resCollection =
this.getByDateCollection(lastLevel[parseInt(startIndex.toString(), 10)], lastLevel[parseInt(endIndex.toString(), 10)], index);
this.setRenderedDates(resCollection);
}
else {
if (lastLevel[startIndex].groupIndex === this.parent.resourceBase.expandedResources[0].groupIndex &&
lastLevel[endIndex].groupIndex ===
if (lastLevel[parseInt(startIndex.toString(), 10)].groupIndex === this.parent.resourceBase.expandedResources[0].groupIndex &&
lastLevel[parseInt(endIndex.toString(), 10)].groupIndex ===
this.parent.resourceBase.expandedResources[this.parent.resourceBase.expandedResources.length - 1].groupIndex) {
return this.parent.resourceBase.expandedResources;
}
resCollection = this.getByIdCollection(lastLevel[startIndex], lastLevel[endIndex], index);
resCollection =
this.getByIdCollection(lastLevel[parseInt(startIndex.toString(), 10)], lastLevel[parseInt(endIndex.toString(), 10)], index);
}

@@ -331,3 +334,3 @@ if (this.parent.currentView !== 'Month') {

for (var i = 0; i < col.length; i++) {
remove(col[i]);
remove(col[parseInt(i.toString(), 10)]);
}

@@ -334,0 +337,0 @@ this.parent.activeView.colLevels[this.parent.activeView.colLevels.length - 1] = resCollection;

@@ -378,2 +378,8 @@ import { BaseEventArgs } from '@syncfusion/ej2-base';

/** @private */
export interface DateRangeTemplateArgs {
startDate: Date;
endDate: Date;
currentView: View;
}
/** @private */
export interface CrudArgs extends ActionEventArgs {

@@ -400,3 +406,3 @@ promise?: Promise<any>;

getLabelText(view: string): string;
getDateRangeText(): string;
getDateRangeText(date?: Date): string;
getEndDateFromStartDate(date: Date): Date;

@@ -568,2 +574,3 @@ addEventListener(): void;

monthHeaderTemplateName?: string;
dateRangeTemplateName?: string;
}

@@ -570,0 +577,0 @@ /** @private */

@@ -16,2 +16,3 @@ import { Schedule } from '../base/schedule';

private leftPixel;
resourceDateTree: TdData[][];
constructor(parent: Schedule);

@@ -18,0 +19,0 @@ renderResourceHeaderIndent(tr: Element): void;

@@ -15,2 +15,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

this.leftPixel = 25;
this.resourceDateTree = [];
this.parent = parent;

@@ -38,4 +39,4 @@ }

for (var i = 0; i < trCount; i++) {
var resData = this.lastResourceLevel[i].resourceData;
var res = this.lastResourceLevel[i].resource;
var resData = this.lastResourceLevel[parseInt(i.toString(), 10)].resourceData;
var res = this.lastResourceLevel[parseInt(i.toString(), 10)].resource;
if (resData.ClassName === cls.RESOURCE_PARENT_CLASS && !resData[res.expandedField] &&

@@ -83,6 +84,6 @@ !isNullOrUndefined(resData[res.expandedField])) {

for (var i = 0; i < this.lastResourceLevel.length; i++) {
var resource = this.lastResourceLevel[i].resourceData;
var resource = this.lastResourceLevel[parseInt(i.toString(), 10)].resourceData;
var count = resource.Count;
resources.push(this.lastResourceLevel[i]);
var isExpanded = resource[this.lastResourceLevel[i].resource.expandedField];
resources.push(this.lastResourceLevel[parseInt(i.toString(), 10)]);
var isExpanded = resource[this.lastResourceLevel[parseInt(i.toString(), 10)].resource.expandedField];
if (!isNullOrUndefined(isExpanded) && !isExpanded && count > 0) {

@@ -103,17 +104,17 @@ i = i + count;

var ntd = td.cloneNode();
rIndex = util.findIndexInData(resColl, 'name', resData[i].resource.name);
rIndex = util.findIndexInData(resColl, 'name', resData[parseInt(i.toString(), 10)].resource.name);
if (rIndex === resColl.length - 1) {
extend(resData[i].resourceData, { ClassName: cls.RESOURCE_CHILD_CLASS });
this.renderedResources[i].className = [cls.RESOURCE_CHILD_CLASS];
extend(resData[parseInt(i.toString(), 10)].resourceData, { ClassName: cls.RESOURCE_CHILD_CLASS });
this.renderedResources[parseInt(i.toString(), 10)].className = [cls.RESOURCE_CHILD_CLASS];
}
else {
extend(resData[i].resourceData, { ClassName: cls.RESOURCE_PARENT_CLASS });
this.renderedResources[i].className = [cls.RESOURCE_PARENT_CLASS];
extend(resData[parseInt(i.toString(), 10)].resourceData, { ClassName: cls.RESOURCE_PARENT_CLASS });
this.renderedResources[parseInt(i.toString(), 10)].className = [cls.RESOURCE_PARENT_CLASS];
}
left = (rIndex * this.leftPixel) + 'px';
if (resData[i].resourceData.ClassName === cls.RESOURCE_PARENT_CLASS
&& !isNullOrUndefined(resData[i].resourceData.Count) && (resData[i].resourceData.Count > 0)) {
if (resData[parseInt(i.toString(), 10)].resourceData.ClassName === cls.RESOURCE_PARENT_CLASS
&& !isNullOrUndefined(resData[parseInt(i.toString(), 10)].resourceData.Count) && (resData[parseInt(i.toString(), 10)].resourceData.Count > 0)) {
var iconClass = void 0;
if (resData[i].resourceData[resColl[rIndex].expandedField] ||
isNullOrUndefined(resData[i].resourceData[resColl[rIndex].expandedField])) {
if (resData[parseInt(i.toString(), 10)].resourceData[resColl[parseInt(rIndex.toString(), 10)].expandedField] ||
isNullOrUndefined(resData[parseInt(i.toString(), 10)].resourceData[resColl[parseInt(rIndex.toString(), 10)].expandedField])) {
iconClass = cls.RESOURCE_COLLAPSE_CLASS;

@@ -132,11 +133,11 @@ }

}
this.parent.activeView.setResourceHeaderContent(ntd, resData[i], cls.RESOURCE_TEXT_CLASS);
ntd.setAttribute('data-group-index', resData[i].groupIndex.toString());
ntd.setAttribute('aria-label', resData[i].resourceData[resData[i].resource.textField] + ' resource');
this.parent.activeView.setResourceHeaderContent(ntd, resData[parseInt(i.toString(), 10)], cls.RESOURCE_TEXT_CLASS);
ntd.setAttribute('data-group-index', resData[parseInt(i.toString(), 10)].groupIndex.toString());
ntd.setAttribute('aria-label', resData[parseInt(i.toString(), 10)].resourceData[resData[parseInt(i.toString(), 10)].resource.textField] + ' resource');
if (!this.parent.activeViewOptions.resourceHeaderTemplate) {
this.setMargin(ntd.querySelector('.' + cls.RESOURCE_TEXT_CLASS), left);
}
var classCollection = [cls.RESOURCE_CELLS_CLASS, resData[i].resourceData.ClassName];
var classCollection = [cls.RESOURCE_CELLS_CLASS, resData[parseInt(i.toString(), 10)].resourceData.ClassName];
addClass([ntd], classCollection);
var args = { elementType: 'resourceHeader', element: ntd, groupIndex: resData[i].groupIndex };
var args = { elementType: 'resourceHeader', element: ntd, groupIndex: resData[parseInt(i.toString(), 10)].groupIndex };
this.parent.trigger(events.renderCell, args);

@@ -164,3 +165,3 @@ var ntr = tr.cloneNode();

if (this.parent.activeViewOptions.group.byGroupID) {
var query = new Query().where(wholeCollection[wholeCollection.length - 1].groupIDField, 'equal', data[x][parentCollection[parentCollection.length - (y + 1)].idField]);
var query = new Query().where(wholeCollection[wholeCollection.length - 1].groupIDField, 'equal', data[parseInt(x.toString(), 10)][parentCollection[parentCollection.length - (y + 1)].idField]);
collection = new DataManager(wholeCollection[wholeCollection.length - 1].dataSource).executeLocal(query);

@@ -172,6 +173,6 @@ }

for (var z = 0; z < collection.length; z++) {
totalCount = totalCount + parseInt(collection[z].Count, 10);
totalCount = totalCount + parseInt(collection[parseInt(z.toString(), 10)].Count, 10);
}
totalCount = totalCount + parseInt(data[x].Count, 10);
extend(data[x], { Count: totalCount });
totalCount = totalCount + parseInt(data[parseInt(x.toString(), 10)].Count, 10);
extend(data[parseInt(x.toString(), 10)], { Count: totalCount });
}

@@ -232,3 +233,3 @@ wholeCollection = wholeCollection.slice(0, -1);

var pNode;
var clickedRes = this.lastResourceLevel[index].resourceData;
var clickedRes = this.lastResourceLevel[parseInt(index.toString(), 10)].resourceData;
var resRows = [].slice.call(this.parent.element.querySelectorAll('.' + cls.RESOURCE_COLUMN_WRAP_CLASS + ' ' + 'tr'));

@@ -245,7 +246,7 @@ var contentRows = [].slice.call(this.parent.element.querySelectorAll('.' + cls.CONTENT_WRAP_CLASS + ' ' + 'tbody tr'));

var expanded = true;
pNode = rowCollection[i].children[0].classList.contains(cls.RESOURCE_PARENT_CLASS);
clonedCollection[index].resourceData[clonedCollection[index].resource.expandedField] = !hide;
pNode = rowCollection[parseInt(i.toString(), 10)].children[0].classList.contains(cls.RESOURCE_PARENT_CLASS);
clonedCollection[parseInt(index.toString(), 10)].resourceData[clonedCollection[parseInt(index.toString(), 10)].resource.expandedField] = !hide;
if (hide) {
if (pNode) {
var trElem = rowCollection[i].querySelector('.' + cls.RESOURCE_TREE_ICON_CLASS);
var trElem = rowCollection[parseInt(i.toString(), 10)].querySelector('.' + cls.RESOURCE_TREE_ICON_CLASS);
if (trElem) {

@@ -255,4 +256,4 @@ classList(trElem, [cls.RESOURCE_EXPAND_CLASS], [cls.RESOURCE_COLLAPSE_CLASS]);

}
if (!rowCollection[i].classList.contains(cls.HIDDEN_CLASS)) {
addClass([rowCollection[i], workCellCollection[i], headerRowCollection[i]], cls.HIDDEN_CLASS);
if (!rowCollection[parseInt(i.toString(), 10)].classList.contains(cls.HIDDEN_CLASS)) {
addClass([rowCollection[parseInt(i.toString(), 10)], workCellCollection[parseInt(i.toString(), 10)], headerRowCollection[parseInt(i.toString(), 10)]], cls.HIDDEN_CLASS);
}

@@ -262,12 +263,12 @@ }

if (pNode) {
var rowIndex = rowCollection[i].rowIndex;
if (!clonedCollection[rowIndex].resourceData[clonedCollection[rowIndex].resource.expandedField]
&& !isNullOrUndefined(clonedCollection[rowIndex].resourceData[clonedCollection[rowIndex].resource.expandedField])) {
rowCollection.splice(i + 1, (parseInt(clonedCollection[rowIndex].resourceData.Count, 10)));
workCellCollection.splice(i + 1, (parseInt(clonedCollection[rowIndex].resourceData.Count, 10)));
headerRowCollection.splice(i + 1, (parseInt(clonedCollection[rowIndex].resourceData.Count, 10)));
var rowIndex = rowCollection[parseInt(i.toString(), 10)].rowIndex;
if (!clonedCollection[parseInt(rowIndex.toString(), 10)].resourceData[clonedCollection[parseInt(rowIndex.toString(), 10)].resource.expandedField]
&& !isNullOrUndefined(clonedCollection[parseInt(rowIndex.toString(), 10)].resourceData[clonedCollection[parseInt(rowIndex.toString(), 10)].resource.expandedField])) {
rowCollection.splice(i + 1, (parseInt(clonedCollection[parseInt(rowIndex.toString(), 10)].resourceData.Count, 10)));
workCellCollection.splice(i + 1, (parseInt(clonedCollection[parseInt(rowIndex.toString(), 10)].resourceData.Count, 10)));
headerRowCollection.splice(i + 1, (parseInt(clonedCollection[parseInt(rowIndex.toString(), 10)].resourceData.Count, 10)));
expanded = false;
}
if (expanded) {
var trElem = rowCollection[i].querySelector('.' + cls.RESOURCE_TREE_ICON_CLASS);
var trElem = rowCollection[parseInt(i.toString(), 10)].querySelector('.' + cls.RESOURCE_TREE_ICON_CLASS);
if (trElem) {

@@ -278,4 +279,4 @@ classList(trElem, [cls.RESOURCE_COLLAPSE_CLASS], [cls.RESOURCE_EXPAND_CLASS]);

}
if (rowCollection[i].classList.contains(cls.HIDDEN_CLASS)) {
removeClass([rowCollection[i], workCellCollection[i], headerRowCollection[i]], cls.HIDDEN_CLASS);
if (rowCollection[parseInt(i.toString(), 10)].classList.contains(cls.HIDDEN_CLASS)) {
removeClass([rowCollection[parseInt(i.toString(), 10)], workCellCollection[parseInt(i.toString(), 10)], headerRowCollection[parseInt(i.toString(), 10)]], cls.HIDDEN_CLASS);
}

@@ -287,3 +288,3 @@ }

ResourceBase.prototype.updateVirtualContent = function (index, expand, e, target) {
this.lastResourceLevel[index].resourceData[this.lastResourceLevel[index].resource.expandedField] = !expand;
this.lastResourceLevel[parseInt(index.toString(), 10)].resourceData[this.lastResourceLevel[parseInt(index.toString(), 10)].resource.expandedField] = !expand;
this.setExpandedResources();

@@ -379,3 +380,3 @@ var resourceCount = this.parent.virtualScrollModule.getRenderedCount();

var treeHandler = function (treeLevel, index, levelId) {
var resource = _this.resourceCollection[index];
var resource = _this.resourceCollection[parseInt(index.toString(), 10)];
var treeArgs;

@@ -420,6 +421,6 @@ var resObj;

if (!isTimeLine) {
treeCollection.push(treeHandler(this_1.resourceTreeLevel[i], 0, (i + 1).toString()));
treeCollection.push(treeHandler(this_1.resourceTreeLevel[parseInt(i.toString(), 10)], 0, (i + 1).toString()));
}
else {
treeHandler(this_1.resourceTreeLevel[i], 0, (i + 1).toString());
treeHandler(this_1.resourceTreeLevel[parseInt(i.toString(), 10)], 0, (i + 1).toString());
}

@@ -443,5 +444,5 @@ };

var _loop_2 = function (i, len) {
var resourceLevel = this_2.resourceCollection[i];
var resourceLevel = this_2.resourceCollection[parseInt(i.toString(), 10)];
var resourceText = resourceLevel.dataSource.filter(function (resData) {
return resData[resourceLevel.idField] === resource.groupOrder[i];
return resData[resourceLevel.idField] === resource.groupOrder[parseInt(i.toString(), 10)];
});

@@ -543,4 +544,4 @@ var resourceName = createElement('div', {

for (var i = 0, length_1 = e.length; i < length_1; i++) {
var resource = this.parent.resources[i];
var resourceObj = this.getResourceModel(resource, e[i].result);
var resource = this.parent.resources[parseInt(i.toString(), 10)];
var resourceObj = this.getResourceModel(resource, e[parseInt(i.toString(), 10)].result);
this.parent.resourceCollection.push(resourceObj);

@@ -584,3 +585,3 @@ }

if (index_1 >= 0) {
requiredResources.push(this.parent.resourceCollection[index_1]);
requiredResources.push(this.parent.resourceCollection[parseInt(index_1.toString(), 10)]);
}

@@ -630,4 +631,4 @@ }

}
groupOrder.push(data[i][resource.idField]);
var items = group(resources.slice(1), index + 1, resource, data[i], groupOrder);
groupOrder.push(data[parseInt(i.toString(), 10)][resource.idField]);
var items = group(resources.slice(1), index + 1, resource, data[parseInt(i.toString(), 10)], groupOrder);
// Here validate child item empty top level resource only

@@ -641,5 +642,5 @@ if (index === 0 && items.length === 0 && _this.resourceCollection.length > 1) {

if (!_this.parent.activeViewOptions.group.byDate && index + 1 === _this.resourceCollection.length) {
var workDays = data[i][resource.workDaysField];
var resStartHour = data[i][resource.startHourField];
var resEndHour = data[i][resource.endHourField];
var workDays = data[parseInt(i.toString(), 10)][resource.workDaysField];
var resStartHour = data[parseInt(i.toString(), 10)][resource.startHourField];
var resEndHour = data[parseInt(i.toString(), 10)][resource.endHourField];
if (workDays && workDays.length > 0) {

@@ -657,7 +658,7 @@ renderDates = _this.parent.activeView.getRenderDates(workDays);

}
var resCssClass = data[i][resource.cssClassField];
var resCssClass = data[parseInt(i.toString(), 10)][resource.cssClassField];
var slotData = {
type: 'resourceHeader', className: ['e-resource-cells'],
resourceLevelIndex: index, groupOrder: groupOrder,
resource: resource, resourceData: data[i],
resource: resource, resourceData: data[parseInt(i.toString(), 10)],
colSpan: _this.parent.activeViewOptions.group.byDate ? 1 : dateCol.length,

@@ -669,7 +670,7 @@ renderDates: renderDates, workDays: resWorkDays, cssClass: resCssClass,

}
if (!resTreeGroup[index]) {
resTreeGroup[index] = [];
if (!resTreeGroup[parseInt(index.toString(), 10)]) {
resTreeGroup[parseInt(index.toString(), 10)] = [];
}
if (resTree.length > 0) {
resTreeGroup[index].push(resTree);
resTreeGroup[parseInt(index.toString(), 10)].push(resTree);
}

@@ -703,3 +704,3 @@ return resTree;

var temp = 0;
for (var _i = 0, _a = resTreeGroup[i]; _i < _a.length; _i++) {
for (var _i = 0, _a = resTreeGroup[parseInt(i.toString(), 10)]; _i < _a.length; _i++) {
var currentLevelChilds = _a[_i];

@@ -709,3 +710,3 @@ for (var _b = 0, currentLevelChilds_1 = currentLevelChilds; _b < currentLevelChilds_1.length; _b++) {

if (resTreeGroup[i + 1] && resTreeGroup[i + 1].length > 0) {
var nextLevelChilds = resTreeGroup[i + 1][temp];
var nextLevelChilds = resTreeGroup[parseInt((i + 1).toString(), 10)][parseInt(temp.toString(), 10)];
if (!nextLevelChilds) {

@@ -738,3 +739,3 @@ continue;

for (var i = 0; i < lastLevelResource.colSpan; i++) {
lastColumnDates[index].groupIndex = lastLevelResource.groupIndex;
lastColumnDates[parseInt(index.toString(), 10)].groupIndex = lastLevelResource.groupIndex;
index++;

@@ -748,10 +749,95 @@ }

var levels = extend([], headerLevels, null, true);
var datesColumn = [];
if (this.parent.activeViewOptions.group.hideNonWorkingDays) {
var renderDates_1 = [];
var dateIndex = 0;
var _loop_3 = function (headerDate) {
this_3.resourceDateTree[parseInt(dateIndex.toString(), 10)] = [];
var currentDateLevels = [];
var _loop_4 = function (j) {
var workDays = this_3.lastResourceLevel[parseInt(j.toString(), 10)].resourceData[this_3.lastResourceLevel[parseInt(j.toString(), 10)].resource.workDaysField];
if (!workDays) {
workDays = this_3.parent.activeViewOptions.workDays;
}
if (workDays.indexOf(headerDate.date.getDay()) !== -1) {
var resTd_1 = extend({}, this_3.lastResourceLevel[parseInt(j.toString(), 10)], null, true);
resTd_1.date = headerDate.date;
this_3.lastResourceLevel[parseInt(j.toString(), 10)].workDays = workDays;
resTd_1.startHour = this_3.parent.getStartEndTime(resTd_1.resourceData[resTd_1.resource.startHourField]) ||
headerDate.startHour;
resTd_1.endHour = this_3.parent.getStartEndTime(resTd_1.resourceData[resTd_1.resource.endHourField]) ||
headerDate.endHour;
this_3.resourceDateTree[parseInt(dateIndex.toString(), 10)].push(resTd_1);
var _loop_5 = function (k) {
if (!currentDateLevels[parseInt(k.toString(), 10)]) {
currentDateLevels[parseInt(k.toString(), 10)] = [];
}
if (k === resTd_1.groupOrder.length - 1) {
if (!renderDates_1[parseInt(j.toString(), 10)]) {
renderDates_1[parseInt(j.toString(), 10)] = [];
}
var filterDates = resTd_1.renderDates.filter(function (x) { return x.getDay() === headerDate.date.getDay(); });
renderDates_1[parseInt(j.toString(), 10)] = renderDates_1[parseInt(j.toString(), 10)].concat(filterDates);
currentDateLevels[parseInt(k.toString(), 10)].push(resTd_1);
return "continue";
}
var currentLevel = levels[parseInt(k.toString(), 10)];
var filteredResource = currentLevel.filter(function (data) {
return data.resourceData[data.resource.idField] === resTd_1.groupOrder[parseInt(k.toString(), 10)];
});
if (filteredResource && filteredResource.length > 0) {
var existedResource = currentDateLevels[parseInt(k.toString(), 10)].filter(function (data) {
return data.resourceData[data.resource.idField] === resTd_1.groupOrder[parseInt(k.toString(), 10)];
});
if (existedResource && existedResource.length > 0) {
existedResource[0].colSpan += 1;
}
else {
var filteredTd = extend({}, filteredResource[0], null, true);
filteredTd.colSpan = 1;
currentDateLevels[parseInt(k.toString(), 10)].push(filteredTd);
}
}
};
for (var k = 0; k < resTd_1.groupOrder.length; k++) {
_loop_5(k);
}
}
};
for (var j = 0; j < this_3.lastResourceLevel.length; j++) {
_loop_4(j);
}
if (currentDateLevels.length > 0) {
for (var l = 0; l < levels.length; l++) {
if (!dateHeaderLevels[parseInt(l.toString(), 10)]) {
dateHeaderLevels[parseInt(l.toString(), 10)] = [];
}
dateHeaderLevels[parseInt(l.toString(), 10)] = dateHeaderLevels[parseInt(l.toString(), 10)].concat(currentDateLevels[parseInt(l.toString(), 10)]);
}
headerDate.colSpan = currentDateLevels[currentDateLevels.length - 1].length;
datesColumn.push(headerDate);
}
dateIndex++;
};
var this_3 = this;
for (var _f = 0, headerDates_1 = headerDates; _f < headerDates_1.length; _f++) {
var headerDate = headerDates_1[_f];
_loop_3(headerDate);
}
this.resourceDateTree = this.resourceDateTree.filter(function (data) { return data.length > 0; });
this.lastResourceLevel.forEach(function (x, index) {
if (renderDates_1[parseInt(index.toString(), 10)]) {
x.renderDates = renderDates_1[parseInt(index.toString(), 10)].sort(function (a, b) { return a.getTime() - b.getTime(); });
}
});
dateHeaderLevels.unshift(datesColumn);
return dateHeaderLevels;
}
var dateColSpan = 0;
for (var _f = 0, _g = levels[0]; _f < _g.length; _f++) {
var firstRowTd = _g[_f];
for (var _g = 0, _h = levels[0]; _g < _h.length; _g++) {
var firstRowTd = _h[_g];
dateColSpan += firstRowTd.colSpan;
}
var datesColumn = [];
for (var _h = 0, headerDates_1 = headerDates; _h < headerDates_1.length; _h++) {
var headerDate = headerDates_1[_h];
for (var _j = 0, headerDates_2 = headerDates; _j < headerDates_2.length; _j++) {
var headerDate = headerDates_2[_j];
headerDate.colSpan = dateColSpan;

@@ -762,4 +848,4 @@ datesColumn.push(headerDate);

if (k === resGroup.length - 1) {
for (var _j = 0, _k = resGroup[k]; _j < _k.length; _j++) {
var resTd = _k[_j];
for (var _k = 0, _l = resGroup[parseInt(k.toString(), 10)]; _k < _l.length; _k++) {
var resTd = _l[_k];
resTd.date = headerDate.date;

@@ -773,6 +859,6 @@ resTd.workDays = headerDate.workDays;

}
if (!dateHeaderLevels[k]) {
dateHeaderLevels[k] = [];
if (!dateHeaderLevels[parseInt(k.toString(), 10)]) {
dateHeaderLevels[parseInt(k.toString(), 10)] = [];
}
dateHeaderLevels[k] = dateHeaderLevels[k].concat(resGroup[k]);
dateHeaderLevels[parseInt(k.toString(), 10)] = dateHeaderLevels[parseInt(k.toString(), 10)].concat(resGroup[parseInt(k.toString(), 10)]);
}

@@ -786,7 +872,7 @@ }

var setValues = function (index, field, value) {
if (_this.resourceCollection[index].allowMultiple && _this.parent.activeViewOptions.group.allowGroupEdit) {
eventObj[field] = [value];
if (_this.resourceCollection[parseInt(index.toString(), 10)].allowMultiple && _this.parent.activeViewOptions.group.allowGroupEdit) {
eventObj["" + field] = [value];
}
else {
eventObj[field] = value;
eventObj["" + field] = value;
}

@@ -799,5 +885,5 @@ };

if (this.parent.activeViewOptions.group.resources.length > 0 && !isNullOrUndefined(groupIndex)) {
var groupOrder = this.lastResourceLevel[groupIndex].groupOrder;
var groupOrder = this.lastResourceLevel[parseInt(groupIndex.toString(), 10)].groupOrder;
for (var index = 0; index < this.resourceCollection.length; index++) {
setValues(index, this.resourceCollection[index].field, groupOrder[index]);
setValues(index, this.resourceCollection[parseInt(index.toString(), 10)].field, groupOrder[parseInt(index.toString(), 10)]);
}

@@ -807,5 +893,5 @@ }

for (var index = 0; index < this.resourceCollection.length; index++) {
var data = this.resourceCollection[index].dataSource[0];
var data = this.resourceCollection[parseInt(index.toString(), 10)].dataSource[0];
if (data) {
setValues(index, this.resourceCollection[index].field, data[this.resourceCollection[index].idField]);
setValues(index, this.resourceCollection[parseInt(index.toString(), 10)].field, data[this.resourceCollection[parseInt(index.toString(), 10)].idField]);
}

@@ -818,7 +904,7 @@ }

this.colorIndex > groupOrder.length - 1) ? groupOrder.length - 1 : this.colorIndex;
var resource = this.resourceCollection[colorFieldIndex];
var resource = this.resourceCollection[parseInt(colorFieldIndex.toString(), 10)];
if (isNullOrUndefined(groupOrder) && this.parent.activeViewOptions.group.allowGroupEdit && resource.allowMultiple) {
return undefined;
}
var id = isNullOrUndefined(groupOrder) ? eventObj[resource.field] : groupOrder[colorFieldIndex];
var id = isNullOrUndefined(groupOrder) ? eventObj[resource.field] : groupOrder[parseInt(colorFieldIndex.toString(), 10)];
var data = this.filterData(resource.dataSource, resource.idField, id);

@@ -852,3 +938,3 @@ if (data.length > 0) {

ResourceBase.prototype.filterData = function (dataSource, field, value) {
return dataSource.filter(function (data) { return data[field] === value; });
return dataSource.filter(function (data) { return data["" + field] === value; });
};

@@ -860,9 +946,9 @@ ResourceBase.prototype.getResourceData = function (eventObj, index, groupEditIndex) {

var groupIndex = groupEditIndex_1[_i];
var resourceLevel = this.lastResourceLevel[groupIndex].groupOrder;
var resourceLevel = this.lastResourceLevel[parseInt(groupIndex.toString(), 10)].groupOrder;
for (var level = 0, length_3 = resourceLevel.length; level < length_3; level++) {
var fieldName = this.resourceCollection[level].field;
if (isNullOrUndefined(resourceObj[fieldName])) {
resourceObj[fieldName] = [];
var fieldName = this.resourceCollection[parseInt(level.toString(), 10)].field;
if (isNullOrUndefined(resourceObj["" + fieldName])) {
resourceObj["" + fieldName] = [];
}
resourceObj[fieldName].push(resourceLevel[level]);
resourceObj["" + fieldName].push(resourceLevel[parseInt(level.toString(), 10)]);
}

@@ -874,4 +960,4 @@ }

for (var level = 0, length_4 = this.resourceCollection.length; level < length_4; level++) {
if (this.lastResourceLevel[index]) {
eventObj[this.resourceCollection[level].field] = this.lastResourceLevel[index].groupOrder[level];
if (this.lastResourceLevel[parseInt(index.toString(), 10)]) {
eventObj[this.resourceCollection[parseInt(level.toString(), 10)].field] = this.lastResourceLevel[parseInt(index.toString(), 10)].groupOrder[parseInt(level.toString(), 10)];
}

@@ -883,3 +969,3 @@ }

var resourceCollection = (resources instanceof Array) ? resources : [resources];
var _loop_3 = function (resource) {
var _loop_6 = function (resource) {
if (resource.name === name) {

@@ -894,3 +980,3 @@ resourceCollection.forEach(function (addObj, i) {

var resource = _a[_i];
var state_1 = _loop_3(resource);
var state_1 = _loop_6(resource);
if (state_1 === "break")

@@ -903,3 +989,3 @@ break;

var resourceCollection = (resourceId instanceof Array) ? resourceId : [resourceId];
var _loop_4 = function (resource) {
var _loop_7 = function (resource) {
if (resource.name === name) {

@@ -914,3 +1000,3 @@ resourceCollection.forEach(function (removeObj) {

var resource = _a[_i];
var state_2 = _loop_4(resource);
var state_2 = _loop_7(resource);
if (state_2 === "break")

@@ -931,3 +1017,3 @@ break;

if (event && e[resourceData.idField] === id) {
if (e[resourceData.groupIDField] === event[parentField]) {
if (e[resourceData.groupIDField] === event["" + parentField]) {
return e[resourceData.idField] === id;

@@ -1035,3 +1121,3 @@ }

var offset = [].slice.call(offsetTarget.children).map(function (node) { return node.offsetLeft; });
scrollElement.scrollLeft = offset[index];
scrollElement.scrollLeft = offset[parseInt(index.toString(), 10)];
}

@@ -1038,0 +1124,0 @@ };

@@ -325,2 +325,9 @@ import { Component, ModuleDeclaration, Property, Event, Animation, Collection, append } from '@syncfusion/ej2-base';import { EventHandler, EmitType, Browser, Internationalization, getDefaultDateObject, cldrData, L10n } from '@syncfusion/ej2-base';import { getValue, compile, extend, isNullOrUndefined, NotifyPropertyChanges, INotifyPropertyChanged, Complex } from '@syncfusion/ej2-base';import { getElement, removeClass, addClass, classList, remove } from '@syncfusion/ej2-base';import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';import { HeaderRenderer } from '../renderer/header-renderer';import { Scroll } from '../actions/scroll';import { ScheduleTouch } from '../actions/touch';import { KeyboardInteraction } from '../actions/keyboard';import { Data } from '../actions/data';import { View, CurrentAction, ReturnType, WeekRule } from '../base/type';import { EventBase } from '../event-renderer/event-base';import { InlineEdit } from '../event-renderer/inline-edit';import { QuickPopups } from '../popups/quick-popups';import { EventTooltip } from '../popups/event-tooltip';import { EventWindow } from '../popups/event-window';import { Render } from '../renderer/renderer';import { Day } from '../renderer/day';import { Week } from '../renderer/week';import { WorkWeek } from '../renderer/work-week';import { Month } from '../renderer/month';import { Year } from '../renderer/year';import { Agenda } from '../renderer/agenda';import { MonthAgenda } from '../renderer/month-agenda';import { TimelineViews } from '../renderer/timeline-view';import { TimelineMonth } from '../renderer/timeline-month';import { TimelineYear } from '../renderer/timeline-year';import { WorkHours } from '../models/work-hours';import { TimeScale } from '../models/time-scale';import { QuickInfoTemplates } from '../models/quick-info-templates';import { HeaderRows } from '../models/header-rows';import { Crud } from '../actions/crud';import { Resize } from '../actions/resize';import { DragAndDrop } from '../actions/drag';import { VirtualScroll } from '../actions/virtual-scroll';import { WorkCellInteraction } from '../actions/work-cells';import { WorkHoursModel, ViewsModel, EventSettingsModel, GroupModel, ResourcesModel, TimeScaleModel } from '../models/models';import { QuickInfoTemplatesModel, HeaderRowsModel } from '../models/models';import { EventSettings } from '../models/event-settings';import { Group } from '../models/group';import { Resources } from '../models/resources';import { ICalendarExport } from '../exports/calendar-export';import { ICalendarImport } from '../exports/calendar-import';import { ExcelExport } from '../exports/excel-export';import { Print } from '../exports/print';import { IRenderer, ActionEventArgs, NavigatingEventArgs, CellClickEventArgs, RenderCellEventArgs, ScrollCss, TimezoneFields } from '../base/interface';import { EventClickArgs, EventRenderedArgs, PopupOpenEventArgs, UIStateArgs, DragEventArgs, ResizeEventArgs } from '../base/interface';import { EventFieldsMapping, TdData, ResourceDetails, ResizeEdges, StateArgs, ExportOptions, SelectEventArgs } from '../base/interface';import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, CallbackFunction } from '../base/interface';import { CalendarUtil, Gregorian, Islamic, CalendarType } from '../../common/calendar-util';import { ResourceBase } from '../base/resource';import { Timezone, timezoneData } from '../timezone/timezone';import { RecurrenceEditor } from '../../recurrence-editor/recurrence-editor';import * as events from '../base/constant';import * as cls from '../base/css-constant';import * as util from '../base/util';

/**
* It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
*
* @default null
*/
dateRangeTemplate?: string;
/**
* It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto

@@ -327,0 +334,0 @@ * the month date cells. This template is only applicable for month view day cells.

@@ -272,4 +272,2 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

}
/** @private */
var scrollWidth = null;
/**

@@ -290,3 +288,3 @@ * Method to get scrollbar width

document.body.removeChild(divNode);
return scrollWidth = value;
return value;
}

@@ -306,8 +304,8 @@ /**

for (var i = 0, length_1 = data.length; i < length_1; i++) {
if (data[i][field] === value) {
if (data[parseInt(i.toString(), 10)]["" + field] === value) {
if (event) {
var field_1 = resourceCollection.slice(-2)[0].field;
var res = (event[field_1] instanceof Array ? event[field_1] : [event[field_1]]);
var res = (event["" + field_1] instanceof Array ? event["" + field_1] : [event["" + field_1]]);
var resData = res.join(',');
if (resData.includes(data[i][resourceCollection.slice(-1)[0].groupIDField])) {
if (resData.includes(data[parseInt(i.toString(), 10)][resourceCollection.slice(-1)[0].groupIDField])) {
return i;

@@ -314,0 +312,0 @@ }

@@ -53,9 +53,9 @@ var __extends = (this && this.__extends) || (function () {

className: cls.APPOINTMENT_CLASS, attrs: {
'data-id': 'Appointment_' + listData[li][_this.parent.eventFields.id],
'data-guid': listData[li].Guid,
'data-id': 'Appointment_' + listData[parseInt(li.toString(), 10)]["" + _this.parent.eventFields.id],
'data-guid': listData[parseInt(li.toString(), 10)].Guid,
'role': 'button',
'tabindex': '0',
'aria-disabled': _this.parent.eventBase.getReadonlyAttribute(listData[li]),
'aria-disabled': _this.parent.eventBase.getReadonlyAttribute(listData[parseInt(li.toString(), 10)]),
'aria-pressed': 'false',
'aria-label': _this.parent.getAnnouncementString(listData[li])
'aria-label': _this.parent.getAnnouncementString(listData[parseInt(li.toString(), 10)])
}

@@ -66,3 +66,3 @@ });

}
_this.parent.eventBase.applyResourceColor(appWrapper, listData[li], 'borderColor', groupOrder);
_this.parent.eventBase.applyResourceColor(appWrapper, listData[parseInt(li.toString(), 10)], 'borderColor', groupOrder);
var templateEle;

@@ -74,5 +74,6 @@ if (!isNullOrUndefined(_this.parent.activeViewOptions.eventTemplate)) {

var templateId = scheduleId + viewName + 'eventTemplate';
templateEle = _this.parent.getAppointmentTemplate()(listData[li], _this.parent, 'eventTemplate', templateId, false);
if (!isNullOrUndefined(listData[li][fieldMapping.recurrenceRule])) {
var iconClass = (listData[li][fieldMapping.id] === listData[li][fieldMapping.recurrenceID]) ?
templateEle = _this.parent.getAppointmentTemplate()(listData[parseInt(li.toString(), 10)], _this.parent, 'eventTemplate', templateId, false);
if (!isNullOrUndefined(listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceRule])) {
var iconClass = (listData[parseInt(li.toString(), 10)][fieldMapping.id] ===
listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceID]) ?
cls.EVENT_RECURRENCE_ICON_CLASS : cls.EVENT_RECURRENCE_EDIT_ICON_CLASS;

@@ -83,3 +84,3 @@ appWrapper.appendChild(createElement('div', { className: cls.ICON + ' ' + iconClass }));

else {
templateEle = _this.createAppointment(listData[li]);
templateEle = _this.createAppointment(listData[parseInt(li.toString(), 10)]);
}

@@ -90,3 +91,3 @@ append([].slice.call(templateEle), appWrapper);

var args = {
data: extend({}, listData[li], null, true),
data: extend({}, listData[parseInt(li.toString(), 10)], null, true),
element: element, cancel: false

@@ -193,3 +194,3 @@ };

// eslint-disable-next-line max-len
var resDataCollection = this.parent.eventBase.filterEvents(agendaDate, agendaLastDate, agendaCollection, resData[res]);
var resDataCollection = this.parent.eventBase.filterEvents(agendaDate, agendaLastDate, agendaCollection, resData[parseInt(res.toString(), 10)]);
if (resDataCollection.length > 0 || !this.parent.hideEmptyAgendaDays || this.parent.currentView === 'MonthAgenda') {

@@ -204,15 +205,18 @@ for (var r = 0; r < noOfDays; r++) {

rowSpan: 1, type: 'eventColumn', resource: resColl[resColl.length - 1],
groupIndex: resData[res].groupIndex, groupOrder: resData[res].groupOrder,
resourceData: resData[res].resourceData, eventData: resDayCollection, date: agendaDate
groupIndex: resData[parseInt(res.toString(), 10)].groupIndex,
groupOrder: resData[parseInt(res.toString(), 10)].groupOrder,
resourceData: resData[parseInt(res.toString(), 10)].resourceData,
eventData: resDayCollection, date: agendaDate
};
dateObj = {
rowSpan: 1, type: 'dateColumn', resource: resColl[resColl.length - 1],
groupOrder: resData[res].groupOrder, resourceData: resData[res].resourceData,
rowSpan: 1, type: 'dateColumn', resource: resColl[parseInt((resColl.length - 1).toString(), 10)],
groupOrder: resData[parseInt(res.toString(), 10)].groupOrder,
resourceData: resData[parseInt(res.toString(), 10)].resourceData,
date: agendaDate
};
if (!lastLevelInfo[tempIndex]) {
lastLevelInfo[tempIndex] = [];
if (!lastLevelInfo[parseInt(tempIndex.toString(), 10)]) {
lastLevelInfo[parseInt(tempIndex.toString(), 10)] = [];
}
lastLevelInfo[tempIndex].push(eventObj);
lastLevelInfo[tempIndex].push(dateObj);
lastLevelInfo[parseInt(tempIndex.toString(), 10)].push(eventObj);
lastLevelInfo[parseInt(tempIndex.toString(), 10)].push(dateObj);
tempIndex++;

@@ -225,8 +229,9 @@ }

var tempObj = {
rowSpan: data.length, type: 'resourceColumn', resource: resColl[resColl.length - 1],
groupOrder: resData[res].groupOrder.slice(0, -1), resourceData: resData[res].resourceData,
rowSpan: data.length, type: 'resourceColumn', resource: resColl[parseInt((resColl.length - 1).toString(), 10)],
groupOrder: resData[parseInt(res.toString(), 10)].groupOrder.slice(0, -1),
resourceData: resData[parseInt(res.toString(), 10)].resourceData,
groupIndex: (lastLevelInfo.length - data.length), className: [cls.RESOURCE_NAME],
date: agendaDate
};
lastLevelInfo[lastLevelInfo.length - data.length].push(tempObj);
lastLevelInfo[parseInt((lastLevelInfo.length - data.length).toString(), 10)].push(tempObj);
tempLastLevelInfo.push(extend({}, tempObj, null, true));

@@ -247,5 +252,5 @@ break;

// eslint-disable-next-line max-len
if (tempLastLevelInfo[u].groupOrder[topResources.length - (y + 1)] === data[x][topResources[topResources.length - (y + 1)].idField]) {
totalRowSpan = totalRowSpan + tempLastLevelInfo[u].rowSpan;
tempGroupedData.push(extend({}, tempLastLevelInfo[u], null, true));
if (tempLastLevelInfo[parseInt(u.toString(), 10)].groupOrder[topResources.length - (y + 1)] === data[parseInt(x.toString(), 10)][topResources[topResources.length - (y + 1)].idField]) {
totalRowSpan = totalRowSpan + tempLastLevelInfo[parseInt(u.toString(), 10)].rowSpan;
tempGroupedData.push(extend({}, tempLastLevelInfo[parseInt(u.toString(), 10)], null, true));
}

@@ -256,3 +261,3 @@ if (++z === tempLastLevelInfo.length && tempGroupedData.length > 0) {

tempGroupedData[0].resource = topResources[topResources.length - (y + 1)];
tempGroupedData[0].resourceData = data[x];
tempGroupedData[0].resourceData = data[parseInt(x.toString(), 10)];
tempGroupedData[0].date = agendaDate;

@@ -285,3 +290,3 @@ lastLevelInfo[tempGroupedData[0].groupIndex].push(tempGroupedData[0]);

for (var w = 0; w < tContent.length; w++) {
tContentCollection = tContentCollection.concat(tContent[w]);
tContentCollection = tContentCollection.concat(tContent[parseInt(w.toString(), 10)]);
}

@@ -291,3 +296,3 @@ level = (parentCollection.length > 0) ? 'parentColumnLevel_' + parentCollection.length : 'resourceColumn';

for (var x = 0; x < rowSpanCollection.length; x++) {
rowSpan = rowSpan + rowSpanCollection[x].rowSpan;
rowSpan = rowSpan + rowSpanCollection[parseInt(x.toString(), 10)].rowSpan;
}

@@ -297,8 +302,8 @@ }

ntr = tr.cloneNode();
for (var col = tContent[row].length - 1; col >= 0; col--) {
var data = tContent[row][col];
for (var col = tContent[parseInt(row.toString(), 10)].length - 1; col >= 0; col--) {
var data = tContent[parseInt(row.toString(), 10)][parseInt(col.toString(), 10)];
var ntd = td.cloneNode();
if (data.type === 'dateColumn') {
if (this.parent.activeViewOptions.group.byDate || this.parent.currentView === 'MonthAgenda') {
tempData = tContent[row][col];
tempData = tContent[parseInt(row.toString(), 10)][parseInt(col.toString(), 10)];
continue;

@@ -305,0 +310,0 @@ }

@@ -49,7 +49,8 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

var resIndex = args.groupIndex || 0;
if (this.parent.currentView === 'Day' || this.parent.currentView === 'Week' || this.parent.currentView === 'WorkWeek') {
var isVertical = this.parent.currentView === 'Day' || this.parent.currentView === 'Week' || this.parent.currentView === 'WorkWeek';
if (this.parent.activeViewOptions.timeScale.enable && isVertical) {
var dayIndex = saveObj[this.parent.eventFields.startTime].getDay();
this.createVerticalViewInline(saveObj, dayIndex, resIndex, cellIndex);
}
else if (this.parent.currentView === 'Month') {
else if (this.parent.currentView === 'Month' || (!this.parent.activeViewOptions.timeScale.enable && isVertical)) {
this.createMonthViewInline(saveObj, resIndex, start, end);

@@ -104,3 +105,3 @@ }

verticalEvent.initializeValues();
var index = verticalEvent.dateRender[resIndex].map(function (date) { return date.getDay(); }).indexOf(dayIndex);
var index = verticalEvent.dateRender[parseInt(resIndex.toString(), 10)].map(function (date) { return date.getDay(); }).indexOf(dayIndex);
if (count >= 1) {

@@ -133,10 +134,12 @@ verticalEvent.allDayElement = [].slice.call(this.parent.element.querySelectorAll('.' + cls.ALLDAY_CELLS_CLASS));

monthCellSelector += '[data-group-index="' + index + '"]';
var resourceData = this.parent.resourceBase.lastResourceLevel[index];
var resourceData = this.parent.resourceBase.lastResourceLevel[parseInt(index.toString(), 10)];
renderDates = resourceData.renderDates;
workDays = resourceData.workDays;
}
monthEvent.dateRender = renderDates;
monthEvent.workCells = [].slice.call(this.parent.element.querySelectorAll(monthCellSelector));
monthEvent.cellWidth = monthEvent.workCells[0].offsetWidth;
monthEvent.cellHeight = monthEvent.workCells[0].offsetHeight;
monthEvent.eventHeight = util.getElementHeightFromClass(this.parent.monthModule.element, cls.APPOINTMENT_CLASS);
monthEvent.eventHeight =
util.getElementHeightFromClass(this.parent.monthModule.element || monthEvent.element, cls.APPOINTMENT_CLASS);
monthEvent.getSlotDates(workDays);

@@ -143,0 +146,0 @@ var filteredDates = monthEvent.getRenderedDates(renderDates);

@@ -47,3 +47,4 @@ var __extends = (this && this.__extends) || (function () {

if (appElement.length > 0) {
appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
appElement = (this.parent.currentView === 'Month' || (!this.parent.activeView.isTimelineView() &&
!this.parent.activeViewOptions.timeScale.enable)) ? appElement : [appElement[0]];
for (var _i = 0, appElement_1 = appElement; _i < appElement_1.length; _i++) {

@@ -71,8 +72,9 @@ var wrap = appElement_1[_i];

var appElement = [].slice.call(this.element.querySelectorAll('.e-appointment-wrapper ' + '[data-group-index="' +
this.parent.crudModule.crudObj.sourceEvent[i].groupIndex + '"]'));
this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex + '"]'));
this.removeEventWrapper(appElement);
if (this.parent.crudModule.crudObj.targetEvent[i] && this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
if (this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)] &&
this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
var ele = [].slice.call(this.element.querySelectorAll('.e-appointment-wrapper ' + '[data-group-index="' +
this.parent.crudModule.crudObj.targetEvent[i].groupIndex + '"]'));
this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex + '"]'));
this.removeEventWrapper(ele);

@@ -139,3 +141,3 @@ }

weekNumberCells.forEach(function (cell, i) {
var height = totalCells_1[i].offsetHeight;
var height = totalCells_1[parseInt(i.toString(), 10)].offsetHeight;
setStyleAttribute(cell, { 'height': height + 'px' });

@@ -194,3 +196,3 @@ });

this.renderedEvents = [];
var slot = this.slots[level];
var slot = this.slots[parseInt(level.toString(), 10)];
var endDate = util.addDays(new Date(slot[slot.length - 1]), 1);

@@ -303,3 +305,3 @@ var spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);

MonthEvent.prototype.getCellTd = function (day) {
return this.workCells[day];
return this.workCells[parseInt(day.toString(), 10)];
};

@@ -351,7 +353,7 @@ MonthEvent.prototype.getEventWidth = function (startDate, endDate, isAllDay, count) {

for (var i = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; i < len; i++) {
var sourceRes = this.parent.crudModule.crudObj.sourceEvent[i];
var sourceRes = this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)];
this.renderEventsHandler(sourceRes.renderDates, sourceRes.workDays, sourceRes);
if (this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
var target = this.parent.crudModule.crudObj.targetEvent[i];
if (this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
var target = this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)];
this.renderEventsHandler(target.renderDates, target.workDays, target);

@@ -372,3 +374,4 @@ }

var dates = this.dateRender.map(function (date) { return +date; });
var noOfDays = this.parent.activeViewOptions.showWeekend ? util.WEEK_LENGTH : workDays.length;
var noOfDays = !this.parent.activeViewOptions.showWeekend || (this.parent.activeViewOptions.group.byDate &&
this.parent.activeViewOptions.group.hideNonWorkingDays) ? workDays.length : util.WEEK_LENGTH;
while (dates.length > 0) {

@@ -510,3 +513,3 @@ this.slots.push(dates.splice(0, noOfDays));

var appWidth = (diffInDays * this.cellWidth) - 5;
var cellTd = this.workCells[day];
var cellTd = this.workCells[parseInt(day.toString(), 10)];
var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));

@@ -513,0 +516,0 @@ var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;

@@ -117,8 +117,8 @@ var __extends = (this && this.__extends) || (function () {

for (var i = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; i < len; i++) {
var source = this.parent.crudModule.crudObj.sourceEvent[i];
var source = this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)];
this.rowIndex = source.groupIndex;
this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, source);
if (this.parent.crudModule.crudObj.targetEvent[i] && this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
var target = this.parent.crudModule.crudObj.targetEvent[i];
if (this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)] && this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
var target = this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)];
this.rowIndex = target.groupIndex;

@@ -133,3 +133,3 @@ this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, target);

this.rowIndex = i;
this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, resources[i]);
this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, resources[parseInt(i.toString(), 10)]);
}

@@ -180,6 +180,6 @@ }

this.renderedEvents.push(extend({}, event, null, true));
if (isNullOrUndefined(this.cellTops[resIndex])) {
this.cellTops[resIndex] = this.getRowTop(resIndex);
if (isNullOrUndefined(this.cellTops[parseInt(resIndex.toString(), 10)])) {
this.cellTops[parseInt(resIndex.toString(), 10)] = this.getRowTop(resIndex);
}
var top_1 = this.cellTops[resIndex];
var top_1 = this.cellTops[parseInt(resIndex.toString(), 10)];
var appTop = (top_1 + (this.maxHeight ? 0 : EVENT_GAP)) + (overlapCount * (appHeight + EVENT_GAP));

@@ -450,3 +450,3 @@ appLeft = (this.parent.enableRtl) ? 0 : position;

}
var currentDate = util.resetTime(new Date(this.dateRender[day].getTime()));
var currentDate = util.resetTime(new Date(this.dateRender[parseInt(day.toString(), 10)].getTime()));
var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);

@@ -481,3 +481,3 @@ var cellIndex;

if (moreIndicator) {
indicatorPos = (this.parent.enableRtl) ? moreIndicator[i].style.right : moreIndicator[i].style.left;
indicatorPos = (this.parent.enableRtl) ? moreIndicator[parseInt(i.toString(), 10)].style.right : moreIndicator[parseInt(i.toString(), 10)].style.left;
}

@@ -499,3 +499,3 @@ if (parseInt(indicatorPos, 10) === Math.floor(appPos)) {

var wrapIndex = this.parent.uiStateValues.isGroupAdaptive ? 0 : this.rowIndex;
return this.eventContainers[wrapIndex];
return this.eventContainers[parseInt(wrapIndex.toString(), 10)];
};

@@ -502,0 +502,0 @@ TimelineEvent.prototype.renderBlockIndicator = function (cellTd, position, resIndex) {

@@ -43,2 +43,3 @@ import { EventFieldsMapping, TdData } from '../base/interface';

isSpannedEvent(record: Record<string, any>, day: number, resource: number): Record<string, any>;
private isWorkDayAvailable;
renderAllDayEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;

@@ -45,0 +46,0 @@ renderNormalEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;

@@ -63,4 +63,4 @@ var __extends = (this && this.__extends) || (function () {

for (var j = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; j < len; j++) {
if (groupIndex === this.parent.crudModule.crudObj.sourceEvent[j].groupIndex ||
groupIndex === this.parent.crudModule.crudObj.targetEvent[j].groupIndex) {
if (groupIndex === this.parent.crudModule.crudObj.sourceEvent[parseInt(j.toString(), 10)].groupIndex ||
groupIndex === this.parent.crudModule.crudObj.targetEvent[parseInt(j.toString(), 10)].groupIndex) {
remove(wrapper);

@@ -120,3 +120,3 @@ }

for (var i = 0, len = this.resources.length; i < len; i++) {
this.dateRender[i] = this.resources[i].renderDates;
this.dateRender[parseInt(i.toString(), 10)] = this.resources[parseInt(i.toString(), 10)].renderDates;
}

@@ -155,7 +155,7 @@ }

var resource = resources_1[_i];
var renderDates = this.dateRender[resource];
var renderDates = this.dateRender[parseInt(resource.toString(), 10)];
for (var day = 0, length_1 = renderDates.length; day < length_1; day++) {
var startDate = new Date(renderDates[day].getTime());
var endDate = util.addDays(renderDates[day], 1);
var filterEvents = this.filterEvents(startDate, endDate, this.parent.blockProcessed, this.resources[resource]);
var startDate = new Date(renderDates[parseInt(day.toString(), 10)].getTime());
var endDate = util.addDays(renderDates[parseInt(day.toString(), 10)], 1);
var filterEvents = this.filterEvents(startDate, endDate, this.parent.blockProcessed, this.resources[parseInt(resource.toString(), 10)]);
for (var _a = 0, filterEvents_1 = filterEvents; _a < filterEvents_1.length; _a++) {

@@ -178,5 +178,5 @@ var event_1 = filterEvents_1[_a];

var eEnd = spannedData[this.fields.endTime];
var currentDate = util.resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
var currentDate = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()));
var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);
if (eStart <= eEnd && this.isValidEvent(eventObj, eStart, eEnd, schedule)) {
if (eStart <= eEnd && this.isValidEvent(eventObj, eStart, eEnd, schedule) && this.isWorkDayAvailable(resource, eStart)) {
var blockTop = void 0;

@@ -195,5 +195,3 @@ var blockHeight = void 0;

setStyleAttribute(appointmentElement, { 'width': '100%', 'height': blockHeight, 'top': blockTop });
var renderedIndex = this.getDayIndex(dayIndex, resource);
var index = this.parent.activeViewOptions.group.byDate ?
(this.resources.length * renderedIndex) + resource : dayCount;
var index = this.getDayIndex(dayIndex, resource, dayCount);
this.appendEvent(eventObj, appointmentElement, index, '0px');

@@ -218,11 +216,11 @@ }

this_1.slots = [];
var renderDates = this_1.dateRender[resource];
var renderDates = this_1.dateRender[parseInt(resource.toString(), 10)];
var renderedDate = this_1.getRenderedDates(renderDates) || renderDates;
this_1.slots.push(renderDates.map(function (date) { return +date; }));
for (var day = 0, length_2 = renderDates.length; day < length_2 &&
renderDates[day] <= renderedDate[renderedDate.length - 1]; day++) {
renderDates[parseInt(day.toString(), 10)] <= renderedDate[renderedDate.length - 1]; day++) {
this_1.renderedEvents = [];
var startDate = new Date(renderDates[day].getTime());
var endDate = util.addDays(renderDates[day], 1);
var filterEvents = this_1.filterEvents(startDate, endDate, eventCollection, this_1.resources[resource]);
var startDate = new Date(renderDates[parseInt(day.toString(), 10)].getTime());
var endDate = util.addDays(renderDates[parseInt(day.toString(), 10)], 1);
var filterEvents = this_1.filterEvents(startDate, endDate, eventCollection, this_1.resources[parseInt(resource.toString(), 10)]);
if (isRender) {

@@ -275,11 +273,33 @@ for (var _i = 0, filterEvents_2 = filterEvents; _i < filterEvents_2.length; _i++) {

};
VerticalEvent.prototype.getDayIndex = function (dayIndex, resource) {
return this.parent.activeViewOptions.group.byDate ?
this.parent.resourceBase.lastResourceLevel[0].renderDates.indexOf(this.dateRender[resource][dayIndex]) :
dayIndex;
VerticalEvent.prototype.getDayIndex = function (dayIndex, resource, dayCount) {
var _this = this;
if (!this.parent.activeViewOptions.group.byDate) {
return dayCount;
}
if (this.parent.activeViewOptions.group.byDate && !this.parent.activeViewOptions.group.hideNonWorkingDays) {
var renderedIndex = this.parent.resourceBase.lastResourceLevel[0].renderDates.indexOf(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)]);
return (this.resources.length * renderedIndex) + resource;
}
var dateIndex = 0;
var firstColumn = this.parent.activeView.colLevels[0];
var currentDate = this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime();
var currentResources = [];
for (var i = 0; i < firstColumn.length; i++) {
currentResources = this.parent.resourceBase.resourceDateTree[parseInt(i.toString(), 10)];
if (currentDate === firstColumn[parseInt(i.toString(), 10)].date.getTime()) {
break;
}
dateIndex = dateIndex + firstColumn[parseInt(i.toString(), 10)].colSpan;
}
var resIndex = currentResources.findIndex(function (x) { return x.groupOrder.toString() ===
_this.resources[parseInt(resource.toString(), 10)].groupOrder.toString(); });
if (resIndex < 0) {
return dateIndex;
}
return dateIndex + resIndex;
};
VerticalEvent.prototype.setValues = function (event, resourceIndex) {
if (this.parent.activeViewOptions.group.resources.length > 0) {
this.cssClass = this.resources[resourceIndex].cssClass;
this.groupOrder = this.resources[resourceIndex].groupOrder;
this.cssClass = this.resources[parseInt(resourceIndex.toString(), 10)].cssClass;
this.groupOrder = this.resources[parseInt(resourceIndex.toString(), 10)].groupOrder;
}

@@ -397,3 +417,3 @@ else {

var index = currentDay + count;
var countWrapper = allDayRow[index];
var countWrapper = allDayRow[parseInt(index.toString(), 10)];
if (countWrapper.childElementCount <= 0) {

@@ -444,4 +464,4 @@ var innerCountWrap = createElement('div', {

VerticalEvent.prototype.isSpannedEvent = function (record, day, resource) {
var currentDate = util.resetTime(this.dateRender[resource][day]);
var renderedDate = this.getRenderedDates(this.dateRender[resource]) || [currentDate];
var currentDate = util.resetTime(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)]);
var renderedDate = this.getRenderedDates(this.dateRender[parseInt(resource.toString(), 10)]) || [currentDate];
var currentDay = renderedDate.filter(function (date) { return date.getDay() === day; });

@@ -468,8 +488,18 @@ if (currentDay.length === 0) {

};
VerticalEvent.prototype.isWorkDayAvailable = function (resource, start) {
if (this.parent.activeViewOptions.group.hideNonWorkingDays && this.resources.length > 0) {
var workDays = this.resources[parseInt(resource.toString(), 10)].
resourceData[this.resources[parseInt(resource.toString(), 10)].resource.workDaysField] ||
this.parent.activeViewOptions.workDays;
return workDays && workDays.indexOf(start.getDay()) >= 0;
}
return true;
};
VerticalEvent.prototype.renderAllDayEvents = function (eventObj, dayIndex, resource, dayCount, inline) {
var _this = this;
var currentDates = this.getRenderedDates(this.dateRender[resource]) || this.dateRender[resource];
var currentDates = this.getRenderedDates(this.dateRender[parseInt(resource.toString(), 10)]) ||
this.dateRender[parseInt(resource.toString(), 10)];
if (this.parent.activeViewOptions.group.byDate) {
this.slots[0] = [this.dateRender[resource][dayIndex].getTime()];
currentDates = [this.dateRender[resource][dayIndex]];
this.slots[0] = [this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()];
currentDates = [this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)]];
}

@@ -485,6 +515,6 @@ var record = this.splitEvent(eventObj, currentDates)[0];

util.addDays(currentDates.slice(-1)[0], 1).getTime() >= eStart.getTime();
if (eStart <= eEnd && isDateRange) {
if (eStart <= eEnd && isDateRange && this.isWorkDayAvailable(resource, eStart)) {
var isAlreadyRendered = [];
if (this.renderedAllDayEvents[resource]) {
isAlreadyRendered = this.renderedAllDayEvents[resource].filter(function (event) {
if (this.renderedAllDayEvents[parseInt(resource.toString(), 10)]) {
isAlreadyRendered = this.renderedAllDayEvents[parseInt(resource.toString(), 10)].filter(function (event) {
return event.Guid === eventObj.Guid;

@@ -494,4 +524,5 @@ });

isAlreadyRendered = isAlreadyRendered.filter(function (event) {
return event[_this.parent.eventFields.startTime] >= currentDates[dayIndex] &&
event[_this.parent.eventFields.endTime] <= util.addDays(new Date(+currentDates[dayIndex]), 1);
return event[_this.parent.eventFields.startTime] >= currentDates[parseInt(dayIndex.toString(), 10)] &&
event[_this.parent.eventFields.endTime] <=
util.addDays(new Date(+currentDates[parseInt(dayIndex.toString(), 10)]), 1);
});

@@ -510,10 +541,8 @@ }

}
if (isNullOrUndefined(this.renderedAllDayEvents[resource])) {
this.renderedAllDayEvents[resource] = [];
if (isNullOrUndefined(this.renderedAllDayEvents[parseInt(resource.toString(), 10)])) {
this.renderedAllDayEvents[parseInt(resource.toString(), 10)] = [];
}
var renderedIndex = this.getDayIndex(dayIndex, resource);
this.renderedAllDayEvents[resource].push(extend({}, record, null, true));
this.renderedAllDayEvents[parseInt(resource.toString(), 10)].push(extend({}, record, null, true));
var allDayRow_1 = [].slice.call(this.element.querySelector('.' + cls.ALLDAY_ROW_CLASS).children);
var wIndex_1 = this.parent.activeViewOptions.group.byDate ?
(this.resources.length * renderedIndex) + resource : dayCount;
var wIndex_1 = this.getDayIndex(dayIndex, resource, dayCount);
var eventWrapper_1 = this.element.querySelector('.' + cls.ALLDAY_APPOINTMENT_WRAPPER_CLASS +

@@ -562,3 +591,3 @@ ':nth-child(' + (wIndex_1 + 1) + ')');

var topValue = 0;
var currentDate = util.resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
var currentDate = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()));
var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);

@@ -569,3 +598,3 @@ var isValidEvent = this.isValidEvent(eventObj, eStart, eEnd, schedule);

}
if (eStart <= eEnd && isValidEvent) {
if (eStart <= eEnd && isValidEvent && this.isWorkDayAvailable(resource, eStart)) {
var appHeight_1 = this.getHeight(eStart, eEnd);

@@ -579,6 +608,6 @@ if (eStart.getTime() > schedule.startHour.getTime()) {

if (this.overlapList.length > 1) {
if (isNullOrUndefined(this.overlapEvents[appIndex])) {
this.overlapEvents[appIndex] = [];
if (isNullOrUndefined(this.overlapEvents[parseInt(appIndex.toString(), 10)])) {
this.overlapEvents[parseInt(appIndex.toString(), 10)] = [];
}
this.overlapEvents[appIndex].push(record);
this.overlapEvents[parseInt(appIndex.toString(), 10)].push(record);
}

@@ -590,13 +619,12 @@ else {

appWidth = this.getEventWidth();
var renderedIndex = this.getDayIndex(dayIndex, resource);
var argsData = {
index: appIndex, left: appLeft, width: appWidth,
day: renderedIndex, dayIndex: dayCount, record: record, resource: resource
day: dayCount, dayIndex: dayIndex, record: record, resource: resource
};
var tempData = this.adjustOverlapElements(argsData);
appWidth = (tempData.appWidth);
if (isNullOrUndefined(this.renderedEvents[resource])) {
this.renderedEvents[resource] = [];
if (isNullOrUndefined(this.renderedEvents[parseInt(resource.toString(), 10)])) {
this.renderedEvents[parseInt(resource.toString(), 10)] = [];
}
this.renderedEvents[resource].push(extend({}, record, null, true));
this.renderedEvents[parseInt(resource.toString(), 10)].push(extend({}, record, null, true));
var appointmentElement = void 0;

@@ -619,4 +647,3 @@ if (inline) {

}
var index = this.parent.activeViewOptions.group.byDate ?
(this.resources.length * renderedIndex) + resource : dayCount;
var index = this.getDayIndex(dayIndex, resource, dayCount);
var eventData = {};

@@ -646,3 +673,3 @@ eventData[this.fields.startTime] = eventObj[this.fields.startTime];

VerticalEvent.prototype.getTopValue = function (date, day, resource) {
var startEndHours = util.getStartEndHours(util.resetTime(this.dateRender[resource][day]), this.startHour, this.endHour);
var startEndHours = util.getStartEndHours(util.resetTime(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)]), this.startHour, this.endHour);
var startHour = startEndHours.startHour;

@@ -659,5 +686,5 @@ var diffInMinutes = ((date.getHours() - startHour.getHours()) * 60) + (date.getMinutes() - startHour.getMinutes());

if (isAllDay) {
if (!isNullOrUndefined(this.renderedAllDayEvents[resource])) {
var date_1 = util.resetTime(new Date(this.dateRender[resource][day].getTime()));
eventsList = this.renderedAllDayEvents[resource].filter(function (app) {
if (!isNullOrUndefined(this.renderedAllDayEvents[parseInt(resource.toString(), 10)])) {
var date_1 = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)].getTime()));
eventsList = this.renderedAllDayEvents[parseInt(resource.toString(), 10)].filter(function (app) {
return util.resetTime(app[fieldMapping.startTime]).getTime() <= date_1.getTime() &&

@@ -667,3 +694,3 @@ util.resetTime(app[fieldMapping.endTime]).getTime() >= date_1.getTime();

if (this.parent.activeViewOptions.group.resources.length > 0) {
eventsList = this.filterEventsByResource(this.resources[resource], eventsList);
eventsList = this.filterEventsByResource(this.resources[parseInt(resource.toString(), 10)], eventsList);
}

@@ -673,4 +700,4 @@ }

else {
var appointmentList_1 = !isNullOrUndefined(this.renderedEvents[resource]) ?
this.renderedEvents[resource] : [];
var appointmentList_1 = !isNullOrUndefined(this.renderedEvents[parseInt(resource.toString(), 10)]) ?
this.renderedEvents[parseInt(resource.toString(), 10)] : [];
var appointment_1 = [];

@@ -686,3 +713,3 @@ var recordStart_1 = record[fieldMapping.startTime];

if (this.parent.activeViewOptions.group.resources.length > 0) {
this.overlapList = this.filterEventsByResource(this.resources[resource], this.overlapList);
this.overlapList = this.filterEventsByResource(this.resources[parseInt(resource.toString(), 10)], this.overlapList);
}

@@ -694,3 +721,3 @@ this.overlapList.forEach(function (obj) {

if (_this.parent.activeViewOptions.group.resources.length > 0) {
filterList = _this.filterEventsByResource(_this.resources[resource], filterList);
filterList = _this.filterEventsByResource(_this.resources[parseInt(resource.toString(), 10)], filterList);
}

@@ -706,3 +733,4 @@ var collection = filterList.filter(function (val) {

for (var j = i + 1; j < appointment_1.length; j++) {
if (appointment_1[i][fieldMapping.id] === appointment_1[j][fieldMapping.id]) {
if (appointment_1[parseInt(i.toString(), 10)][fieldMapping.id] ===
appointment_1[parseInt(j.toString(), 10)][fieldMapping.id]) {
appointment_1.splice(j, 1);

@@ -719,7 +747,7 @@ j--;

var index = record_1.Index;
if (isNullOrUndefined(this.overlapEvents[index])) {
this.overlapEvents[index] = [event_4];
if (isNullOrUndefined(this.overlapEvents[parseInt(index.toString(), 10)])) {
this.overlapEvents[parseInt(index.toString(), 10)] = [event_4];
}
else {
this.overlapEvents[index].push(event_4);
this.overlapEvents[parseInt(index.toString(), 10)].push(event_4);
}

@@ -748,9 +776,8 @@ }

for (var i = 0, length1 = this.overlapEvents.length; i < length1; i++) {
if (!isNullOrUndefined(this.overlapEvents[i])) {
for (var j = 0, length2 = this.overlapEvents[i].length; j < length2; j++) {
var dayCount = this.parent.activeViewOptions.group.byDate ?
(this.resources.length * args.day) + args.resource : args.dayIndex;
if (!isNullOrUndefined(this.overlapEvents[parseInt(i.toString(), 10)])) {
for (var j = 0, length2 = this.overlapEvents[parseInt(i.toString(), 10)].length; j < length2; j++) {
var dayCount = this.getDayIndex(args.dayIndex, args.resource, args.day);
var element = this.element.querySelector('#e-appointment-wrapper-' + dayCount);
if (element && element.childElementCount > 0) {
var eleGuid = this.overlapEvents[i][j].Guid;
var eleGuid = this.overlapEvents[parseInt(i.toString(), 10)][parseInt(j.toString(), 10)].Guid;
if (element.querySelectorAll('div[data-guid="' + eleGuid + '"]').length > 0 && eleGuid !== args.record.Guid) {

@@ -757,0 +784,0 @@ var apps = element.querySelector('div[data-guid="' + eleGuid + '"]');

@@ -75,5 +75,9 @@ var __extends = (this && this.__extends) || (function () {

var end = util.addDays(new Date(start.getTime()), 1);
startDate = util.addDays(new Date(startDate.getTime()), 1);
if (!this.parent.isMinMaxDate(start)) {
continue;
}
var filterEvents = this.parent.eventBase.filterEvents(start, end);
if (filterEvents.length > 0) {
var workCell = workCells[index];
var workCell = workCells[parseInt(index.toString(), 10)];
if (workCell) {

@@ -83,3 +87,2 @@ workCell.appendChild(createElement('div', { className: cls.APPOINTMENT_CLASS }));

}
startDate = util.addDays(new Date(startDate.getTime()), 1);
}

@@ -96,8 +99,10 @@ }

var months = this.getMonths();
var groupIndex = (this.parent.activeViewOptions.group.resources.length > 0 && this.parent.uiStateValues.isGroupAdaptive) ?
this.parent.uiStateValues.groupIndex : undefined;
for (var row = 0; row < months.length; row++) {
var wrapper = wrapperCollection[row];
var wrapper = wrapperCollection[parseInt(row.toString(), 10)];
var td = row + 1;
var eventWrapper = createElement('div', { className: cls.APPOINTMENT_WRAPPER_CLASS });
wrapper.appendChild(eventWrapper);
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(row.toString(), 10)], 1);
var monthEnd = new Date(monthStart.getFullYear(), monthStart.getMonth() + 1, 0);

@@ -113,3 +118,3 @@ var dayIndex = monthStart.getDay();

if (this.parent.activeViewOptions.orientation === 'Vertical') {
var wrapper_1 = wrapperCollection[dayIndex];
var wrapper_1 = wrapperCollection[parseInt(dayIndex.toString(), 10)];
td = dayIndex + 1;

@@ -147,3 +152,3 @@ var eventWrapper_1 = wrapper_1.querySelector('.' + cls.APPOINTMENT_WRAPPER_CLASS);

var _loop_1 = function (index, count) {
var eventData = extend({}, dayEvents[index], null, true);
var eventData = extend({}, dayEvents[parseInt(index.toString(), 10)], null, true);
this_1.updateSpannedEvents(eventData, dayStart, dayEnd);

@@ -166,3 +171,3 @@ var overlapIndex = this_1.getIndex(dayStart);

var moreIndex = this_1.parent.activeViewOptions.orientation === 'Horizontal' ? row : dayIndex;
this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue);
this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue, groupIndex);
return "continue";

@@ -182,3 +187,3 @@ }

var moreIndex = this_1.parent.activeViewOptions.orientation === 'Horizontal' ? row : dayIndex;
this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue);
this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue, groupIndex);
if (this_1.parent.activeViewOptions.orientation === 'Horizontal') {

@@ -240,6 +245,6 @@ eventData.MoreIndicator = true;

for (var month = 0; month < months.length; month++) {
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
for (var i = 0, len = resources.length; i < len; i++) {
this.renderedEvents = [];
this.renderResourceEvent(wrapperCollection[month], resources[i], month, i, monthStart);
this.renderResourceEvent(wrapperCollection[parseInt(month.toString(), 10)], resources[parseInt(i.toString(), 10)], month, i, monthStart);
}

@@ -252,4 +257,4 @@ }

for (var month = 0; month < months.length; month++) {
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
this.renderResourceEvent(wrapperCollection[i], resources[i], month, i, monthStart);
var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
this.renderResourceEvent(wrapperCollection[parseInt(i.toString(), 10)], resources[parseInt(i.toString(), 10)], month, i, monthStart);
}

@@ -269,3 +274,3 @@ }

for (var a = 0; a < eventDatas.length; a++) {
var data = eventDatas[a];
var data = eventDatas[parseInt(a.toString(), 10)];
var overlapIndex = void 0;

@@ -285,2 +290,5 @@ var eventData = extend({}, data, null, true);

month * this.cellWidth : index * this.cellWidth;
if (!this.parent.isMinMaxDate(eventData[this.fields.startTime])) {
return;
}
if (this.parent.rowAutoHeight || this.cellHeight > availedHeight) {

@@ -295,3 +303,3 @@ this.renderEvent(eventWrapper, eventData, month, leftValue, leftValue, monthStart, index);

for (var i = index; i < eventDatas.length; i++) {
this.renderedEvents.push(extend({}, eventDatas[i], { Index: overlapIndex + i }, true));
this.renderedEvents.push(extend({}, eventDatas[parseInt(i.toString(), 10)], { Index: overlapIndex + i }, true));
}

@@ -357,3 +365,3 @@ }

var endDate;
if (this.parent.activeViewOptions.group.resources.length > 0) {
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
endDate = util.addDays(util.lastDateOfMonth(new Date(startDate.getTime())), 1);

@@ -461,3 +469,3 @@ }

}
if (this.parent.activeViewOptions.group.resources.length === 0) {
if (this.parent.activeViewOptions.group.resources.length === 0 || this.parent.uiStateValues.isGroupAdaptive) {
var end = util.resetTime(eventData[this.fields.endTime]).getTime();

@@ -483,3 +491,3 @@ var start = util.resetTime(eventData[this.fields.startTime]).getTime();

var dateEnd;
if (this.parent.activeViewOptions.group.resources.length > 0) {
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
var monthStart = this.parent.calendarUtil.getMonthStartDate(new Date(date.getTime()));

@@ -486,0 +494,0 @@ var monthEnd = util.addDays(this.parent.calendarUtil.getMonthEndDate(new Date(date.getTime())), -1);

@@ -73,3 +73,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

calendarEvent.splice(5, 0, 'EXDATE:' +
_this.convertDateToString(getDateFromRecurrenceDateString(exDate[i]), eventObj[fields.isAllDay]));
_this.convertDateToString(getDateFromRecurrenceDateString(exDate[parseInt(i.toString(), 10)]), eventObj[fields.isAllDay]));
}

@@ -84,3 +84,3 @@ }

customFields.forEach(function (customField) {
return calendarEvent.splice(4, 0, customField + ':' + (eventObj[customField] || ''));
return calendarEvent.splice(4, 0, customField + ':' + (eventObj["" + customField] || ''));
});

@@ -106,3 +106,3 @@ }

ICalendarExport.prototype.customFieldFilter = function (eventObj, fields) {
var defaultFields = Object.keys(fields).map(function (key) { return fields[key]; });
var defaultFields = Object.keys(fields).map(function (key) { return fields["" + key]; });
var eventFields = Object.keys(eventObj);

@@ -141,3 +141,3 @@ return eventFields.filter(function (value) { return (defaultFields.indexOf(value) === -1) && (value !== 'Guid'); });

ICalendarExport.prototype.filterEvents = function (data, field, value) {
return data.filter(function (e) { return e[field] === value; });
return data.filter(function (e) { return e["" + field] === value; });
};

@@ -144,0 +144,0 @@ ICalendarExport.prototype.getModuleName = function () {

@@ -80,3 +80,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

case 'UID':
curEvent[uId] = value;
curEvent["" + uId] = value;
if (typeof (id) == 'number') {

@@ -111,6 +111,6 @@ curEvent[fields.id] = parseInt(value, 10);

var resData = _this.parent.resourceCollection.filter(function (data) { return data.field === type; });
curEvent[type] = (resData.length > 0 && (typeof (resData[0].dataSource[0][resData[0].idField]) == 'number')) ? parseInt(value, 10) : value;
curEvent["" + type] = (resData.length > 0 && (typeof (resData[0].dataSource[0][resData[0].idField]) == 'number')) ? parseInt(value, 10) : value;
}
else {
curEvent[type] = value;
curEvent["" + type] = value;
}

@@ -142,3 +142,3 @@ }

if (appointmentIds.indexOf(eventObj[fields.id]) < 0) {
var data = app.filter(function (data) { return data.UID === eventObj[uId]; });
var data = app.filter(function (data) { return data.UID === eventObj["" + uId]; });
if (data.length > 1 && isNullOrUndefined(eventObj[fields.recurrenceID])) {

@@ -148,14 +148,14 @@ id = typeof (maxId) === 'number' ? maxId++ : id;

// eslint-disable-next-line no-prototype-builtins
if (data[i].hasOwnProperty(fields.recurrenceID)) {
var exdate = data[i][fields.recurrenceID];
data[i][fields.id] = typeof (maxId) === 'number' ? maxId++ : _this.parent.eventBase.generateGuid();
data[i][fields.recurrenceID] = id;
data[i][fields.recurrenceException] = null;
if (data[parseInt(i.toString(), 10)].hasOwnProperty(fields.recurrenceID)) {
var exdate = data[parseInt(i.toString(), 10)][fields.recurrenceID];
data[parseInt(i.toString(), 10)][fields.id] = typeof (maxId) === 'number' ? maxId++ : _this.parent.eventBase.generateGuid();
data[parseInt(i.toString(), 10)][fields.recurrenceID] = id;
data[parseInt(i.toString(), 10)][fields.recurrenceException] = null;
parentObj[fields.recurrenceException] =
_this.getExcludeDateString(parentObj[fields.recurrenceException], exdate);
delete data[i][uId];
appoint.push(data[i]);
delete data[parseInt(i.toString(), 10)]["" + uId];
appoint.push(data[parseInt(i.toString(), 10)]);
}
}
delete parentObj[uId];
delete parentObj["" + uId];
parentObj[fields.id] = id;

@@ -166,3 +166,3 @@ appoint.push(parentObj);

else if (!eventObj.hasOwnProperty(fields.recurrenceID)) {
delete eventObj[uId];
delete eventObj["" + uId];
eventObj[fields.id] = typeof (maxId) === 'number' ? maxId++ : id;

@@ -196,4 +196,3 @@ appoint.push(eventObj);

ICalendarImport.prototype.dateParsing = function (element) {
var expression = /([^':;]+)((?:;(?:[^':;]+)(?:=(?:(?:'[^']*')|(?:[^':;]+))))*):(.*)/;
var split = (element.match(expression)).slice(1);
var split = element.split(':');
var value = split[split.length - 1];

@@ -200,0 +199,0 @@ var newDate = new Date(this.getDateString(value));

@@ -61,3 +61,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

var fields = exportOptions.fields || Object.keys(this.parent.eventFields).map(function (field) {
return _this.parent.eventFields[field];
return _this.parent.eventFields["" + field];
});

@@ -64,0 +64,0 @@ fields.forEach(function (field) { exportColumns.push({ name: field, text: field }); });

@@ -57,2 +57,10 @@ import { Property, ChildProperty } from '@syncfusion/ej2-base';

/**
* Decides whether to show/hide the non-working days. It is set to `false` by default and when set to `true`, it hides the non-working days.
* This property is applicable for `Day`, `Week`, `WorkWeek` and `month` views, which are grouped under date.
*
* @default false
*/
hideNonWorkingDays?: boolean;
}

@@ -49,2 +49,9 @@ import { ChildProperty } from '@syncfusion/ej2-base';

headerTooltipTemplate: string;
/**
* Decides whether to show/hide the non-working days. It is set to `false` by default and when set to `true`, it hides the non-working days.
* This property is applicable for `Day`, `Week`, `WorkWeek` and `month` views, which are grouped under date.
*
* @default false
*/
hideNonWorkingDays: boolean;
}

@@ -47,4 +47,7 @@ var __extends = (this && this.__extends) || (function () {

], Group.prototype, "headerTooltipTemplate", void 0);
__decorate([
Property(false)
], Group.prototype, "hideNonWorkingDays", void 0);
return Group;
}(ChildProperty));
export { Group };

@@ -95,2 +95,9 @@ import { Property, ChildProperty, Complex, Collection } from '@syncfusion/ej2-base';import { View, Orientation } from '../base/type';import { TimeScale } from '../models/time-scale';import { TimeScaleModel, GroupModel, HeaderRowsModel } from '../models/models';import { Group } from '../models/group';import { HeaderRows } from './header-rows';

/**
* It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
*
* @default null
*/
dateRangeTemplate?: string;
/**
* The template option which is used to render the customized work cells on the Schedule. Here, the

@@ -249,3 +256,3 @@ * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.

*
* @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
* @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[], hideNonWorkingDays: false }
*/

@@ -252,0 +259,0 @@ group?: GroupModel;

@@ -86,2 +86,8 @@ import { ChildProperty } from '@syncfusion/ej2-base';

/**
* It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
*
* @default null
*/
dateRangeTemplate: string;
/**
* The template option which is used to render the customized work cells on the Schedule. Here, the

@@ -223,3 +229,3 @@ * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.

*
* @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
* @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[], hideNonWorkingDays: false }
*/

@@ -226,0 +232,0 @@ group: GroupModel;

@@ -61,2 +61,5 @@ var __extends = (this && this.__extends) || (function () {

Property()
], Views.prototype, "dateRangeTemplate", void 0);
__decorate([
Property()
], Views.prototype, "cellTemplate", void 0);

@@ -63,0 +66,0 @@ __decorate([

@@ -45,3 +45,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

var index = parseInt(args.target.getAttribute('data-group-index'), 10);
resCollection = this.parent.resourceBase.lastResourceLevel[index];
resCollection = this.parent.resourceBase.lastResourceLevel[parseInt(index.toString(), 10)];
}

@@ -51,3 +51,4 @@ else {

var cellIndex = args.target.cellIndex;
resCollection = this.parent.activeView.getColumnLevels()[rowIndex][cellIndex];
resCollection =
this.parent.activeView.getColumnLevels()[parseInt(rowIndex.toString(), 10)][parseInt(cellIndex.toString(), 10)];
}

@@ -54,0 +55,0 @@ var data = {

@@ -165,3 +165,3 @@ var __extends = (this && this.__extends) || (function () {

if (this.parent.headerModule) {
this.parent.headerModule.updateDateRange(this.parent.activeView.getDateRangeText());
this.parent.headerModule.updateDateRange();
this.parent.headerModule.updateHeaderItems('remove');

@@ -240,4 +240,4 @@ }

for (var s = 0, element = tBody.children; s < element.length; s++) {
if (element[s].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
var scrollToValue = element[s].offsetTop -
if (element[parseInt(s.toString(), 10)].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
var scrollToValue = element[parseInt(s.toString(), 10)].offsetTop -
this.element.querySelector('.e-agenda-item').offsetHeight;

@@ -291,3 +291,3 @@ target.scrollTop = scrollToValue;

for (var a = 0, length_1 = liCollection.length; a < length_1; a++) {
li = liCollection[a];
li = liCollection[parseInt(a.toString(), 10)];
liDetails = li.getBoundingClientRect();

@@ -305,3 +305,3 @@ if (liDetails.top >= 0) {

if (this.parent.showHeaderBar) {
this.parent.headerModule.updateDateRange(this.getDateRangeText(date));
this.parent.headerModule.updateDateRange(date);
}

@@ -308,0 +308,0 @@ };

@@ -28,3 +28,3 @@ import { CalendarView } from '@syncfusion/ej2-calendars';

updateActiveView(): void;
updateDateRange(text: string): void;
updateDateRange(date?: Date): void;
refresh(): void;

@@ -31,0 +31,0 @@ updateAddIcon(): void;

/* eslint-disable @typescript-eslint/no-explicit-any */
import { isNullOrUndefined, createElement, remove, closest, addClass, removeClass, extend } from '@syncfusion/ej2-base';
import { isNullOrUndefined, createElement, remove, closest, addClass, removeClass, extend, append } from '@syncfusion/ej2-base';
import { Toolbar } from '@syncfusion/ej2-navigations';

@@ -151,9 +151,25 @@ import { Calendar } from '@syncfusion/ej2-calendars';

};
HeaderRenderer.prototype.updateDateRange = function (text) {
HeaderRenderer.prototype.updateDateRange = function (date) {
var selEle = this.toolbarObj.element.querySelector('.e-date-range');
if (selEle) {
if (!selEle) {
return;
}
var textEle = selEle.querySelector('.e-tbar-btn-text');
if (this.parent.activeViewOptions.dateRangeTemplate) {
textEle.textContent = '';
var args = {
startDate: this.parent.activeView.getStartDate(),
endDate: this.parent.activeView.getEndDate(), currentView: this.parent.currentView
};
var viewName = this.parent.activeViewOptions.dateRangeTemplateName;
var templateId = this.parent.element.id + '_' + viewName + 'dateRangeTemplate';
var dateTemplate = [].slice.call(this.parent.getDateRangeTemplate()(args, this.parent, 'dateRangeTemplate', templateId, false));
append(dateTemplate, textEle);
}
else {
var text = this.parent.activeView.getDateRangeText(date);
selEle.setAttribute('aria-label', text);
selEle.querySelector('.e-tbar-btn-text').innerHTML = text;
this.refresh();
textEle.textContent = text;
}
this.refresh();
};

@@ -160,0 +176,0 @@ HeaderRenderer.prototype.refresh = function () {

@@ -15,3 +15,3 @@ var __extends = (this && this.__extends) || (function () {

/* eslint-disable @typescript-eslint/no-explicit-any */
import { createElement, addClass, formatUnit, remove } from '@syncfusion/ej2-base';
import { EventHandler, createElement, addClass, formatUnit, remove } from '@syncfusion/ej2-base';
import { AgendaBase } from '../event-renderer/agenda-base';

@@ -60,7 +60,14 @@ import { Month } from './month';

var dateHeader = this.element.querySelector('.' + cls.DATE_HEADER_WRAP_CLASS);
var availHeight = this.parent.element.offsetHeight - headerHeight - dateHeader.offsetHeight - contentArea.offsetHeight;
var availHeight = this.parent.element.offsetHeight - headerHeight - dateHeader.offsetHeight;
var contentAreaHeight = (this.parent.activeViewOptions.interval > 1) ?
Math.round(availHeight * 0.8) : contentArea.offsetHeight;
var appContainerHeight = availHeight - contentAreaHeight;
var wrapperContainer = this.element.querySelector('.' + cls.WRAPPER_CONTAINER_CLASS);
var eventWrapper = this.element.querySelector('.' + cls.APPOINTMENT_WRAP_CLASS);
if (this.parent.height !== 'auto') {
wrapperContainer.style.height = eventWrapper.style.height = formatUnit(availHeight);
if (this.parent.activeViewOptions.interval > 1) {
contentArea.style.height = formatUnit(contentAreaHeight);
EventHandler.add(contentArea, 'scroll', this.onContentScroll, this);
}
wrapperContainer.style.height = eventWrapper.style.height = formatUnit(appContainerHeight);
}

@@ -82,3 +89,3 @@ };

var filterData = this.appointmentFiltering(date);
var workCell = this.element.querySelectorAll('.' + cls.WORK_CELLS_CLASS)[count];
var workCell = this.element.querySelectorAll('.' + cls.WORK_CELLS_CLASS)[parseInt(count.toString(), 10)];
if (filterData.length > 0) {

@@ -85,0 +92,0 @@ if (!workCell.querySelector('.' + cls.APPOINTMENT_INDICATOR_CLASS)) {

@@ -136,3 +136,5 @@ var __extends = (this && this.__extends) || (function () {

if (this.parent.currentView === 'MonthAgenda') {
height = this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS).offsetHeight;
height = (this.parent.activeViewOptions.interval > 1) ?
this.getContentAreaElement().firstElementChild.offsetHeight :
this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS).offsetHeight;
}

@@ -153,3 +155,10 @@ leftPanelElement.style.height = 'auto';

var resourceLevel = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];
colLevels = [this.getDateSlots(resourceLevel.renderDates, resourceLevel.workDays)];
var levels_1 = this.getDateSlots(resourceLevel.renderDates, resourceLevel.workDays);
if (this.parent.activeViewOptions.group.byDate && this.parent.activeViewOptions.group.hideNonWorkingDays) {
var index = levels_1.findIndex(function (x, index) {
return index !== 0 && x.date.getDay() === levels_1[0].date.getDay();
});
levels_1 = index > -1 ? levels_1.slice(0, index) : levels_1;
}
colLevels = [levels_1];
}

@@ -173,3 +182,3 @@ }

}
dateSlots.push({ date: renderDates[col], type: 'monthDay', className: classList, colSpan: 1, workDays: workDays });
dateSlots.push({ date: renderDates[parseInt(col.toString(), 10)], type: 'monthDay', className: classList, colSpan: 1, workDays: workDays });
}

@@ -191,2 +200,5 @@ return dateSlots;

clsList.push('e-by-date');
if (this.parent.currentView !== 'Month') {
this.parent.activeViewOptions.group.hideNonWorkingDays = false;
}
}

@@ -305,6 +317,6 @@ if (this.parent.activeViewOptions.allowVirtualScrolling && !this.parent.uiStateValues.isGroupAdaptive) {

for (var i = 0; i < this.colLevels.length; i++) {
var level = this.colLevels[i];
var level = this.colLevels[parseInt(i.toString(), 10)];
var ntr = trEle.cloneNode();
for (var j = 0; j < level.length; j++) {
var td = level[j];
var td = level[parseInt(j.toString(), 10)];
ntr.appendChild(this.createHeaderCell(td));

@@ -367,6 +379,6 @@ }

};
if (!slotDatas[rowIndex]) {
slotDatas[rowIndex] = [];
if (!slotDatas[parseInt(rowIndex.toString(), 10)]) {
slotDatas[parseInt(rowIndex.toString(), 10)] = [];
}
slotDatas[rowIndex].push(data);
slotDatas[parseInt(rowIndex.toString(), 10)].push(data);
};

@@ -397,7 +409,17 @@ var includeResource = this.parent.currentView !== 'MonthAgenda' &&

var colDates = dates.splice(0, count);
for (var j = startIndex; j < (this.colLevels[0].length + startIndex) && j < colDates.length; j++) {
var colDate = colDates[j];
var k = startIndex;
var _loop_1 = function (j) {
var colDate = colDates[parseInt(k.toString(), 10)];
k++;
if (includeResource) {
var lastRow = this.colLevels[(this.colLevels.length - 1)];
var resourcesTd = lastRow.slice(0, lastRow.length / count);
var lastRow = this_1.colLevels[(this_1.colLevels.length - 1)];
var rowCount = lastRow.length / count;
var resourcesTd = lastRow.slice(0, rowCount);
if (this_1.parent.activeViewOptions.group.hideNonWorkingDays) {
resourcesTd = lastRow.filter(function (x) { return x.date.getDay() === colDate.getDay(); });
if (resourcesTd.length === 0) {
j = j - 1;
return out_j_1 = j, "continue";
}
}
for (var resIndex = 0; resIndex < resourcesTd.length; resIndex++) {

@@ -408,8 +430,14 @@ var clsList = void 0;

}
prepareSlots(i, colDate, resourcesTd[resIndex], clsList);
prepareSlots(i, colDate, resourcesTd[parseInt(resIndex.toString(), 10)], clsList);
}
}
else {
prepareSlots(i, colDate, this.colLevels[this.colLevels.length - 1][0]);
prepareSlots(i, colDate, this_1.colLevels[this_1.colLevels.length - 1][0]);
}
out_j_1 = j;
};
var this_1 = this, out_j_1;
for (var j = startIndex; j < (this.colLevels[0].length + startIndex) && j < colDates.length; j++) {
_loop_1(j);
j = out_j_1;
}

@@ -458,4 +486,4 @@ }

var ntr = tr.cloneNode();
for (var col = 0; col < slotDatas[row].length; col++) {
var ntd = this.createContentTd(slotDatas[row][col], td);
for (var col = 0; col < slotDatas[parseInt(row.toString(), 10)].length; col++) {
var ntd = this.createContentTd(slotDatas[parseInt(row.toString(), 10)][parseInt(col.toString(), 10)], td);
ntr.appendChild(ntd);

@@ -462,0 +490,0 @@ }

@@ -23,4 +23,4 @@ import { isNullOrUndefined, addClass, removeClass } from '@syncfusion/ej2-base';

'cellTemplate', 'eventTemplate', 'tooltipTemplate', 'majorSlotTemplate', 'minorSlotTemplate',
'headerTooltipTemplate', 'dateHeaderTemplate', 'dayHeaderTemplate', 'mothHeaderTemplate',
'headerIndentTemplate', 'resourceHeaderTemplate', 'cellHeaderTemplate'
'headerTooltipTemplate', 'dateHeaderTemplate', 'dayHeaderTemplate', 'monthHeaderTemplate',
'headerIndentTemplate', 'resourceHeaderTemplate', 'cellHeaderTemplate', 'dateRangeTemplate'
];

@@ -129,3 +129,3 @@ this.parent.resetTemplates(templates);

}
this.parent.headerModule.updateDateRange(this.parent.activeView.getDateRangeText());
this.parent.headerModule.updateDateRange();
this.parent.headerModule.updateHeaderItems('remove');

@@ -132,0 +132,0 @@ }

@@ -16,4 +16,4 @@ import { createElement } from '@syncfusion/ej2-base';

var key = d.getFullYear();
result[key] = result[key] || [];
result[key].push(d);
result[parseInt(key.toString(), 10)] = result[parseInt(key.toString(), 10)] || [];
result[parseInt(key.toString(), 10)].push(d);
}

@@ -27,4 +27,4 @@ return result;

var key = (d.getFullYear() - 1970) * 12 + d.getMonth();
result[key] = result[key] || [];
result[key].push(d);
result[parseInt(key.toString(), 10)] = result[parseInt(key.toString(), 10)] || [];
result[parseInt(key.toString(), 10)].push(d);
}

@@ -43,4 +43,4 @@ return result;

}
result[key] = result[key] || [];
result[key].push(d);
result[parseInt(key.toString(), 10)] = result[parseInt(key.toString(), 10)] || [];
result[parseInt(key.toString(), 10)].push(d);
}

@@ -57,3 +57,3 @@ return result;

for (var i = 0; i < keys.length; i++) {
var dates = data[keys[i]];
var dates = data[keys[parseInt(i.toString(), 10)]];
var htmlCol = void 0;

@@ -60,0 +60,0 @@ if (row.template) {

@@ -104,3 +104,3 @@ var __extends = (this && this.__extends) || (function () {

if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
var resLevel = this.parent.resourceBase.renderedResources[row];
var resLevel = this.parent.resourceBase.renderedResources[parseInt(row.toString(), 10)];
data.workDays = resLevel.resourceData[resLevel.resource.workDaysField] || this.parent.workDays;

@@ -115,6 +115,6 @@ data.className = data.className.concat(resLevel.className);

};
if (!slotDatas[row]) {
slotDatas[row] = [];
if (!slotDatas[parseInt(row.toString(), 10)]) {
slotDatas[parseInt(row.toString(), 10)] = [];
}
slotDatas[row].push(slotData);
slotDatas[parseInt(row.toString(), 10)].push(slotData);
}

@@ -158,3 +158,3 @@ }

for (var i = 0; i < timeSlots.length; i++) {
if (timeSlots[i].date.getTime() > startTime.getTime()) {
if (timeSlots[parseInt(i.toString(), 10)].date.getTime() > startTime.getTime()) {
return timeSlots[i - 1].date;

@@ -161,0 +161,0 @@ }

@@ -215,3 +215,3 @@ var __extends = (this && this.__extends) || (function () {

TimelineViews.prototype.getResourceTdData = function (i, tdData) {
var resLevel = this.parent.resourceBase.renderedResources[i];
var resLevel = this.parent.resourceBase.renderedResources[parseInt(i.toString(), 10)];
var resSHr = resLevel.resourceData[resLevel.resource.startHourField] || this.parent.workHours.start;

@@ -266,3 +266,3 @@ var resEHr = resLevel.resourceData[resLevel.resource.endHourField] || this.parent.workHours.end;

for (var i = 0; i < timeSlots.length; i++) {
if (timeSlots[i].date.getTime() > date.getTime()) {
if (timeSlots[parseInt(i.toString(), 10)].date.getTime() > date.getTime()) {
return timeSlots[i - 1].date;

@@ -269,0 +269,0 @@ }

@@ -69,7 +69,7 @@ var __extends = (this && this.__extends) || (function () {

for (var column = 0; column < this.columnCount; column++) {
var date = new Date(this.parent.selectedDate.getFullYear(), months[column], 1);
var date = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(column.toString(), 10)], 1);
var innerTd = createElement('td', { className: cls.HEADER_CELLS_CLASS });
if (this.parent.activeViewOptions.orientation === 'Horizontal') {
if (this.parent.dayHeaderTemplate) {
append(this.renderDayMonthHeaderTemplate(dayHeaderDates[column], column, 'dayHeaderTemplate'), innerTd);
append(this.renderDayMonthHeaderTemplate(dayHeaderDates[parseInt(column.toString(), 10)], column, 'dayHeaderTemplate'), innerTd);
}

@@ -82,3 +82,3 @@ else {

if (this.parent.monthHeaderTemplate) {
append(this.renderDayMonthHeaderTemplate(date, months[column], 'monthHeaderTemplate'), innerTd);
append(this.renderDayMonthHeaderTemplate(date, months[parseInt(column.toString(), 10)], 'monthHeaderTemplate'), innerTd);
}

@@ -199,3 +199,3 @@ else {

wrapper.appendChild(createElement('div', { className: cls.APPOINTMENT_CONTAINER_CLASS }));
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
var monthStart = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));

@@ -220,3 +220,3 @@ var monthEnd = this.parent.calendarUtil.getMonthEndDate(new Date(monthDate.getTime()));

if (this.parent.dayHeaderTemplate) {
append(this.renderDayMonthHeaderTemplate(dayHeaderDates[month], month, 'dayHeaderTemplate'), monthTd);
append(this.renderDayMonthHeaderTemplate(dayHeaderDates[parseInt(month.toString(), 10)], month, 'dayHeaderTemplate'), monthTd);
}

@@ -233,7 +233,7 @@ else {

if (this.parent.activeViewOptions.orientation === 'Vertical') {
monthDate = new Date(this.parent.selectedDate.getFullYear(), months[column], 1);
monthDate = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(column.toString(), 10)], 1);
monthStart = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
monthEnd = this.parent.calendarUtil.getMonthEndDate(new Date(monthDate.getTime()));
var dayDate = (month - monthStart.getDay()) + 1;
date = new Date(this.parent.selectedDate.getFullYear(), months[column], dayDate);
date = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(column.toString(), 10)], dayDate);
isDateAvail = dayDate > 0 && date.getTime() < monthEnd.getTime();

@@ -264,2 +264,5 @@ }

}
if (!this.parent.isMinMaxDate(date)) {
addClass([td], cls.DISABLE_DATES);
}
if (this.isCurrentDate(date)) {

@@ -280,2 +283,5 @@ classList.push(cls.CURRENT_DAY_CLASS);

addClass([td], cls.OTHERMONTH_CLASS);
if (!this.parent.isMinMaxDate(date)) {
addClass([td], cls.DISABLE_DATES);
}
}

@@ -308,5 +314,5 @@ if (td.classList.contains(cls.OTHERMONTH_CLASS)) {

if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
resData = this.parent.resourceBase.renderedResources[row];
resData = this.parent.resourceBase.renderedResources[parseInt(row.toString(), 10)];
}
var monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[row], 1);
var monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[parseInt(row.toString(), 10)], 1);
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));

@@ -323,3 +329,3 @@ for (var month = 0; month < this.columnCount; month++) {

}
monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[month], 1);
monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[parseInt(month.toString(), 10)], 1);
date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));

@@ -351,5 +357,5 @@ var tdELe = createElement('td', {

if (this.parent.activeViewOptions.orientation === 'Vertical' && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
resData = this.parent.resourceBase.renderedResources[row];
resData = this.parent.resourceBase.renderedResources[parseInt(row.toString(), 10)];
}
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(row.toString(), 10)], 1);
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));

@@ -383,7 +389,7 @@ if (this.parent.activeViewOptions.orientation === 'Horizontal') {

}
monthDate = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
monthDate = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
}
else {
groupIndex = this.colLevels.slice(-1)[0][month].groupIndex;
groupIndex = this.colLevels.slice(-1)[0][parseInt(month.toString(), 10)].groupIndex;
classList.push(cls.WORKDAY_CLASS);

@@ -390,0 +396,0 @@ }

@@ -119,2 +119,5 @@ var __extends = (this && this.__extends) || (function () {

if (this.parent.uiStateValues.isInitial) {
if (this.parent.currentView.indexOf('Timeline') > -1) {
content.scrollTop = this.parent.uiStateValues.top;
}
this.scrollToWorkHour();

@@ -185,2 +188,14 @@ this.parent.uiStateValues.isInitial = false;

columnLevels = this.parent.resourceBase.generateResourceLevels(level);
if (this.parent.activeViewOptions.group.hideNonWorkingDays) {
while (columnLevels[0].length === 0) {
this.parent.setProperties({ selectedDate: this.parent.activeView.getNextPreviousDate(this.previousNextAction) }, true);
this.parent.activeView.getRenderDates();
if (this.parent.headerModule) {
this.parent.headerModule.setCalendarDate(this.parent.selectedDate);
this.parent.headerModule.updateDateRange();
}
level = this.getDateSlots(this.renderDates, this.parent.activeViewOptions.workDays);
columnLevels = this.parent.resourceBase.generateResourceLevels(level);
}
}
if (this.parent.uiStateValues.isGroupAdaptive && this.parent.resourceBase.lastResourceLevel.length > 0) {

@@ -333,7 +348,7 @@ var resourceLevel = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];

for (var i = 0, length_1 = currentDateIndex[0]; i < length_1; i++) {
curTimeWrap[i].appendChild(createElement('div', { className: cls.PREVIOUS_TIMELINE_CLASS, styles: 'top:' + topInPx }));
curTimeWrap[parseInt(i.toString(), 10)].appendChild(createElement('div', { className: cls.PREVIOUS_TIMELINE_CLASS, styles: 'top:' + topInPx }));
}
for (var _i = 0, currentDateIndex_1 = currentDateIndex; _i < currentDateIndex_1.length; _i++) {
var day = currentDateIndex_1[_i];
curTimeWrap[day].appendChild(createElement('div', { className: cls.CURRENT_TIMELINE_CLASS, styles: 'top:' + topInPx }));
curTimeWrap[parseInt(day.toString(), 10)].appendChild(createElement('div', { className: cls.CURRENT_TIMELINE_CLASS, styles: 'top:' + topInPx }));
}

@@ -347,4 +362,4 @@ var currentTimeEle = createElement('div', {

removeClass(timeCellsWrap.querySelectorAll('.' + cls.HIDE_CHILDS_CLASS), cls.HIDE_CHILDS_CLASS);
if (timeTrs[rowIndex]) {
addClass([timeTrs[rowIndex].lastElementChild], cls.HIDE_CHILDS_CLASS);
if (timeTrs[parseInt(rowIndex.toString(), 10)]) {
addClass([timeTrs[parseInt(rowIndex.toString(), 10)].lastElementChild], cls.HIDE_CHILDS_CLASS);
}

@@ -508,3 +523,3 @@ prepend([currentTimeEle], timeCellsWrap);

var ntr_1 = trEle.cloneNode();
var data_1 = { className: [(this.colLevels[i][0] && this.colLevels[i][0].className[0])], type: 'emptyCells' };
var data_1 = { className: [(this.colLevels[parseInt(i.toString(), 10)][0] && this.colLevels[parseInt(i.toString(), 10)][0].className[0])], type: 'emptyCells' };
if (this.parent.activeViewOptions.showWeekNumber && data_1.className.indexOf(cls.HEADER_CELLS_CLASS) !== -1) {

@@ -551,5 +566,5 @@ data_1.className.push(cls.WEEK_NUMBER_CLASS);

var ntr = trEle.cloneNode();
var level = this.colLevels[i];
var level = this.colLevels[parseInt(i.toString(), 10)];
for (var j = 0; j < level.length; j++) {
ntr.appendChild(this.createTd(level[j]));
ntr.appendChild(this.createTd(level[parseInt(j.toString(), 10)]));
}

@@ -566,3 +581,3 @@ tbl.querySelector('tbody').appendChild(ntr);

for (var j = 0; j < tdData.length; j++) {
var td = extend({}, tdData[j]);
var td = extend({}, tdData[parseInt(j.toString(), 10)]);
td.className = [cls.ALLDAY_CELLS_CLASS];

@@ -796,3 +811,3 @@ td.type = 'alldayCells';

for (var i = 0; i < timeSlots.length; i++) {
if (timeSlots[i].date.getTime() > startDate.getTime()) {
if (timeSlots[parseInt(i.toString(), 10)].date.getTime() > startDate.getTime()) {
startTime.setHours(timeSlots[i - 1].date.getHours(), timeSlots[i - 1].date.getMinutes(), timeSlots[i - 1].date.getMilliseconds());

@@ -799,0 +814,0 @@ return new Date(startTime);

@@ -7,2 +7,3 @@ import { Schedule } from '../base/schedule';

export declare class ViewBase {
previousNextAction: string;
element: HTMLElement;

@@ -46,2 +47,4 @@ parent: Schedule;

highlightCurrentTime(): void;
getStartDate(): Date;
getEndDate(): Date;
startDate(): Date;

@@ -48,0 +51,0 @@ endDate(): Date;

@@ -15,2 +15,3 @@ import { createElement, append, prepend, isNullOrUndefined, getValue, getDefaultDateObject, cldrData, addClass, setStyleAttribute, formatUnit, EventHandler, remove } from '@syncfusion/ej2-base';

function ViewBase(parent) {
this.previousNextAction = 'next';
this.parent = parent;

@@ -65,3 +66,3 @@ }

if (this.parent.resourceBase && !this.parent.uiStateValues.isGroupAdaptive && this.parent.resourceBase.renderedResources) {
eventContainer.setAttribute('data-group-index', this.parent.resourceBase.renderedResources[row].groupIndex.toString());
eventContainer.setAttribute('data-group-index', this.parent.resourceBase.renderedResources[parseInt(row.toString(), 10)].groupIndex.toString());
}

@@ -194,2 +195,8 @@ eventRows.push(eventContainer);

};
ViewBase.prototype.getStartDate = function () {
return this.renderDates[0];
};
ViewBase.prototype.getEndDate = function () {
return this.renderDates[this.renderDates.length - 1];
};
ViewBase.prototype.startDate = function () {

@@ -294,2 +301,3 @@ return this.renderDates[0];

ViewBase.prototype.getNextPreviousDate = function (type) {
this.previousNextAction = type;
if (this.parent.currentView === 'Day' || this.parent.currentView === 'TimelineDay') {

@@ -565,4 +573,4 @@ if (this.parent.activeViewOptions.showWeekend) {

}
index += lastLevel[i].colSpan;
this.parent.resourceBase.expandedResources.push(lastLevel[i]);
index += lastLevel[parseInt(i.toString(), 10)].colSpan;
this.parent.resourceBase.expandedResources.push(lastLevel[parseInt(i.toString(), 10)]);
}

@@ -569,0 +577,0 @@ if (this.parent.activeViewOptions.group.byDate) {

@@ -96,3 +96,3 @@ var __extends = (this && this.__extends) || (function () {

var headerContent = createElement('div', { className: 'e-day e-title' });
if (this.parent.monthHeaderTemplate) {
if (this.parent.activeViewOptions.monthHeaderTemplate) {
var args = { date: currentDate, type: 'monthHeader' };

@@ -121,3 +121,3 @@ this.renderTemplates(this.parent.getMonthHeaderTemplate(), args, 'monthHeaderTemplate', this.parent.activeViewOptions.monthHeaderTemplateName, headerContent);

for (var i = 0; i < util.WEEK_LENGTH; i++) {
if (this.parent.dayHeaderTemplate) {
if (this.parent.activeViewOptions.dayHeaderTemplate) {
var th = createElement('th');

@@ -181,6 +181,11 @@ var args = { date: currentWeek, type: 'dayHeader' };

tr_1.appendChild(td);
EventHandler.add(td, 'click', this.onCellClick, this);
if (!this.parent.isAdaptive) {
EventHandler.add(td, 'dblclick', this.parent.workCellAction.cellDblClick, this.parent.workCellAction);
if (!this.parent.isMinMaxDate(date)) {
addClass([td], cls.DISABLE_DATES);
}
else {
EventHandler.add(td, 'click', this.onCellClick, this);
if (!this.parent.isAdaptive) {
EventHandler.add(td, 'dblclick', this.parent.workCellAction.cellDblClick, this.parent.workCellAction);
}
}
this.parent.trigger(event.renderCell, { elementType: 'workCells', element: td, date: date });

@@ -352,2 +357,3 @@ }

this.parent.uiStateValues.isInitial = false;
this.parent.uiStateValues.top = this.parent.uiStateValues.left = 0;
}

@@ -354,0 +360,0 @@ else {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc