UNPKG

devextreme-angular

Version:

DevExtreme UI and Visualization Components for Angular

1,246 lines (1,183 loc) 55.8 kB
import * as i0 from '@angular/core'; import { PLATFORM_ID, Output, Input, ContentChildren, Inject, Component, NgModule } from '@angular/core'; import DxScheduler from 'devextreme/ui/scheduler'; import * as i1 from 'devextreme-angular/core'; import { DxComponent, DxIntegrationModule, DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper, DxTemplateModule } from 'devextreme-angular/core'; import { DxoAppointmentDraggingModule, DxoEditingModule, DxiResourceModule, DxoScrollingModule, DxiViewModule } from 'devextreme-angular/ui/nested'; import { DxoSchedulerAIOptionsModule, DxoSchedulerAppointmentDraggingModule, DxiSchedulerAsyncRuleModule, DxiSchedulerButtonItemModule, DxoSchedulerButtonOptionsModule, DxoSchedulerColCountByScreenModule, DxiSchedulerCompareRuleModule, DxiSchedulerCustomRuleModule, DxoSchedulerEditingModule, DxiSchedulerEmailRuleModule, DxiSchedulerEmptyItemModule, DxoSchedulerFormModule, DxiSchedulerGroupItemModule, DxiSchedulerItemModule, DxoSchedulerLabelModule, DxiSchedulerNumericRuleModule, DxoSchedulerOptionsModule, DxiSchedulerOptionsItemModule, DxiSchedulerPatternRuleModule, DxiSchedulerRangeRuleModule, DxiSchedulerRequiredRuleModule, DxiSchedulerResourceModule, DxoSchedulerScrollingModule, DxiSchedulerSimpleItemModule, DxiSchedulerStringLengthRuleModule, DxiSchedulerTabModule, DxiSchedulerTabbedItemModule, DxoSchedulerTabPanelOptionsModule, DxiSchedulerTabPanelOptionsItemModule, DxoSchedulerToolbarModule, DxiSchedulerToolbarItemModule, DxiSchedulerValidationRuleModule, DxiSchedulerViewModule } from 'devextreme-angular/ui/scheduler/nested'; export * from 'devextreme-angular/ui/scheduler/nested'; import { PROPERTY_TOKEN_validationRules, PROPERTY_TOKEN_items, PROPERTY_TOKEN_resources, PROPERTY_TOKEN_tabs, PROPERTY_TOKEN_views } from 'devextreme-angular/core/tokens'; /*! * devextreme-angular * Version: 26.1.3 * Build date: Wed Jun 10 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/DevExtreme */ /* tslint:disable:max-line-length */ /** * The Scheduler is a UI component that represents scheduled data and allows a user to manage and edit it. */ class DxSchedulerComponent extends DxComponent { set _validationRulesContentChildren(value) { this.setChildren('validationRules', value); } set _itemsContentChildren(value) { this.setChildren('items', value); } set _resourcesContentChildren(value) { this.setChildren('resources', value); } set _tabsContentChildren(value) { this.setChildren('tabs', value); } set _viewsContentChildren(value) { this.setChildren('views', value); } /** * Specifies the shortcut key that sets focus on the UI component. */ get accessKey() { return this._getOption('accessKey'); } set accessKey(value) { this._setOption('accessKey', value); } /** * Specifies whether the UI component adapts to small screens. */ get adaptivityEnabled() { return this._getOption('adaptivityEnabled'); } set adaptivityEnabled(value) { this._setOption('adaptivityEnabled', value); } /** * Specifies the name of the data source item field whose value defines whether or not the corresponding appointment is an all-day appointment. */ get allDayExpr() { return this._getOption('allDayExpr'); } set allDayExpr(value) { this._setOption('allDayExpr', value); } /** * Specifies the display mode for the All day panel. */ get allDayPanelMode() { return this._getOption('allDayPanelMode'); } set allDayPanelMode(value) { this._setOption('allDayPanelMode', value); } /** * Specifies a custom template for cell overflow indicators. */ get appointmentCollectorTemplate() { return this._getOption('appointmentCollectorTemplate'); } set appointmentCollectorTemplate(value) { this._setOption('appointmentCollectorTemplate', value); } /** * Configures appointment reordering using drag and drop gestures. */ get appointmentDragging() { return this._getOption('appointmentDragging'); } set appointmentDragging(value) { this._setOption('appointmentDragging', value); } /** * Specifies a custom template for appointments. */ get appointmentTemplate() { return this._getOption('appointmentTemplate'); } set appointmentTemplate(value) { this._setOption('appointmentTemplate', value); } /** * Specifies a custom template for tooltips displayed when users click an appointment or cell overflow indicator. */ get appointmentTooltipTemplate() { return this._getOption('appointmentTooltipTemplate'); } set appointmentTooltipTemplate(value) { this._setOption('appointmentTooltipTemplate', value); } /** * Specifies cell duration in minutes. This property's value should divide the interval between startDayHour and endDayHour into even parts. */ get cellDuration() { return this._getOption('cellDuration'); } set cellDuration(value) { this._setOption('cellDuration', value); } /** * Specifies whether or not an end user can scroll the view in both directions at the same time. */ get crossScrollingEnabled() { return this._getOption('crossScrollingEnabled'); } set crossScrollingEnabled(value) { this._setOption('crossScrollingEnabled', value); } /** * Specifies the current date. */ get currentDate() { return this._getOption('currentDate'); } set currentDate(value) { this._setOption('currentDate', value); } /** * Specifies the displayed view. Accepts name or type of a view available in the views array. */ get currentView() { return this._getOption('currentView'); } set currentView(value) { this._setOption('currentView', value); } /** * Customizes the date navigator's text. */ get customizeDateNavigatorText() { return this._getOption('customizeDateNavigatorText'); } set customizeDateNavigatorText(value) { this._setOption('customizeDateNavigatorText', value); } /** * Specifies a custom template for table cells. */ get dataCellTemplate() { return this._getOption('dataCellTemplate'); } set dataCellTemplate(value) { this._setOption('dataCellTemplate', value); } /** * Binds the UI component to data. */ get dataSource() { return this._getOption('dataSource'); } set dataSource(value) { this._setOption('dataSource', value); } /** * Specifies custom markup for date scale cells in all views. */ get dateCellTemplate() { return this._getOption('dateCellTemplate'); } set dateCellTemplate(value) { this._setOption('dateCellTemplate', value); } /** * Specifies the format in which date-time values should be sent to the server. */ get dateSerializationFormat() { return this._getOption('dateSerializationFormat'); } set dateSerializationFormat(value) { this._setOption('dateSerializationFormat', value); } /** * Specifies the name of the data source item field whose value holds the description of the corresponding appointment. */ get descriptionExpr() { return this._getOption('descriptionExpr'); } set descriptionExpr(value) { this._setOption('descriptionExpr', value); } /** * Specifies whether the UI component responds to user interaction. */ get disabled() { return this._getOption('disabled'); } set disabled(value) { this._setOption('disabled', value); } /** * Configures appointment editing options, such as available operations. */ get editing() { return this._getOption('editing'); } set editing(value) { this._setOption('editing', value); } /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr() { return this._getOption('elementAttr'); } set elementAttr(value) { this._setOption('elementAttr', value); } /** * Specifies the name of the data source item field that defines the ending of an appointment. */ get endDateExpr() { return this._getOption('endDateExpr'); } set endDateExpr(value) { this._setOption('endDateExpr', value); } /** * Specifies the name of the data source item field that defines the timezone of the appointment end date. */ get endDateTimeZoneExpr() { return this._getOption('endDateTimeZoneExpr'); } set endDateTimeZoneExpr(value) { this._setOption('endDateTimeZoneExpr', value); } /** * Specifies the last hour on the time scale. Accepts integer values from 0 to 24. */ get endDayHour() { return this._getOption('endDayHour'); } set endDayHour(value) { this._setOption('endDayHour', value); } /** * Specifies the first day of a week. Does not apply to the agenda view. */ get firstDayOfWeek() { return this._getOption('firstDayOfWeek'); } set firstDayOfWeek(value) { this._setOption('firstDayOfWeek', value); } /** * Specifies whether the UI component can be focused using keyboard navigation. */ get focusStateEnabled() { return this._getOption('focusStateEnabled'); } set focusStateEnabled(value) { this._setOption('focusStateEnabled', value); } /** * If true, appointments are grouped by date first and then by resource; opposite if false. Applies only if appointments are grouped and groupOrientation is 'horizontal'. */ get groupByDate() { return this._getOption('groupByDate'); } set groupByDate(value) { this._setOption('groupByDate', value); } /** * Specifies the resource kinds by which the scheduler's appointments are grouped in a timetable. */ get groups() { return this._getOption('groups'); } set groups(value) { this._setOption('groups', value); } /** * Specifies the UI component's height. */ get height() { return this._getOption('height'); } set height(value) { this._setOption('height', value); } get hiddenWeekDays() { return this._getOption('hiddenWeekDays'); } set hiddenWeekDays(value) { this._setOption('hiddenWeekDays', value); } /** * Specifies text for a hint that appears when a user pauses on the UI component. */ get hint() { return this._getOption('hint'); } set hint(value) { this._setOption('hint', value); } /** * Specifies the time interval between when the date-time indicator changes its position, in milliseconds. */ get indicatorUpdateInterval() { return this._getOption('indicatorUpdateInterval'); } set indicatorUpdateInterval(value) { this._setOption('indicatorUpdateInterval', value); } /** * The latest date the UI component allows you to select. */ get max() { return this._getOption('max'); } set max(value) { this._setOption('max', value); } /** * Specifies the limit of full-sized appointments displayed per cell. Applies to all views except 'agenda'. */ get maxAppointmentsPerCell() { return this._getOption('maxAppointmentsPerCell'); } set maxAppointmentsPerCell(value) { this._setOption('maxAppointmentsPerCell', value); } /** * The earliest date the UI component allows you to select. */ get min() { return this._getOption('min'); } set min(value) { this._setOption('min', value); } /** * Specifies the text or HTML markup displayed by the UI component if the item collection is empty. Available for the Agenda view only. */ get noDataText() { return this._getOption('noDataText'); } set noDataText(value) { this._setOption('noDataText', value); } /** * Specifies the minute offset applied to configured day durations in all views. */ get offset() { return this._getOption('offset'); } set offset(value) { this._setOption('offset', value); } /** * Specifies the edit mode for recurring appointments. */ get recurrenceEditMode() { return this._getOption('recurrenceEditMode'); } set recurrenceEditMode(value) { this._setOption('recurrenceEditMode', value); } /** * Specifies the name of the data source item field that defines exceptions for the current recurring appointment. */ get recurrenceExceptionExpr() { return this._getOption('recurrenceExceptionExpr'); } set recurrenceExceptionExpr(value) { this._setOption('recurrenceExceptionExpr', value); } /** * Specifies the name of the data source item field that defines a recurrence rule for generating recurring appointments. */ get recurrenceRuleExpr() { return this._getOption('recurrenceRuleExpr'); } set recurrenceRuleExpr(value) { this._setOption('recurrenceRuleExpr', value); } /** * Specifies whether filtering is performed on the server or client side. */ get remoteFiltering() { return this._getOption('remoteFiltering'); } set remoteFiltering(value) { this._setOption('remoteFiltering', value); } /** * Specifies a custom template for resource headers. */ get resourceCellTemplate() { return this._getOption('resourceCellTemplate'); } set resourceCellTemplate(value) { this._setOption('resourceCellTemplate', value); } /** * Specifies an array of resources available in the scheduler. */ get resources() { return this._getOption('resources'); } set resources(value) { this._setOption('resources', value); } /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled() { return this._getOption('rtlEnabled'); } set rtlEnabled(value) { this._setOption('rtlEnabled', value); } /** * Configures scrolling. */ get scrolling() { return this._getOption('scrolling'); } set scrolling(value) { this._setOption('scrolling', value); } /** * The data of the currently selected cells. */ get selectedCellData() { return this._getOption('selectedCellData'); } set selectedCellData(value) { this._setOption('selectedCellData', value); } /** * Specifies whether to apply shading to cover the timetable up to the current time. */ get shadeUntilCurrentTime() { return this._getOption('shadeUntilCurrentTime'); } set shadeUntilCurrentTime(value) { this._setOption('shadeUntilCurrentTime', value); } /** * Specifies the 'All-day' panel's visibility. Setting this property to false hides the panel along with the all-day appointments. */ get showAllDayPanel() { return this._getOption('showAllDayPanel'); } set showAllDayPanel(value) { this._setOption('showAllDayPanel', value); } /** * Specifies the current date-time indicator's visibility. */ get showCurrentTimeIndicator() { return this._getOption('showCurrentTimeIndicator'); } set showCurrentTimeIndicator(value) { this._setOption('showCurrentTimeIndicator', value); } get snapToCellsMode() { return this._getOption('snapToCellsMode'); } set snapToCellsMode(value) { this._setOption('snapToCellsMode', value); } /** * Specifies the name of the data source item field that defines the start of an appointment. */ get startDateExpr() { return this._getOption('startDateExpr'); } set startDateExpr(value) { this._setOption('startDateExpr', value); } /** * Specifies the name of the data source item field that defines the timezone of the appointment start date. */ get startDateTimeZoneExpr() { return this._getOption('startDateTimeZoneExpr'); } set startDateTimeZoneExpr(value) { this._setOption('startDateTimeZoneExpr', value); } /** * Specifies the first hour on the time scale. Accepts integer values from 0 to 24. */ get startDayHour() { return this._getOption('startDayHour'); } set startDayHour(value) { this._setOption('startDayHour', value); } /** * Specifies the number of the element when the Tab key is used for navigating. */ get tabIndex() { return this._getOption('tabIndex'); } set tabIndex(value) { this._setOption('tabIndex', value); } /** * Specifies the name of the data source item field that holds the subject of an appointment. */ get textExpr() { return this._getOption('textExpr'); } set textExpr(value) { this._setOption('textExpr', value); } /** * Specifies custom markup for time scale cells in all views. */ get timeCellTemplate() { return this._getOption('timeCellTemplate'); } set timeCellTemplate(value) { this._setOption('timeCellTemplate', value); } /** * Specifies the time zone for the Scheduler's grid. Accepts values from the IANA time zone database. */ get timeZone() { return this._getOption('timeZone'); } set timeZone(value) { this._setOption('timeZone', value); } /** * Configures the toolbar. */ get toolbar() { return this._getOption('toolbar'); } set toolbar(value) { this._setOption('toolbar', value); } /** * Specifies whether a user can switch views using tabs or a drop-down menu. */ get useDropDownViewSwitcher() { return this._getOption('useDropDownViewSwitcher'); } set useDropDownViewSwitcher(value) { this._setOption('useDropDownViewSwitcher', value); } /** * Specifies and configures the views to be available in the view switcher. */ get views() { return this._getOption('views'); } set views(value) { this._setOption('views', value); } /** * Specifies whether the UI component is visible. */ get visible() { return this._getOption('visible'); } set visible(value) { this._setOption('visible', value); } /** * Specifies the UI component's width. */ get width() { return this._getOption('width'); } set width(value) { this._setOption('width', value); } constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) { super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId); this._watcherHelper = _watcherHelper; this._idh = _idh; this.instance = null; this._createEventEmitters([ { subscribe: 'appointmentAdded', emit: 'onAppointmentAdded' }, { subscribe: 'appointmentAdding', emit: 'onAppointmentAdding' }, { subscribe: 'appointmentClick', emit: 'onAppointmentClick' }, { subscribe: 'appointmentContextMenu', emit: 'onAppointmentContextMenu' }, { subscribe: 'appointmentDblClick', emit: 'onAppointmentDblClick' }, { subscribe: 'appointmentDeleted', emit: 'onAppointmentDeleted' }, { subscribe: 'appointmentDeleting', emit: 'onAppointmentDeleting' }, { subscribe: 'appointmentFormOpening', emit: 'onAppointmentFormOpening' }, { subscribe: 'appointmentRendered', emit: 'onAppointmentRendered' }, { subscribe: 'appointmentTooltipShowing', emit: 'onAppointmentTooltipShowing' }, { subscribe: 'appointmentUpdated', emit: 'onAppointmentUpdated' }, { subscribe: 'appointmentUpdating', emit: 'onAppointmentUpdating' }, { subscribe: 'cellClick', emit: 'onCellClick' }, { subscribe: 'cellContextMenu', emit: 'onCellContextMenu' }, { subscribe: 'contentReady', emit: 'onContentReady' }, { subscribe: 'disposing', emit: 'onDisposing' }, { subscribe: 'initialized', emit: 'onInitialized' }, { subscribe: 'optionChanged', emit: 'onOptionChanged' }, { subscribe: 'selectionEnd', emit: 'onSelectionEnd' }, { emit: 'accessKeyChange' }, { emit: 'adaptivityEnabledChange' }, { emit: 'allDayExprChange' }, { emit: 'allDayPanelModeChange' }, { emit: 'appointmentCollectorTemplateChange' }, { emit: 'appointmentDraggingChange' }, { emit: 'appointmentTemplateChange' }, { emit: 'appointmentTooltipTemplateChange' }, { emit: 'cellDurationChange' }, { emit: 'crossScrollingEnabledChange' }, { emit: 'currentDateChange' }, { emit: 'currentViewChange' }, { emit: 'customizeDateNavigatorTextChange' }, { emit: 'dataCellTemplateChange' }, { emit: 'dataSourceChange' }, { emit: 'dateCellTemplateChange' }, { emit: 'dateSerializationFormatChange' }, { emit: 'descriptionExprChange' }, { emit: 'disabledChange' }, { emit: 'editingChange' }, { emit: 'elementAttrChange' }, { emit: 'endDateExprChange' }, { emit: 'endDateTimeZoneExprChange' }, { emit: 'endDayHourChange' }, { emit: 'firstDayOfWeekChange' }, { emit: 'focusStateEnabledChange' }, { emit: 'groupByDateChange' }, { emit: 'groupsChange' }, { emit: 'heightChange' }, { emit: 'hiddenWeekDaysChange' }, { emit: 'hintChange' }, { emit: 'indicatorUpdateIntervalChange' }, { emit: 'maxChange' }, { emit: 'maxAppointmentsPerCellChange' }, { emit: 'minChange' }, { emit: 'noDataTextChange' }, { emit: 'offsetChange' }, { emit: 'recurrenceEditModeChange' }, { emit: 'recurrenceExceptionExprChange' }, { emit: 'recurrenceRuleExprChange' }, { emit: 'remoteFilteringChange' }, { emit: 'resourceCellTemplateChange' }, { emit: 'resourcesChange' }, { emit: 'rtlEnabledChange' }, { emit: 'scrollingChange' }, { emit: 'selectedCellDataChange' }, { emit: 'shadeUntilCurrentTimeChange' }, { emit: 'showAllDayPanelChange' }, { emit: 'showCurrentTimeIndicatorChange' }, { emit: 'snapToCellsModeChange' }, { emit: 'startDateExprChange' }, { emit: 'startDateTimeZoneExprChange' }, { emit: 'startDayHourChange' }, { emit: 'tabIndexChange' }, { emit: 'textExprChange' }, { emit: 'timeCellTemplateChange' }, { emit: 'timeZoneChange' }, { emit: 'toolbarChange' }, { emit: 'useDropDownViewSwitcherChange' }, { emit: 'viewsChange' }, { emit: 'visibleChange' }, { emit: 'widthChange' } ]); this._idh.setHost(this); optionHost.setHost(this); } _createInstance(element, options) { return new DxScheduler(element, options); } ngOnDestroy() { this._destroyWidget(); } ngOnChanges(changes) { super.ngOnChanges(changes); this.setupChanges('dataSource', changes); this.setupChanges('groups', changes); this.setupChanges('hiddenWeekDays', changes); this.setupChanges('resources', changes); this.setupChanges('selectedCellData', changes); this.setupChanges('views', changes); } setupChanges(prop, changes) { if (!(prop in this._optionsToUpdate)) { this._idh.setup(prop, changes); } } ngDoCheck() { this._idh.doCheck('dataSource'); this._idh.doCheck('groups'); this._idh.doCheck('hiddenWeekDays'); this._idh.doCheck('resources'); this._idh.doCheck('selectedCellData'); this._idh.doCheck('views'); this._watcherHelper.checkWatchers(); super.ngDoCheck(); super.clearChangedOptions(); } _setOption(name, value) { let isSetup = this._idh.setupSingle(name, value); let isChanged = this._idh.getChanges(name, value) !== null; if (isSetup || isChanged) { super._setOption(name, value); } } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxSchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.DxTemplateHost }, { token: i1.WatcherHelper }, { token: i1.IterableDifferHelper }, { token: i1.NestedOptionHost }, { token: i0.TransferState }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); } /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxSchedulerComponent, isStandalone: true, selector: "dx-scheduler", inputs: { accessKey: "accessKey", adaptivityEnabled: "adaptivityEnabled", allDayExpr: "allDayExpr", allDayPanelMode: "allDayPanelMode", appointmentCollectorTemplate: "appointmentCollectorTemplate", appointmentDragging: "appointmentDragging", appointmentTemplate: "appointmentTemplate", appointmentTooltipTemplate: "appointmentTooltipTemplate", cellDuration: "cellDuration", crossScrollingEnabled: "crossScrollingEnabled", currentDate: "currentDate", currentView: "currentView", customizeDateNavigatorText: "customizeDateNavigatorText", dataCellTemplate: "dataCellTemplate", dataSource: "dataSource", dateCellTemplate: "dateCellTemplate", dateSerializationFormat: "dateSerializationFormat", descriptionExpr: "descriptionExpr", disabled: "disabled", editing: "editing", elementAttr: "elementAttr", endDateExpr: "endDateExpr", endDateTimeZoneExpr: "endDateTimeZoneExpr", endDayHour: "endDayHour", firstDayOfWeek: "firstDayOfWeek", focusStateEnabled: "focusStateEnabled", groupByDate: "groupByDate", groups: "groups", height: "height", hiddenWeekDays: "hiddenWeekDays", hint: "hint", indicatorUpdateInterval: "indicatorUpdateInterval", max: "max", maxAppointmentsPerCell: "maxAppointmentsPerCell", min: "min", noDataText: "noDataText", offset: "offset", recurrenceEditMode: "recurrenceEditMode", recurrenceExceptionExpr: "recurrenceExceptionExpr", recurrenceRuleExpr: "recurrenceRuleExpr", remoteFiltering: "remoteFiltering", resourceCellTemplate: "resourceCellTemplate", resources: "resources", rtlEnabled: "rtlEnabled", scrolling: "scrolling", selectedCellData: "selectedCellData", shadeUntilCurrentTime: "shadeUntilCurrentTime", showAllDayPanel: "showAllDayPanel", showCurrentTimeIndicator: "showCurrentTimeIndicator", snapToCellsMode: "snapToCellsMode", startDateExpr: "startDateExpr", startDateTimeZoneExpr: "startDateTimeZoneExpr", startDayHour: "startDayHour", tabIndex: "tabIndex", textExpr: "textExpr", timeCellTemplate: "timeCellTemplate", timeZone: "timeZone", toolbar: "toolbar", useDropDownViewSwitcher: "useDropDownViewSwitcher", views: "views", visible: "visible", width: "width" }, outputs: { onAppointmentAdded: "onAppointmentAdded", onAppointmentAdding: "onAppointmentAdding", onAppointmentClick: "onAppointmentClick", onAppointmentContextMenu: "onAppointmentContextMenu", onAppointmentDblClick: "onAppointmentDblClick", onAppointmentDeleted: "onAppointmentDeleted", onAppointmentDeleting: "onAppointmentDeleting", onAppointmentFormOpening: "onAppointmentFormOpening", onAppointmentRendered: "onAppointmentRendered", onAppointmentTooltipShowing: "onAppointmentTooltipShowing", onAppointmentUpdated: "onAppointmentUpdated", onAppointmentUpdating: "onAppointmentUpdating", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onContentReady: "onContentReady", onDisposing: "onDisposing", onInitialized: "onInitialized", onOptionChanged: "onOptionChanged", onSelectionEnd: "onSelectionEnd", accessKeyChange: "accessKeyChange", adaptivityEnabledChange: "adaptivityEnabledChange", allDayExprChange: "allDayExprChange", allDayPanelModeChange: "allDayPanelModeChange", appointmentCollectorTemplateChange: "appointmentCollectorTemplateChange", appointmentDraggingChange: "appointmentDraggingChange", appointmentTemplateChange: "appointmentTemplateChange", appointmentTooltipTemplateChange: "appointmentTooltipTemplateChange", cellDurationChange: "cellDurationChange", crossScrollingEnabledChange: "crossScrollingEnabledChange", currentDateChange: "currentDateChange", currentViewChange: "currentViewChange", customizeDateNavigatorTextChange: "customizeDateNavigatorTextChange", dataCellTemplateChange: "dataCellTemplateChange", dataSourceChange: "dataSourceChange", dateCellTemplateChange: "dateCellTemplateChange", dateSerializationFormatChange: "dateSerializationFormatChange", descriptionExprChange: "descriptionExprChange", disabledChange: "disabledChange", editingChange: "editingChange", elementAttrChange: "elementAttrChange", endDateExprChange: "endDateExprChange", endDateTimeZoneExprChange: "endDateTimeZoneExprChange", endDayHourChange: "endDayHourChange", firstDayOfWeekChange: "firstDayOfWeekChange", focusStateEnabledChange: "focusStateEnabledChange", groupByDateChange: "groupByDateChange", groupsChange: "groupsChange", heightChange: "heightChange", hiddenWeekDaysChange: "hiddenWeekDaysChange", hintChange: "hintChange", indicatorUpdateIntervalChange: "indicatorUpdateIntervalChange", maxChange: "maxChange", maxAppointmentsPerCellChange: "maxAppointmentsPerCellChange", minChange: "minChange", noDataTextChange: "noDataTextChange", offsetChange: "offsetChange", recurrenceEditModeChange: "recurrenceEditModeChange", recurrenceExceptionExprChange: "recurrenceExceptionExprChange", recurrenceRuleExprChange: "recurrenceRuleExprChange", remoteFilteringChange: "remoteFilteringChange", resourceCellTemplateChange: "resourceCellTemplateChange", resourcesChange: "resourcesChange", rtlEnabledChange: "rtlEnabledChange", scrollingChange: "scrollingChange", selectedCellDataChange: "selectedCellDataChange", shadeUntilCurrentTimeChange: "shadeUntilCurrentTimeChange", showAllDayPanelChange: "showAllDayPanelChange", showCurrentTimeIndicatorChange: "showCurrentTimeIndicatorChange", snapToCellsModeChange: "snapToCellsModeChange", startDateExprChange: "startDateExprChange", startDateTimeZoneExprChange: "startDateTimeZoneExprChange", startDayHourChange: "startDayHourChange", tabIndexChange: "tabIndexChange", textExprChange: "textExprChange", timeCellTemplateChange: "timeCellTemplateChange", timeZoneChange: "timeZoneChange", toolbarChange: "toolbarChange", useDropDownViewSwitcherChange: "useDropDownViewSwitcherChange", viewsChange: "viewsChange", visibleChange: "visibleChange", widthChange: "widthChange" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [ DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper ], queries: [{ propertyName: "_validationRulesContentChildren", predicate: PROPERTY_TOKEN_validationRules }, { propertyName: "_itemsContentChildren", predicate: PROPERTY_TOKEN_items }, { propertyName: "_resourcesContentChildren", predicate: PROPERTY_TOKEN_resources }, { propertyName: "_tabsContentChildren", predicate: PROPERTY_TOKEN_tabs }, { propertyName: "_viewsContentChildren", predicate: PROPERTY_TOKEN_views }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxSchedulerComponent, decorators: [{ type: Component, args: [{ selector: 'dx-scheduler', template: '', host: { ngSkipHydration: 'true' }, imports: [DxIntegrationModule], providers: [ DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper ] }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.DxTemplateHost }, { type: i1.WatcherHelper }, { type: i1.IterableDifferHelper }, { type: i1.NestedOptionHost }, { type: i0.TransferState }, { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }], propDecorators: { _validationRulesContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_validationRules] }], _itemsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_items] }], _resourcesContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_resources] }], _tabsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_tabs] }], _viewsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_views] }], accessKey: [{ type: Input }], adaptivityEnabled: [{ type: Input }], allDayExpr: [{ type: Input }], allDayPanelMode: [{ type: Input }], appointmentCollectorTemplate: [{ type: Input }], appointmentDragging: [{ type: Input }], appointmentTemplate: [{ type: Input }], appointmentTooltipTemplate: [{ type: Input }], cellDuration: [{ type: Input }], crossScrollingEnabled: [{ type: Input }], currentDate: [{ type: Input }], currentView: [{ type: Input }], customizeDateNavigatorText: [{ type: Input }], dataCellTemplate: [{ type: Input }], dataSource: [{ type: Input }], dateCellTemplate: [{ type: Input }], dateSerializationFormat: [{ type: Input }], descriptionExpr: [{ type: Input }], disabled: [{ type: Input }], editing: [{ type: Input }], elementAttr: [{ type: Input }], endDateExpr: [{ type: Input }], endDateTimeZoneExpr: [{ type: Input }], endDayHour: [{ type: Input }], firstDayOfWeek: [{ type: Input }], focusStateEnabled: [{ type: Input }], groupByDate: [{ type: Input }], groups: [{ type: Input }], height: [{ type: Input }], hiddenWeekDays: [{ type: Input }], hint: [{ type: Input }], indicatorUpdateInterval: [{ type: Input }], max: [{ type: Input }], maxAppointmentsPerCell: [{ type: Input }], min: [{ type: Input }], noDataText: [{ type: Input }], offset: [{ type: Input }], recurrenceEditMode: [{ type: Input }], recurrenceExceptionExpr: [{ type: Input }], recurrenceRuleExpr: [{ type: Input }], remoteFiltering: [{ type: Input }], resourceCellTemplate: [{ type: Input }], resources: [{ type: Input }], rtlEnabled: [{ type: Input }], scrolling: [{ type: Input }], selectedCellData: [{ type: Input }], shadeUntilCurrentTime: [{ type: Input }], showAllDayPanel: [{ type: Input }], showCurrentTimeIndicator: [{ type: Input }], snapToCellsMode: [{ type: Input }], startDateExpr: [{ type: Input }], startDateTimeZoneExpr: [{ type: Input }], startDayHour: [{ type: Input }], tabIndex: [{ type: Input }], textExpr: [{ type: Input }], timeCellTemplate: [{ type: Input }], timeZone: [{ type: Input }], toolbar: [{ type: Input }], useDropDownViewSwitcher: [{ type: Input }], views: [{ type: Input }], visible: [{ type: Input }], width: [{ type: Input }], onAppointmentAdded: [{ type: Output }], onAppointmentAdding: [{ type: Output }], onAppointmentClick: [{ type: Output }], onAppointmentContextMenu: [{ type: Output }], onAppointmentDblClick: [{ type: Output }], onAppointmentDeleted: [{ type: Output }], onAppointmentDeleting: [{ type: Output }], onAppointmentFormOpening: [{ type: Output }], onAppointmentRendered: [{ type: Output }], onAppointmentTooltipShowing: [{ type: Output }], onAppointmentUpdated: [{ type: Output }], onAppointmentUpdating: [{ type: Output }], onCellClick: [{ type: Output }], onCellContextMenu: [{ type: Output }], onContentReady: [{ type: Output }], onDisposing: [{ type: Output }], onInitialized: [{ type: Output }], onOptionChanged: [{ type: Output }], onSelectionEnd: [{ type: Output }], accessKeyChange: [{ type: Output }], adaptivityEnabledChange: [{ type: Output }], allDayExprChange: [{ type: Output }], allDayPanelModeChange: [{ type: Output }], appointmentCollectorTemplateChange: [{ type: Output }], appointmentDraggingChange: [{ type: Output }], appointmentTemplateChange: [{ type: Output }], appointmentTooltipTemplateChange: [{ type: Output }], cellDurationChange: [{ type: Output }], crossScrollingEnabledChange: [{ type: Output }], currentDateChange: [{ type: Output }], currentViewChange: [{ type: Output }], customizeDateNavigatorTextChange: [{ type: Output }], dataCellTemplateChange: [{ type: Output }], dataSourceChange: [{ type: Output }], dateCellTemplateChange: [{ type: Output }], dateSerializationFormatChange: [{ type: Output }], descriptionExprChange: [{ type: Output }], disabledChange: [{ type: Output }], editingChange: [{ type: Output }], elementAttrChange: [{ type: Output }], endDateExprChange: [{ type: Output }], endDateTimeZoneExprChange: [{ type: Output }], endDayHourChange: [{ type: Output }], firstDayOfWeekChange: [{ type: Output }], focusStateEnabledChange: [{ type: Output }], groupByDateChange: [{ type: Output }], groupsChange: [{ type: Output }], heightChange: [{ type: Output }], hiddenWeekDaysChange: [{ type: Output }], hintChange: [{ type: Output }], indicatorUpdateIntervalChange: [{ type: Output }], maxChange: [{ type: Output }], maxAppointmentsPerCellChange: [{ type: Output }], minChange: [{ type: Output }], noDataTextChange: [{ type: Output }], offsetChange: [{ type: Output }], recurrenceEditModeChange: [{ type: Output }], recurrenceExceptionExprChange: [{ type: Output }], recurrenceRuleExprChange: [{ type: Output }], remoteFilteringChange: [{ type: Output }], resourceCellTemplateChange: [{ type: Output }], resourcesChange: [{ type: Output }], rtlEnabledChange: [{ type: Output }], scrollingChange: [{ type: Output }], selectedCellDataChange: [{ type: Output }], shadeUntilCurrentTimeChange: [{ type: Output }], showAllDayPanelChange: [{ type: Output }], showCurrentTimeIndicatorChange: [{ type: Output }], snapToCellsModeChange: [{ type: Output }], startDateExprChange: [{ type: Output }], startDateTimeZoneExprChange: [{ type: Output }], startDayHourChange: [{ type: Output }], tabIndexChange: [{ type: Output }], textExprChange: [{ type: Output }], timeCellTemplateChange: [{ type: Output }], timeZoneChange: [{ type: Output }], toolbarChange: [{ type: Output }], useDropDownViewSwitcherChange: [{ type: Output }], viewsChange: [{ type: Output }], visibleChange: [{ type: Output }], widthChange: [{ type: Output }] } }); class DxSchedulerModule { /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxSchedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxSchedulerModule, imports: [DxSchedulerComponent, DxoAppointmentDraggingModule, DxoEditingModule, DxiResourceModule, DxoScrollingModule, DxiViewModule, DxoSchedulerAIOptionsModule, DxoSchedulerAppointmentDraggingModule, DxiSchedulerAsyncRuleModule, DxiSchedulerButtonItemModule, DxoSchedulerButtonOptionsModule, DxoSchedulerColCountByScreenModule, DxiSchedulerCompareRuleModule, DxiSchedulerCustomRuleModule, DxoSchedulerEditingModule, DxiSchedulerEmailRuleModule, DxiSchedulerEmptyItemModule, DxoSchedulerFormModule, DxiSchedulerGroupItemModule, DxiSchedulerItemModule, DxoSchedulerLabelModule, DxiSchedulerNumericRuleModule, DxoSchedulerOptionsModule, DxiSchedulerOptionsItemModule, DxiSchedulerPatternRuleModule, DxiSchedulerRangeRuleModule, DxiSchedulerRequiredRuleModule, DxiSchedulerResourceModule, DxoSchedulerScrollingModule, DxiSchedulerSimpleItemModule, DxiSchedulerStringLengthRuleModule, DxiSchedulerTabModule, DxiSchedulerTabbedItemModule, DxoSchedulerTabPanelOptionsModule, DxiSchedulerTabPanelOptionsItemModule, DxoSchedulerToolbarModule, DxiSchedulerToolbarItemModule, DxiSchedulerValidationRuleModule, DxiSchedulerViewModule, DxIntegrationModule, DxTemplateModule], exports: [DxSchedulerComponent, DxoAppointmentDraggingModule, DxoEditingModule, DxiResourceModule, DxoScrollingModule, DxiViewModule, DxoSchedulerAIOptionsModule, DxoSchedulerAppointmentDraggingModule, DxiSchedulerAsyncRuleModule, DxiSchedulerButtonItemModule, DxoSchedulerButtonOptionsModule, DxoSchedulerColCountByScreenModule, DxiSchedulerCompareRuleModule, DxiSchedulerCustomRuleModule, DxoSchedulerEditingModule, DxiSchedulerEmailRuleModule, DxiSchedulerEmptyItemModule, DxoSchedulerFormModule, DxiSchedulerGroupItemModule, DxiSchedulerItemModule, DxoSchedulerLabelModule, DxiSchedulerNumericRuleModule, DxoSchedulerOptionsModule, DxiSchedulerOptionsItemModule, DxiSchedulerPatternRuleModule, DxiSchedulerRangeRuleModule, DxiSchedulerRequiredRuleModule, DxiSchedulerResourceModule, DxoSchedulerScrollingModule, DxiSchedulerSimpleItemModule, DxiSchedulerStringLengthRuleModule, DxiSchedulerTabModule, DxiSchedulerTabbedItemModule, DxoSchedulerTabPanelOptionsModule, DxiSchedulerTabPanelOptionsItemModule, DxoSchedulerToolbarModule, DxiSchedulerToolbarItemModule, DxiSchedulerValidationRuleModule, DxiSchedulerViewModule, DxTemplateModule] }); } /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxSchedulerModule, imports: [DxSchedulerComponent, DxoAppointmentDraggingModule, DxoEditingModule, DxiResourceModule, DxoScrollingModule, DxiViewModule, DxoSchedulerAIOptionsModule, DxoSchedulerAppointmentDraggingModule, DxiSchedulerAsyncRuleModule, DxiSchedulerButtonItemModule, DxoSchedulerButtonOptionsModule, DxoSchedulerColCountByScreenModule, DxiSchedulerCompareRuleModule, DxiSchedulerCustomRuleModule, DxoSchedulerEditingModule, DxiSchedulerEmailRuleModule, DxiSchedulerEmptyItemModule, DxoSchedulerFormModule, DxiSchedulerGroupItemModule, DxiSchedulerItemModule, DxoSchedulerLabelModule, DxiSchedulerNumericRuleModule, DxoSchedulerOptionsModule, DxiSchedulerOptionsItemModule, DxiSchedulerPatternRuleModule, DxiSchedulerRangeRuleModule, DxiSchedulerRequiredRuleModule, DxiSchedulerResourceModule, DxoSchedulerScrollingModule, DxiSchedulerSimpleItemModule, DxiSchedulerStringLengthRuleModule, DxiSchedulerTabModule, DxiSchedulerTabbedItemModule, DxoSchedulerTabPanelOptionsModule, DxiSchedulerTabPanelOptionsItemModule, DxoSchedulerToolbarModule, DxiSchedulerToolbarItemModule, DxiSchedulerValidationRuleModule, DxiSchedulerViewModule, DxIntegrationModule, DxTemplateModule, DxoAppointmentDraggingModule, DxoEditingModule, DxiResourceModule, DxoScrollingModule, DxiViewModule, DxoSchedulerAIOptionsModule, DxoSchedulerAppointmentDraggingModule, DxiSchedulerAsyncRuleModule, DxiSchedulerButtonItemModule, DxoSchedulerButtonOptionsModule, DxoSchedulerColCountByScreenModule, DxiSchedulerCompareRuleModule, DxiSchedulerCustomRuleModule, DxoSchedulerEditingModule,