@syncfusion/ej2-schedule 20.4.52 → 21.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/ej2-schedule.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +374 -153
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +409 -174
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +16 -16
- package/src/common/calendar-util.d.ts +7 -0
- package/src/recurrence-editor/recurrence-editor.d.ts +10 -0
- package/src/recurrence-editor/recurrence-editor.js +3 -3
- package/src/schedule/actions/action-base.js +5 -0
- package/src/schedule/actions/crud.js +14 -2
- package/src/schedule/actions/data.d.ts +14 -2
- package/src/schedule/actions/data.js +26 -2
- package/src/schedule/actions/drag.js +6 -1
- package/src/schedule/actions/keyboard.d.ts +1 -1
- package/src/schedule/actions/keyboard.js +17 -15
- package/src/schedule/actions/virtual-scroll.js +2 -2
- package/src/schedule/base/interface.d.ts +23 -23
- package/src/schedule/base/resource.js +8 -7
- package/src/schedule/base/schedule-model.d.ts +34 -27
- package/src/schedule/base/schedule.d.ts +57 -27
- package/src/schedule/base/schedule.js +56 -9
- package/src/schedule/base/type.d.ts +66 -1
- package/src/schedule/event-renderer/agenda-base.js +6 -2
- package/src/schedule/event-renderer/event-base.d.ts +1 -0
- package/src/schedule/event-renderer/event-base.js +27 -10
- package/src/schedule/event-renderer/month.js +4 -5
- package/src/schedule/event-renderer/vertical-view.d.ts +0 -1
- package/src/schedule/event-renderer/vertical-view.js +6 -30
- package/src/schedule/event-renderer/year.d.ts +1 -0
- package/src/schedule/event-renderer/year.js +135 -54
- package/src/schedule/models/event-settings-model.d.ts +11 -2
- package/src/schedule/models/event-settings.d.ts +10 -2
- package/src/schedule/models/event-settings.js +3 -0
- package/src/schedule/models/fields-model.d.ts +4 -2
- package/src/schedule/models/fields.d.ts +6 -4
- package/src/schedule/models/fields.js +2 -2
- package/src/schedule/models/header-rows-model.d.ts +5 -5
- package/src/schedule/models/header-rows.d.ts +5 -5
- package/src/schedule/models/quick-info-templates-model.d.ts +3 -3
- package/src/schedule/models/quick-info-templates.d.ts +3 -3
- package/src/schedule/models/views-model.d.ts +16 -15
- package/src/schedule/models/views.d.ts +16 -15
- package/src/schedule/popups/event-tooltip.js +2 -1
- package/src/schedule/popups/event-window.js +27 -6
- package/src/schedule/popups/quick-popups.js +32 -10
- package/src/schedule/renderer/header-renderer.js +1 -0
- package/src/schedule/renderer/month-agenda.d.ts +2 -1
- package/src/schedule/renderer/month-agenda.js +5 -0
- package/src/schedule/renderer/month.d.ts +1 -0
- package/src/schedule/renderer/month.js +5 -3
- package/src/schedule/renderer/timeline-year.js +12 -8
- package/src/schedule/renderer/vertical-view.js +1 -1
- package/src/schedule/renderer/view-base.js +3 -4
- package/src/schedule/renderer/year.js +5 -1
- package/styles/bootstrap-dark.css +99 -89
- package/styles/bootstrap.css +99 -89
- package/styles/bootstrap4.css +99 -89
- package/styles/bootstrap5-dark.css +110 -100
- package/styles/bootstrap5.css +110 -100
- package/styles/fabric-dark.css +98 -88
- package/styles/fabric.css +98 -88
- package/styles/fluent-dark.css +109 -99
- package/styles/fluent.css +109 -99
- package/styles/highcontrast-light.css +98 -88
- package/styles/highcontrast.css +98 -88
- package/styles/material-dark.css +98 -88
- package/styles/material.css +98 -88
- package/styles/recurrence-editor/_bootstrap5-definition.scss +1 -1
- package/styles/recurrence-editor/_fluent-definition.scss +1 -1
- package/styles/recurrence-editor/_tailwind-definition.scss +1 -1
- package/styles/schedule/_bootstrap-dark-definition.scss +8 -1
- package/styles/schedule/_bootstrap-definition.scss +8 -1
- package/styles/schedule/_bootstrap4-definition.scss +7 -0
- package/styles/schedule/_bootstrap5-definition.scss +17 -10
- package/styles/schedule/_fabric-dark-definition.scss +7 -0
- package/styles/schedule/_fabric-definition.scss +7 -0
- package/styles/schedule/_fluent-definition.scss +15 -8
- package/styles/schedule/_fusionnew-definition.scss +7 -0
- package/styles/schedule/_highcontrast-definition.scss +7 -0
- package/styles/schedule/_highcontrast-light-definition.scss +7 -0
- package/styles/schedule/_layout.scss +63 -48
- package/styles/schedule/_material-dark-definition.scss +7 -0
- package/styles/schedule/_material-definition.scss +7 -0
- package/styles/schedule/_tailwind-definition.scss +17 -10
- package/styles/schedule/_theme.scss +40 -41
- package/styles/schedule/bootstrap-dark.css +99 -89
- package/styles/schedule/bootstrap.css +99 -89
- package/styles/schedule/bootstrap4.css +99 -89
- package/styles/schedule/bootstrap5-dark.css +110 -100
- package/styles/schedule/bootstrap5.css +110 -100
- package/styles/schedule/fabric-dark.css +98 -88
- package/styles/schedule/fabric.css +98 -88
- package/styles/schedule/fluent-dark.css +109 -99
- package/styles/schedule/fluent.css +109 -99
- package/styles/schedule/highcontrast-light.css +98 -88
- package/styles/schedule/highcontrast.css +98 -88
- package/styles/schedule/material-dark.css +98 -88
- package/styles/schedule/material.css +98 -88
- package/styles/schedule/tailwind-dark.css +106 -96
- package/styles/schedule/tailwind.css +106 -96
- package/styles/tailwind-dark.css +106 -96
- package/styles/tailwind.css +106 -96
- package/GitLeaksReport.json +0 -1
- package/gitleaks-ci/gitleaks +0 -0
- package/gitleaks-ci.tar.gz +0 -0
- package/styles/recurrence-editor/_material3-definition.scss +0 -13
- package/styles/schedule/_material3-definition.scss +0 -283
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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';
|
|
1
|
+
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, SanitizeHtmlHelper } 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';
|
|
2
2
|
import {ComponentModel} from '@syncfusion/ej2-base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -61,18 +61,18 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
61
61
|
/**
|
|
62
62
|
* To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
|
|
63
63
|
* view options. The view option specified in this property will be initially loaded on the schedule.
|
|
64
|
-
* * Day
|
|
65
|
-
* * Week
|
|
66
|
-
* * WorkWeek
|
|
67
|
-
* * Month
|
|
68
|
-
* * Year
|
|
69
|
-
* * Agenda
|
|
70
|
-
* * MonthAgenda
|
|
71
|
-
* * TimelineDay
|
|
72
|
-
* * TimelineWeek
|
|
73
|
-
* * TimelineWorkWeek
|
|
74
|
-
* * TimelineMonth
|
|
75
|
-
* * TimelineYear
|
|
64
|
+
* * `Day`: Denotes Day view of the scheduler.
|
|
65
|
+
* * `Week`: Denotes Week view of the scheduler.
|
|
66
|
+
* * `WorkWeek`: Denotes Work Week view of the scheduler.
|
|
67
|
+
* * `Month`: Denotes Month view of the scheduler.
|
|
68
|
+
* * `Year`: Denotes Year view of the scheduler.
|
|
69
|
+
* * `Agenda`: Denotes Agenda view of the scheduler.
|
|
70
|
+
* * `MonthAgenda`: Denotes Month Agenda view of the scheduler.
|
|
71
|
+
* * `TimelineDay`: Denotes Timeline Day view of the scheduler.
|
|
72
|
+
* * `TimelineWeek`: Denotes Timeline Week view of the scheduler.
|
|
73
|
+
* * `TimelineWorkWeek`: Denotes Timeline Work Week view of the scheduler.
|
|
74
|
+
* * `TimelineMonth`: Denotes Timeline Month view of the scheduler.
|
|
75
|
+
* * `TimelineYear`: Denotes Timeline Year view of the scheduler.
|
|
76
76
|
*
|
|
77
77
|
* {% codeBlock src='schedule/currentView/index.md' %}{% endcodeBlock %}
|
|
78
78
|
*
|
|
@@ -86,13 +86,12 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
86
86
|
* Schedule displays all the views namely `Day`, `Week`, `Work Week`, `Month` and `Agenda`.
|
|
87
87
|
*
|
|
88
88
|
* Example for array of views:
|
|
89
|
-
* {% codeBlock src="schedule/
|
|
89
|
+
* {% codeBlock src="schedule/views/index.md" %}{% endcodeBlock %}
|
|
90
90
|
*
|
|
91
91
|
* Example for array of view objects:
|
|
92
|
-
* {% codeBlock src=
|
|
93
|
-
* {% codeBlock src='schedule/views/index.md' %}{% endcodeBlock %}
|
|
92
|
+
* {% codeBlock src='schedule/viewOption/index.md' %}{% endcodeBlock %}
|
|
94
93
|
*
|
|
95
|
-
* @default '[
|
|
94
|
+
* @default '["Day", "Week", "WorkWeek", "Month", "Agenda"]'
|
|
96
95
|
*/
|
|
97
96
|
views?: View[] | ViewsModel[];
|
|
98
97
|
|
|
@@ -182,9 +181,9 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
182
181
|
/**
|
|
183
182
|
* It allows the Scheduler to display week numbers based on following available week options. The week
|
|
184
183
|
* option specified in this property will be initially loaded on the schedule.
|
|
185
|
-
* * FirstDay
|
|
186
|
-
* * FirstFourDayWeek
|
|
187
|
-
* * FirstFullWeek
|
|
184
|
+
* * `FirstDay`: Denotes that the first week of the year starts on the first day of the year and ends before the following designated first day of the week.
|
|
185
|
+
* * `FirstFourDayWeek`:Denotes that the first week of the year is the first week with four or more days before the designated first day of the week.
|
|
186
|
+
* * `FirstFullWeek`: Denotes that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year.
|
|
188
187
|
*
|
|
189
188
|
* {% codeBlock src='schedule/weekRule/index.md' %}{% endcodeBlock %}
|
|
190
189
|
*
|
|
@@ -242,6 +241,14 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
242
241
|
*/
|
|
243
242
|
timeFormat?: string;
|
|
244
243
|
|
|
244
|
+
/**
|
|
245
|
+
* Specifies whether to enable the rendering of untrusted HTML values in the Schedule component.
|
|
246
|
+
* When this property is enabled, the component will sanitize any suspected untrusted strings and scripts before rendering them.
|
|
247
|
+
*
|
|
248
|
+
* @default true
|
|
249
|
+
*/
|
|
250
|
+
enableHtmlSanitizer?: boolean;
|
|
251
|
+
|
|
245
252
|
/**
|
|
246
253
|
* When set to `true`, If valid, the scroll on the all day row is activated when the all day row
|
|
247
254
|
* height reaches the max height when the all day row is expanded.
|
|
@@ -362,9 +369,9 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
362
369
|
* The template option which is used to render the customized work cells on the Schedule. Here, the template accepts either
|
|
363
370
|
* the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
|
|
364
371
|
* The fields accessible via template are as follows.
|
|
365
|
-
* * date
|
|
366
|
-
* * groupIndex
|
|
367
|
-
* * type
|
|
372
|
+
* * `date`: Returns the date of the cell.
|
|
373
|
+
* * `groupIndex`: Returns the group index of the cell.
|
|
374
|
+
* * `type`: Returns the type of the work cell.
|
|
368
375
|
*
|
|
369
376
|
* Refer to the below code snippet.
|
|
370
377
|
*
|
|
@@ -551,8 +558,8 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
551
558
|
* Template option to customize the resource header bar. Here, the template accepts either
|
|
552
559
|
* the string or HTMLElement as template design and then the parsed design is displayed onto the resource header cells.
|
|
553
560
|
* The following can be accessible via template.
|
|
554
|
-
* * resource - All the resource fields.
|
|
555
|
-
* * resourceData -
|
|
561
|
+
* * `resource` - All the resource fields.
|
|
562
|
+
* * `resourceData` - Object collection of current resource.
|
|
556
563
|
*
|
|
557
564
|
* Refer to the below code snippet.
|
|
558
565
|
*
|
|
@@ -586,7 +593,7 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
586
593
|
|
|
587
594
|
/**
|
|
588
595
|
* Allows defining the collection of resources to be displayed on the Schedule. The resource collection needs to be defined
|
|
589
|
-
*
|
|
596
|
+
* with unique resource names to identify it along with the respective dataSource and field mapping options.
|
|
590
597
|
*
|
|
591
598
|
* {% codeBlock src='schedule/resources/index.md' %}{% endcodeBlock %}
|
|
592
599
|
*
|
|
@@ -596,7 +603,7 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
596
603
|
|
|
597
604
|
/**
|
|
598
605
|
* Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
|
|
599
|
-
*
|
|
606
|
+
* on the timeline view of the scheduler.
|
|
600
607
|
*
|
|
601
608
|
* {% codeBlock src='schedule/headerRows/index.md' %}{% endcodeBlock %}
|
|
602
609
|
*
|
|
@@ -184,18 +184,18 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
184
184
|
/**
|
|
185
185
|
* To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
|
|
186
186
|
* view options. The view option specified in this property will be initially loaded on the schedule.
|
|
187
|
-
* * Day
|
|
188
|
-
* * Week
|
|
189
|
-
* * WorkWeek
|
|
190
|
-
* * Month
|
|
191
|
-
* * Year
|
|
192
|
-
* * Agenda
|
|
193
|
-
* * MonthAgenda
|
|
194
|
-
* * TimelineDay
|
|
195
|
-
* * TimelineWeek
|
|
196
|
-
* * TimelineWorkWeek
|
|
197
|
-
* * TimelineMonth
|
|
198
|
-
* * TimelineYear
|
|
187
|
+
* * `Day`: Denotes Day view of the scheduler.
|
|
188
|
+
* * `Week`: Denotes Week view of the scheduler.
|
|
189
|
+
* * `WorkWeek`: Denotes Work Week view of the scheduler.
|
|
190
|
+
* * `Month`: Denotes Month view of the scheduler.
|
|
191
|
+
* * `Year`: Denotes Year view of the scheduler.
|
|
192
|
+
* * `Agenda`: Denotes Agenda view of the scheduler.
|
|
193
|
+
* * `MonthAgenda`: Denotes Month Agenda view of the scheduler.
|
|
194
|
+
* * `TimelineDay`: Denotes Timeline Day view of the scheduler.
|
|
195
|
+
* * `TimelineWeek`: Denotes Timeline Week view of the scheduler.
|
|
196
|
+
* * `TimelineWorkWeek`: Denotes Timeline Work Week view of the scheduler.
|
|
197
|
+
* * `TimelineMonth`: Denotes Timeline Month view of the scheduler.
|
|
198
|
+
* * `TimelineYear`: Denotes Timeline Year view of the scheduler.
|
|
199
199
|
*
|
|
200
200
|
* {% codeBlock src='schedule/currentView/index.md' %}{% endcodeBlock %}
|
|
201
201
|
*
|
|
@@ -208,13 +208,12 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
208
208
|
* Schedule displays all the views namely `Day`, `Week`, `Work Week`, `Month` and `Agenda`.
|
|
209
209
|
*
|
|
210
210
|
* Example for array of views:
|
|
211
|
-
* {% codeBlock src="schedule/
|
|
211
|
+
* {% codeBlock src="schedule/views/index.md" %}{% endcodeBlock %}
|
|
212
212
|
*
|
|
213
213
|
* Example for array of view objects:
|
|
214
|
-
* {% codeBlock src=
|
|
215
|
-
* {% codeBlock src='schedule/views/index.md' %}{% endcodeBlock %}
|
|
214
|
+
* {% codeBlock src='schedule/viewOption/index.md' %}{% endcodeBlock %}
|
|
216
215
|
*
|
|
217
|
-
* @default '[
|
|
216
|
+
* @default '["Day", "Week", "WorkWeek", "Month", "Agenda"]'
|
|
218
217
|
*/
|
|
219
218
|
views: View[] | ViewsModel[];
|
|
220
219
|
/**
|
|
@@ -296,9 +295,9 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
296
295
|
/**
|
|
297
296
|
* It allows the Scheduler to display week numbers based on following available week options. The week
|
|
298
297
|
* option specified in this property will be initially loaded on the schedule.
|
|
299
|
-
* * FirstDay
|
|
300
|
-
* * FirstFourDayWeek
|
|
301
|
-
* * FirstFullWeek
|
|
298
|
+
* * `FirstDay`: Denotes that the first week of the year starts on the first day of the year and ends before the following designated first day of the week.
|
|
299
|
+
* * `FirstFourDayWeek`:Denotes that the first week of the year is the first week with four or more days before the designated first day of the week.
|
|
300
|
+
* * `FirstFullWeek`: Denotes that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year.
|
|
302
301
|
*
|
|
303
302
|
* {% codeBlock src='schedule/weekRule/index.md' %}{% endcodeBlock %}
|
|
304
303
|
*
|
|
@@ -350,6 +349,13 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
350
349
|
* @default null
|
|
351
350
|
*/
|
|
352
351
|
timeFormat: string;
|
|
352
|
+
/**
|
|
353
|
+
* Specifies whether to enable the rendering of untrusted HTML values in the Schedule component.
|
|
354
|
+
* When this property is enabled, the component will sanitize any suspected untrusted strings and scripts before rendering them.
|
|
355
|
+
*
|
|
356
|
+
* @default true
|
|
357
|
+
*/
|
|
358
|
+
enableHtmlSanitizer: boolean;
|
|
353
359
|
/**
|
|
354
360
|
* When set to `true`, If valid, the scroll on the all day row is activated when the all day row
|
|
355
361
|
* height reaches the max height when the all day row is expanded.
|
|
@@ -458,9 +464,9 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
458
464
|
* The template option which is used to render the customized work cells on the Schedule. Here, the template accepts either
|
|
459
465
|
* the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
|
|
460
466
|
* The fields accessible via template are as follows.
|
|
461
|
-
* * date
|
|
462
|
-
* * groupIndex
|
|
463
|
-
* * type
|
|
467
|
+
* * `date`: Returns the date of the cell.
|
|
468
|
+
* * `groupIndex`: Returns the group index of the cell.
|
|
469
|
+
* * `type`: Returns the type of the work cell.
|
|
464
470
|
*
|
|
465
471
|
* Refer to the below code snippet.
|
|
466
472
|
*
|
|
@@ -628,8 +634,8 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
628
634
|
* Template option to customize the resource header bar. Here, the template accepts either
|
|
629
635
|
* the string or HTMLElement as template design and then the parsed design is displayed onto the resource header cells.
|
|
630
636
|
* The following can be accessible via template.
|
|
631
|
-
* * resource - All the resource fields.
|
|
632
|
-
* * resourceData -
|
|
637
|
+
* * `resource` - All the resource fields.
|
|
638
|
+
* * `resourceData` - Object collection of current resource.
|
|
633
639
|
*
|
|
634
640
|
* Refer to the below code snippet.
|
|
635
641
|
*
|
|
@@ -660,7 +666,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
660
666
|
group: GroupModel;
|
|
661
667
|
/**
|
|
662
668
|
* Allows defining the collection of resources to be displayed on the Schedule. The resource collection needs to be defined
|
|
663
|
-
*
|
|
669
|
+
* with unique resource names to identify it along with the respective dataSource and field mapping options.
|
|
664
670
|
*
|
|
665
671
|
* {% codeBlock src='schedule/resources/index.md' %}{% endcodeBlock %}
|
|
666
672
|
*
|
|
@@ -669,7 +675,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
669
675
|
resources: ResourcesModel[];
|
|
670
676
|
/**
|
|
671
677
|
* Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
|
|
672
|
-
*
|
|
678
|
+
* on the timeline view of the scheduler.
|
|
673
679
|
*
|
|
674
680
|
* {% codeBlock src='schedule/headerRows/index.md' %}{% endcodeBlock %}
|
|
675
681
|
*
|
|
@@ -890,7 +896,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
890
896
|
/**
|
|
891
897
|
* Method to render react templates
|
|
892
898
|
*
|
|
893
|
-
* @param {Function}
|
|
899
|
+
* @param {Function} callback - Specifies the callBack method
|
|
894
900
|
* @returns {void}
|
|
895
901
|
* @private
|
|
896
902
|
*/
|
|
@@ -903,6 +909,14 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
903
909
|
* @private
|
|
904
910
|
*/
|
|
905
911
|
resetTemplates(templates?: string[]): void;
|
|
912
|
+
/**
|
|
913
|
+
* Method to sanitize any suspected untrusted strings and scripts before rendering them.
|
|
914
|
+
*
|
|
915
|
+
* @param {string} value - A string value representing the HTML string value to be sanitized.
|
|
916
|
+
* @returns {string} A sanitized Html string.
|
|
917
|
+
* @private
|
|
918
|
+
*/
|
|
919
|
+
sanitize(value: string): string;
|
|
906
920
|
private initializeResources;
|
|
907
921
|
/**
|
|
908
922
|
* Method to render the layout elements
|
|
@@ -1260,6 +1274,13 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
1260
1274
|
* @private
|
|
1261
1275
|
*/
|
|
1262
1276
|
templateParser(template: string): CallbackFunction;
|
|
1277
|
+
/**
|
|
1278
|
+
* Retrieves the selected cells.
|
|
1279
|
+
*
|
|
1280
|
+
* @returns {Element[]} The elements of currently selected cells will be returned.
|
|
1281
|
+
* @private
|
|
1282
|
+
*/
|
|
1283
|
+
getSelectedCells(): Element[];
|
|
1263
1284
|
/**
|
|
1264
1285
|
* Method to generate the announcement string
|
|
1265
1286
|
*
|
|
@@ -1488,6 +1509,15 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
1488
1509
|
* @returns {void}
|
|
1489
1510
|
*/
|
|
1490
1511
|
addEvent(data: Record<string, any> | Record<string, any>[]): void;
|
|
1512
|
+
/**
|
|
1513
|
+
* Generates the occurrences of a single recurrence event based on the provided event.
|
|
1514
|
+
*
|
|
1515
|
+
* @function generateEventOccurrences
|
|
1516
|
+
* @param {Object} event Accepts the parent recurrence event from which the occurrences are generated.
|
|
1517
|
+
* @param {Date} startDate Accepts the start date for the event occurrences. If not provided, the event's start date will be used.
|
|
1518
|
+
* @returns {Object[]} Returns the collection of occurrence event objects.
|
|
1519
|
+
*/
|
|
1520
|
+
generateEventOccurrences(event: Record<string, any>, startDate?: Date): Record<string, any>[];
|
|
1491
1521
|
/**
|
|
1492
1522
|
* Allows the Scheduler events data to be exported as an Excel file either in .xlsx or .csv file formats.
|
|
1493
1523
|
* By default, the whole event collection bound to the Scheduler gets exported as an Excel file.
|
|
@@ -21,7 +21,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
21
21
|
import { Component, Property, Event, Animation, Collection, append } from '@syncfusion/ej2-base';
|
|
22
22
|
import { EventHandler, Browser, Internationalization, getDefaultDateObject, cldrData, L10n } from '@syncfusion/ej2-base';
|
|
23
23
|
import { getValue, compile, extend, isNullOrUndefined, NotifyPropertyChanges, Complex } from '@syncfusion/ej2-base';
|
|
24
|
-
import { getElement, removeClass, addClass, classList, remove } from '@syncfusion/ej2-base';
|
|
24
|
+
import { getElement, removeClass, addClass, classList, remove, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
|
|
25
25
|
import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
|
|
26
26
|
import { HeaderRenderer } from '../renderer/header-renderer';
|
|
27
27
|
import { Scroll } from '../actions/scroll';
|
|
@@ -135,7 +135,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
135
135
|
/**
|
|
136
136
|
* Method to render react templates
|
|
137
137
|
*
|
|
138
|
-
* @param {Function}
|
|
138
|
+
* @param {Function} callback - Specifies the callBack method
|
|
139
139
|
* @returns {void}
|
|
140
140
|
* @private
|
|
141
141
|
*/
|
|
@@ -159,6 +159,19 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
159
159
|
this.clearTemplate(templates);
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
|
+
/**
|
|
163
|
+
* Method to sanitize any suspected untrusted strings and scripts before rendering them.
|
|
164
|
+
*
|
|
165
|
+
* @param {string} value - A string value representing the HTML string value to be sanitized.
|
|
166
|
+
* @returns {string} A sanitized Html string.
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
Schedule.prototype.sanitize = function (value) {
|
|
170
|
+
if (this.enableHtmlSanitizer) {
|
|
171
|
+
return SanitizeHtmlHelper.sanitize(value);
|
|
172
|
+
}
|
|
173
|
+
return value;
|
|
174
|
+
};
|
|
162
175
|
Schedule.prototype.initializeResources = function (isSetModel) {
|
|
163
176
|
if (isSetModel === void 0) { isSetModel = false; }
|
|
164
177
|
if (this.resources.length > 0) {
|
|
@@ -372,7 +385,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
372
385
|
followingID: this.eventSettings.fields.followingID
|
|
373
386
|
};
|
|
374
387
|
this.setEditorTitles();
|
|
375
|
-
this.dataModule = new Data(this.eventSettings.dataSource, this.eventSettings.query);
|
|
388
|
+
this.dataModule = new Data(this, this.eventSettings.dataSource, this.eventSettings.query);
|
|
376
389
|
this.crudModule = new Crud(this);
|
|
377
390
|
};
|
|
378
391
|
Schedule.prototype.setEditorTitles = function () {
|
|
@@ -789,13 +802,18 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
789
802
|
* @private
|
|
790
803
|
*/
|
|
791
804
|
Schedule.prototype.removeSelectedClass = function () {
|
|
792
|
-
var selectedCells = this.
|
|
805
|
+
var selectedCells = this.getSelectedCells();
|
|
793
806
|
for (var _i = 0, selectedCells_1 = selectedCells; _i < selectedCells_1.length; _i++) {
|
|
794
807
|
var cell = selectedCells_1[_i];
|
|
795
|
-
|
|
808
|
+
if (this.currentView !== 'Year') {
|
|
809
|
+
cell.setAttribute('aria-selected', 'false');
|
|
810
|
+
}
|
|
796
811
|
cell.removeAttribute('tabindex');
|
|
797
812
|
}
|
|
798
813
|
removeClass(selectedCells, cls.SELECTED_CELL_CLASS);
|
|
814
|
+
if (this.keyboardInteractionModule && this.keyboardInteractionModule.selectedCells.length > 0) {
|
|
815
|
+
this.keyboardInteractionModule.selectedCells = [];
|
|
816
|
+
}
|
|
799
817
|
};
|
|
800
818
|
/**
|
|
801
819
|
* Method to add selected class
|
|
@@ -807,9 +825,11 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
807
825
|
* @private
|
|
808
826
|
*/
|
|
809
827
|
Schedule.prototype.addSelectedClass = function (cells, focusCell, isPreventScroll) {
|
|
810
|
-
|
|
811
|
-
var
|
|
812
|
-
|
|
828
|
+
if (this.currentView !== 'Year') {
|
|
829
|
+
for (var _i = 0, cells_1 = cells; _i < cells_1.length; _i++) {
|
|
830
|
+
var cell = cells_1[_i];
|
|
831
|
+
cell.setAttribute('aria-selected', 'true');
|
|
832
|
+
}
|
|
813
833
|
}
|
|
814
834
|
addClass(cells, cls.SELECTED_CELL_CLASS);
|
|
815
835
|
if (focusCell) {
|
|
@@ -1175,6 +1195,15 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1175
1195
|
}
|
|
1176
1196
|
return undefined;
|
|
1177
1197
|
};
|
|
1198
|
+
/**
|
|
1199
|
+
* Retrieves the selected cells.
|
|
1200
|
+
*
|
|
1201
|
+
* @returns {Element[]} The elements of currently selected cells will be returned.
|
|
1202
|
+
* @private
|
|
1203
|
+
*/
|
|
1204
|
+
Schedule.prototype.getSelectedCells = function () {
|
|
1205
|
+
return [].slice.call(this.element.querySelectorAll('.' + cls.SELECTED_CELL_CLASS));
|
|
1206
|
+
};
|
|
1178
1207
|
/**
|
|
1179
1208
|
* Method to generate the announcement string
|
|
1180
1209
|
*
|
|
@@ -1633,6 +1662,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1633
1662
|
case 'dataSource':
|
|
1634
1663
|
case 'query':
|
|
1635
1664
|
case 'fields':
|
|
1665
|
+
case 'includeFiltersInQuery':
|
|
1636
1666
|
this.initializeDataModule();
|
|
1637
1667
|
state.isDataManager = true;
|
|
1638
1668
|
break;
|
|
@@ -1865,7 +1895,10 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1865
1895
|
* @returns {Element[]} The elements of currently selected cells will be returned.
|
|
1866
1896
|
*/
|
|
1867
1897
|
Schedule.prototype.getSelectedElements = function () {
|
|
1868
|
-
|
|
1898
|
+
if (this.keyboardInteractionModule && this.keyboardInteractionModule.selectedCells.length > 0) {
|
|
1899
|
+
return this.keyboardInteractionModule.selectedCells;
|
|
1900
|
+
}
|
|
1901
|
+
return this.getSelectedCells();
|
|
1869
1902
|
};
|
|
1870
1903
|
/**
|
|
1871
1904
|
* To get the resource collection
|
|
@@ -2032,6 +2065,17 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2032
2065
|
Schedule.prototype.addEvent = function (data) {
|
|
2033
2066
|
this.crudModule.addEvent(data);
|
|
2034
2067
|
};
|
|
2068
|
+
/**
|
|
2069
|
+
* Generates the occurrences of a single recurrence event based on the provided event.
|
|
2070
|
+
*
|
|
2071
|
+
* @function generateEventOccurrences
|
|
2072
|
+
* @param {Object} event Accepts the parent recurrence event from which the occurrences are generated.
|
|
2073
|
+
* @param {Date} startDate Accepts the start date for the event occurrences. If not provided, the event's start date will be used.
|
|
2074
|
+
* @returns {Object[]} Returns the collection of occurrence event objects.
|
|
2075
|
+
*/
|
|
2076
|
+
Schedule.prototype.generateEventOccurrences = function (event, startDate) {
|
|
2077
|
+
return (this.eventBase) ? this.eventBase.generateOccurrence(event, startDate) : [];
|
|
2078
|
+
};
|
|
2035
2079
|
/**
|
|
2036
2080
|
* Allows the Scheduler events data to be exported as an Excel file either in .xlsx or .csv file formats.
|
|
2037
2081
|
* By default, the whole event collection bound to the Scheduler gets exported as an Excel file.
|
|
@@ -2707,6 +2751,9 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2707
2751
|
__decorate([
|
|
2708
2752
|
Property(null)
|
|
2709
2753
|
], Schedule.prototype, "timeFormat", void 0);
|
|
2754
|
+
__decorate([
|
|
2755
|
+
Property(true)
|
|
2756
|
+
], Schedule.prototype, "enableHtmlSanitizer", void 0);
|
|
2710
2757
|
__decorate([
|
|
2711
2758
|
Property(false)
|
|
2712
2759
|
], Schedule.prototype, "enableAllDayScroll", void 0);
|
|
@@ -3,10 +3,35 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* An enum that denotes the view mode of the Scheduler.
|
|
6
|
+
* ```props
|
|
7
|
+
* Day :- Denotes Day view of the scheduler.
|
|
8
|
+
* Week :- Denotes Week view of the scheduler.
|
|
9
|
+
* WorkWeek :- Denotes Work Week view of the scheduler.
|
|
10
|
+
* Month :- Denotes Month view of the scheduler.
|
|
11
|
+
* Year :- Denotes Year view of the scheduler.
|
|
12
|
+
* Agenda :- Denotes Agenda view of the scheduler.
|
|
13
|
+
* MonthAgenda :- Denotes Month Agenda view of the scheduler.
|
|
14
|
+
* TimelineDay :- Denotes Timeline Day view of the scheduler.
|
|
15
|
+
* TimelineWeek :- Denotes Timeline Week view of the scheduler.
|
|
16
|
+
* TimelineWorkWeek :- Denotes Timeline Work Week view of the scheduler.
|
|
17
|
+
* TimelineMonth :- Denotes Timeline Month view of the scheduler.
|
|
18
|
+
* TimelineYear :- Denotes Timeline Year view of the scheduler.
|
|
19
|
+
* ```
|
|
6
20
|
*/
|
|
7
21
|
export declare type View = 'Day' | 'Week' | 'WorkWeek' | 'Month' | 'Year' | 'Agenda' | 'MonthAgenda' | 'TimelineDay' | 'TimelineWeek' | 'TimelineWorkWeek' | 'TimelineMonth' | 'TimelineYear';
|
|
8
22
|
/**
|
|
9
23
|
* An enum that holds the actions available in scheduler.
|
|
24
|
+
* ```props
|
|
25
|
+
* Add :- Denotes the current action of the scheduler is appointment creation.
|
|
26
|
+
* Save :- Denotes the current action of the scheduler is editing the appointment.
|
|
27
|
+
* Delete :- Denotes the current action is deleting the appointment.
|
|
28
|
+
* DeleteOccurrence :- Denotes the current action is deleting single occurrence of a recurrence.
|
|
29
|
+
* DeleteSeries :- Denotes the current action is deleting the entire series of recurrence appointment.
|
|
30
|
+
* EditOccurrence :- Denotes the current action is editing single occurrence of a recurrence.
|
|
31
|
+
* EditSeries :- Denotes the current action is editing the entire series of recurrence appointment.
|
|
32
|
+
* EditFollowingEvents :- Denotes the current action is editing the following appointments in a recurrence.
|
|
33
|
+
* DeleteFollowingEvents :- Denotes the current action is deleting the following appointments in a recurrence.
|
|
34
|
+
* ```
|
|
10
35
|
*/
|
|
11
36
|
export declare type CurrentAction = 'Add' | 'Save' | 'Delete' | 'DeleteOccurrence' | 'DeleteSeries' | 'EditOccurrence' | 'EditSeries' | 'EditFollowingEvents' | 'DeleteFollowingEvents';
|
|
12
37
|
/**
|
|
@@ -18,30 +43,70 @@ export declare type ReturnType = {
|
|
|
18
43
|
aggregates?: Record<string, any>;
|
|
19
44
|
};
|
|
20
45
|
/**
|
|
21
|
-
* An enum that holds the available popup types in the scheduler.
|
|
46
|
+
* An enum that holds the available popup types in the scheduler. They are
|
|
47
|
+
* ```props
|
|
48
|
+
* DeleteAlert :- Denotes the popup showing delete confirmation message.
|
|
49
|
+
* EditEventInfo :- Denotes the quick popup on the events in responsive mode.
|
|
50
|
+
* Editor :- Denotes the detailed editor window.
|
|
51
|
+
* EventContainer :- Denotes the more indicator popup.
|
|
52
|
+
* QuickInfo :- Denotes the quick popup.
|
|
53
|
+
* RecurrenceAlert :- Denotes the popup showing recurrence alerts.
|
|
54
|
+
* RecurrenceValidationAlert :- Denotes the popup showing recurrence validation alerts.
|
|
55
|
+
* ValidationAlert :- Denotes the popup showing validation alerts.
|
|
56
|
+
* ViewEventInfo :- Denotes the quick popup on the cells in responsive mode.
|
|
57
|
+
* ```
|
|
22
58
|
*/
|
|
23
59
|
export declare type PopupType = 'Editor' | 'EventContainer' | 'QuickInfo' | 'RecurrenceAlert' | 'DeleteAlert' | 'ViewEventInfo' | 'EditEventInfo' | 'ValidationAlert' | 'RecurrenceValidationAlert';
|
|
24
60
|
/**
|
|
25
61
|
* An enum that holds the header row type in the timeline scheduler.
|
|
62
|
+
* ```props
|
|
63
|
+
* Year :- Denotes the year row in the header bar.
|
|
64
|
+
* Month :- Denotes the month row in the header bar.
|
|
65
|
+
* Week :- Denotes the week row in the header bar.
|
|
66
|
+
* Date :- Denotes the date row in the header bar.
|
|
67
|
+
* Hour :- Denotes the hour row in the header bar.
|
|
68
|
+
* ```
|
|
26
69
|
*/
|
|
27
70
|
export declare type HeaderRowType = 'Year' | 'Month' | 'Week' | 'Date' | 'Hour';
|
|
28
71
|
/**
|
|
29
72
|
* An enum that holds the orientation modes of the scheduler.
|
|
73
|
+
* ```props
|
|
74
|
+
* Vertical :- Denotes the vertical orientation of Timeline Year view.
|
|
75
|
+
* Horizontal :- Denotes the horizontal orientation of Timeline Year view.
|
|
76
|
+
* ```
|
|
30
77
|
*/
|
|
31
78
|
export declare type Orientation = 'Vertical' | 'Horizontal';
|
|
32
79
|
/**
|
|
33
80
|
* An enum that holds the supported excel file formats.
|
|
81
|
+
* ```props
|
|
82
|
+
* csv :- Denotes the excel file format is csv.
|
|
83
|
+
* xlsx :- Denotes the excel file format is xlsx.
|
|
84
|
+
* ```
|
|
34
85
|
*/
|
|
35
86
|
export declare type ExcelFormat = 'csv' | 'xlsx';
|
|
36
87
|
/**
|
|
37
88
|
* An enum that holds the type where the quick info template applies.
|
|
89
|
+
* ```props
|
|
90
|
+
* Both :- Denotes the template applies both to the event and cell.
|
|
91
|
+
* Cell :- Denotes the template applies only to the cell.
|
|
92
|
+
* Event :- Denotes the template applies to the event alone.
|
|
93
|
+
* ```
|
|
38
94
|
*/
|
|
39
95
|
export declare type TemplateType = 'Both' | 'Cell' | 'Event';
|
|
40
96
|
/**
|
|
41
97
|
* An enum that holds the different type of week number options in the scheduler.
|
|
98
|
+
* ```props
|
|
99
|
+
* FirstDay :- Denotes that the first week of the year starts on the first day of the year and ends before the following designated first day of the week.
|
|
100
|
+
* FirstFourDayWeek :- Denotes that the first week of the year is the first week with four or more days before the designated first day of the week.
|
|
101
|
+
* FirstFullWeek :- Denotes that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year.
|
|
102
|
+
* ```
|
|
42
103
|
*/
|
|
43
104
|
export declare type WeekRule = 'FirstDay' | 'FirstFourDayWeek' | 'FirstFullWeek';
|
|
44
105
|
/**
|
|
45
106
|
* An enum that holds the options to render the spanned events in all day row or time slot.
|
|
107
|
+
* ```props
|
|
108
|
+
* AllDayRow :- Denotes the rendering of spanned events in an all-day row.
|
|
109
|
+
* TimeSlot :- Denotes the rendering of spanned events in an time slot row.
|
|
110
|
+
* ```
|
|
46
111
|
*/
|
|
47
112
|
export declare type SpannedEventPlacement = 'AllDayRow' | 'TimeSlot';
|
|
@@ -110,9 +110,13 @@ var AgendaBase = /** @class */ (function (_super) {
|
|
|
110
110
|
if (!isNullOrUndefined(eventLocation) && eventLocation !== '') {
|
|
111
111
|
eventSubject += ',';
|
|
112
112
|
}
|
|
113
|
-
|
|
113
|
+
var appSubjectText = createElement('div', { className: cls.SUBJECT_CLASS });
|
|
114
|
+
appSubjectText.innerText = this.parent.sanitize(eventSubject);
|
|
115
|
+
appSubjectWrap.appendChild(appSubjectText);
|
|
114
116
|
if (!isNullOrUndefined(eventLocation) && eventLocation !== '') {
|
|
115
|
-
|
|
117
|
+
var appLocation = createElement('div', { className: cls.LOCATION_CLASS });
|
|
118
|
+
appLocation.innerText = this.parent.sanitize(eventLocation);
|
|
119
|
+
appSubjectWrap.appendChild(appLocation);
|
|
116
120
|
}
|
|
117
121
|
if (!isNullOrUndefined(event[fieldMapping.recurrenceRule])) {
|
|
118
122
|
var iconClass = (event[fieldMapping.id] === event[fieldMapping.recurrenceID]) ?
|
|
@@ -87,6 +87,7 @@ export declare class EventBase {
|
|
|
87
87
|
updateEventMinimumDuration(startEndHours: Record<string, Date>, startTime: Date, endTime: Date): Record<string, Date>;
|
|
88
88
|
createEventWrapper(type?: string, index?: number): HTMLElement;
|
|
89
89
|
getPageCoordinates(e: MouseEvent & TouchEvent): (MouseEvent & TouchEvent) | Touch;
|
|
90
|
+
renderSpannedIcon(element: HTMLElement, spanEvent: Record<string, any>): void;
|
|
90
91
|
private unWireEvents;
|
|
91
92
|
destroy(): void;
|
|
92
93
|
}
|
|
@@ -236,12 +236,7 @@ var EventBase = /** @class */ (function () {
|
|
|
236
236
|
};
|
|
237
237
|
EventBase.prototype.filterEvents = function (startDate, endDate, appointments, resourceTdData) {
|
|
238
238
|
if (appointments === void 0) { appointments = this.parent.eventsProcessed; }
|
|
239
|
-
var
|
|
240
|
-
var predicate = new Predicate(fieldMapping.startTime, 'greaterthanorequal', startDate).
|
|
241
|
-
and(new Predicate(fieldMapping.endTime, 'greaterthanorequal', startDate)).
|
|
242
|
-
and(new Predicate(fieldMapping.startTime, 'lessthan', endDate)).
|
|
243
|
-
or(new Predicate(fieldMapping.startTime, 'lessthanorequal', startDate).
|
|
244
|
-
and(new Predicate(fieldMapping.endTime, 'greaterthan', startDate)));
|
|
239
|
+
var predicate = this.parent.dataModule.getStartEndQuery(startDate, endDate);
|
|
245
240
|
var filter = new DataManager({ json: appointments }).executeLocal(new Query().where(predicate));
|
|
246
241
|
if (resourceTdData) {
|
|
247
242
|
filter = this.filterEventsByResource(resourceTdData, filter);
|
|
@@ -558,7 +553,7 @@ var EventBase = /** @class */ (function () {
|
|
|
558
553
|
return;
|
|
559
554
|
}
|
|
560
555
|
var activeEle = document.activeElement;
|
|
561
|
-
var selectedCell = this.parent.
|
|
556
|
+
var selectedCell = this.parent.getSelectedCells();
|
|
562
557
|
if (selectedCell.length > 0 && ((activeEle && (this.parent.element.contains(activeEle) ||
|
|
563
558
|
selectedCell.indexOf(activeEle) !== -1)) || isFocused)) {
|
|
564
559
|
if (this.parent.keyboardInteractionModule) {
|
|
@@ -1118,9 +1113,8 @@ var EventBase = /** @class */ (function () {
|
|
|
1118
1113
|
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
|
|
1119
1114
|
}
|
|
1120
1115
|
else {
|
|
1121
|
-
var appointmentSubject = createElement('div', {
|
|
1122
|
-
|
|
1123
|
-
});
|
|
1116
|
+
var appointmentSubject = createElement('div', { className: cls.SUBJECT_CLASS });
|
|
1117
|
+
appointmentSubject.innerText = this.parent.sanitize(eventSubject);
|
|
1124
1118
|
templateElement = [appointmentSubject];
|
|
1125
1119
|
}
|
|
1126
1120
|
append(templateElement, appointmentWrapper);
|
|
@@ -1303,6 +1297,29 @@ var EventBase = /** @class */ (function () {
|
|
|
1303
1297
|
return eventArgs && eventArgs.changedTouches ? eventArgs.changedTouches[0] : e.changedTouches ? e.changedTouches[0] :
|
|
1304
1298
|
eventArgs || e;
|
|
1305
1299
|
};
|
|
1300
|
+
EventBase.prototype.renderSpannedIcon = function (element, spanEvent) {
|
|
1301
|
+
var iconElement = createElement('div', { className: cls.EVENT_INDICATOR_CLASS + ' ' + cls.ICON });
|
|
1302
|
+
if (spanEvent.isLeft) {
|
|
1303
|
+
var iconLeft = iconElement.cloneNode();
|
|
1304
|
+
addClass([iconLeft], cls.EVENT_ICON_LEFT_CLASS);
|
|
1305
|
+
prepend([iconLeft], element);
|
|
1306
|
+
}
|
|
1307
|
+
if (spanEvent.isRight) {
|
|
1308
|
+
var iconRight = iconElement.cloneNode();
|
|
1309
|
+
addClass([iconRight], cls.EVENT_ICON_RIGHT_CLASS);
|
|
1310
|
+
append([iconRight], element);
|
|
1311
|
+
}
|
|
1312
|
+
if (spanEvent.isTop) {
|
|
1313
|
+
var iconTop = iconElement.cloneNode();
|
|
1314
|
+
addClass([iconTop], cls.EVENT_ICON_UP_CLASS);
|
|
1315
|
+
prepend([iconTop], element);
|
|
1316
|
+
}
|
|
1317
|
+
if (spanEvent.isBottom) {
|
|
1318
|
+
var iconBottom = iconElement.cloneNode();
|
|
1319
|
+
addClass([iconBottom], cls.EVENT_ICON_DOWN_CLASS);
|
|
1320
|
+
append([iconBottom], element);
|
|
1321
|
+
}
|
|
1322
|
+
};
|
|
1306
1323
|
EventBase.prototype.unWireEvents = function () {
|
|
1307
1324
|
var appElements = [].slice.call(this.parent.element.querySelectorAll('.' + cls.APPOINTMENT_CLASS));
|
|
1308
1325
|
for (var _i = 0, appElements_1 = appElements; _i < appElements_1.length; _i++) {
|