devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
1,318 lines (1,258 loc) • 157 kB
JavaScript
/*!
* devextreme-angular
* Version: 20.2.5
* Build date: Fri Jan 15 2021
*
* Copyright (c) 2012 - 2021 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-angular
*/
import * as tslib_1 from "tslib";
/* tslint:disable:max-line-length */
import { BrowserTransferStateModule } from '@angular/platform-browser';
import { TransferState } from '@angular/platform-browser';
import { Component, NgModule, ElementRef, NgZone, PLATFORM_ID, Inject, Input, Output, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges, ContentChildren, QueryList } from '@angular/core';
import DxScheduler from 'devextreme/ui/scheduler';
import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import { DxoAppointmentDraggingModule } from 'devextreme-angular/ui/nested';
import { DxoEditingModule } from 'devextreme-angular/ui/nested';
import { DxiResourceModule } from 'devextreme-angular/ui/nested';
import { DxoScrollingModule } from 'devextreme-angular/ui/nested';
import { DxiViewModule } from 'devextreme-angular/ui/nested';
import { DxiResourceComponent } from 'devextreme-angular/ui/nested';
import { DxiViewComponent } from 'devextreme-angular/ui/nested';
/**
* The Scheduler is a UI component that represents scheduled data and allows a user to manage and edit it.
*/
var DxSchedulerComponent = /** @class */ (function (_super) {
tslib_1.__extends(DxSchedulerComponent, _super);
function DxSchedulerComponent(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
var _this = _super.call(this, elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId) || this;
_this._watcherHelper = _watcherHelper;
_this._idh = _idh;
_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: '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' },
{ emit: 'accessKeyChange' },
{ emit: 'adaptivityEnabledChange' },
{ emit: 'allDayExprChange' },
{ 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: 'dropDownAppointmentTemplateChange' },
{ emit: 'editingChange' },
{ emit: 'elementAttrChange' },
{ emit: 'endDateExprChange' },
{ emit: 'endDateTimeZoneExprChange' },
{ emit: 'endDayHourChange' },
{ emit: 'firstDayOfWeekChange' },
{ emit: 'focusStateEnabledChange' },
{ emit: 'groupByDateChange' },
{ emit: 'groupsChange' },
{ emit: 'heightChange' },
{ emit: 'hintChange' },
{ emit: 'indicatorUpdateIntervalChange' },
{ emit: 'maxChange' },
{ emit: 'maxAppointmentsPerCellChange' },
{ emit: 'minChange' },
{ emit: 'noDataTextChange' },
{ 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: 'startDateExprChange' },
{ emit: 'startDateTimeZoneExprChange' },
{ emit: 'startDayHourChange' },
{ emit: 'tabIndexChange' },
{ emit: 'textExprChange' },
{ emit: 'timeCellTemplateChange' },
{ emit: 'timeZoneChange' },
{ emit: 'useDropDownViewSwitcherChange' },
{ emit: 'viewsChange' },
{ emit: 'visibleChange' },
{ emit: 'widthChange' }
]);
_this._idh.setHost(_this);
optionHost.setHost(_this);
return _this;
}
Object.defineProperty(DxSchedulerComponent.prototype, "accessKey", {
/**
* Specifies the shortcut key that sets focus on the UI component.
*/
get: function () {
return this._getOption('accessKey');
},
set: function (value) {
this._setOption('accessKey', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "adaptivityEnabled", {
/**
* Specifies whether the UI component adapts to small screens.
*/
get: function () {
return this._getOption('adaptivityEnabled');
},
set: function (value) {
this._setOption('adaptivityEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "allDayExpr", {
/**
* Specifies the name of the data source item field whose value defines whether or not the corresponding appointment is an all-day appointment.
*/
get: function () {
return this._getOption('allDayExpr');
},
set: function (value) {
this._setOption('allDayExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "appointmentCollectorTemplate", {
/**
* Specifies a custom template for cell overflow indicators.
*/
get: function () {
return this._getOption('appointmentCollectorTemplate');
},
set: function (value) {
this._setOption('appointmentCollectorTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "appointmentDragging", {
/**
* Configures appointment reordering using drag and drop gestures.
*/
get: function () {
return this._getOption('appointmentDragging');
},
set: function (value) {
this._setOption('appointmentDragging', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "appointmentTemplate", {
/**
* Specifies a custom template for appointments.
*/
get: function () {
return this._getOption('appointmentTemplate');
},
set: function (value) {
this._setOption('appointmentTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "appointmentTooltipTemplate", {
/**
* Specifies a custom template for tooltips displayed when users click an appointment or cell overflow indicator.
*/
get: function () {
return this._getOption('appointmentTooltipTemplate');
},
set: function (value) {
this._setOption('appointmentTooltipTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "cellDuration", {
/**
* Specifies cell duration in minutes. This property's value should divide the interval between startDayHour and endDayHour into even parts.
*/
get: function () {
return this._getOption('cellDuration');
},
set: function (value) {
this._setOption('cellDuration', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "crossScrollingEnabled", {
/**
* Specifies whether or not an end-user can scroll the view in both directions at the same time.
*/
get: function () {
return this._getOption('crossScrollingEnabled');
},
set: function (value) {
this._setOption('crossScrollingEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "currentDate", {
/**
* Specifies the current date.
*/
get: function () {
return this._getOption('currentDate');
},
set: function (value) {
this._setOption('currentDate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "currentView", {
/**
* Specifies the currently displayed view. Accepts the view's name or type.
*/
get: function () {
return this._getOption('currentView');
},
set: function (value) {
this._setOption('currentView', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "customizeDateNavigatorText", {
/**
* Customizes the date navigator's text.
*/
get: function () {
return this._getOption('customizeDateNavigatorText');
},
set: function (value) {
this._setOption('customizeDateNavigatorText', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "dataCellTemplate", {
/**
* Specifies a custom template for table cells.
*/
get: function () {
return this._getOption('dataCellTemplate');
},
set: function (value) {
this._setOption('dataCellTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "dataSource", {
/**
* Binds the UI component to data.
*/
get: function () {
return this._getOption('dataSource');
},
set: function (value) {
this._setOption('dataSource', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "dateCellTemplate", {
/**
* Specifies a custom template for day scale items.
*/
get: function () {
return this._getOption('dateCellTemplate');
},
set: function (value) {
this._setOption('dateCellTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "dateSerializationFormat", {
/**
* Specifies the date-time values' serialization format. Use it only if you do not specify the dataSource at design time.
*/
get: function () {
return this._getOption('dateSerializationFormat');
},
set: function (value) {
this._setOption('dateSerializationFormat', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "descriptionExpr", {
/**
* Specifies the name of the data source item field whose value holds the description of the corresponding appointment.
*/
get: function () {
return this._getOption('descriptionExpr');
},
set: function (value) {
this._setOption('descriptionExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "disabled", {
/**
* Specifies whether the UI component responds to user interaction.
*/
get: function () {
return this._getOption('disabled');
},
set: function (value) {
this._setOption('disabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "dropDownAppointmentTemplate", {
/**
* Specifies a custom template for tooltips displayed when users click a cell overflow indicator.
* @deprecated Use the appointmentTooltipTemplate option instead.
*/
get: function () {
return this._getOption('dropDownAppointmentTemplate');
},
set: function (value) {
this._setOption('dropDownAppointmentTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "editing", {
/**
* Specifies which editing operations a user can perform on appointments.
*/
get: function () {
return this._getOption('editing');
},
set: function (value) {
this._setOption('editing', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "elementAttr", {
/**
* Specifies the global attributes to be attached to the UI component's container element.
*/
get: function () {
return this._getOption('elementAttr');
},
set: function (value) {
this._setOption('elementAttr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "endDateExpr", {
/**
* Specifies the name of the data source item field that defines the ending of an appointment.
*/
get: function () {
return this._getOption('endDateExpr');
},
set: function (value) {
this._setOption('endDateExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "endDateTimeZoneExpr", {
/**
* Specifies the name of the data source item field that defines the timezone of the appointment end date.
*/
get: function () {
return this._getOption('endDateTimeZoneExpr');
},
set: function (value) {
this._setOption('endDateTimeZoneExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "endDayHour", {
/**
* Specifies the last hour on the time scale. Accepts integer values from 0 to 24.
*/
get: function () {
return this._getOption('endDayHour');
},
set: function (value) {
this._setOption('endDayHour', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "firstDayOfWeek", {
/**
* Specifies the first day of a week. Does not apply to the agenda view.
*/
get: function () {
return this._getOption('firstDayOfWeek');
},
set: function (value) {
this._setOption('firstDayOfWeek', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "focusStateEnabled", {
/**
* Specifies whether the UI component can be focused using keyboard navigation.
*/
get: function () {
return this._getOption('focusStateEnabled');
},
set: function (value) {
this._setOption('focusStateEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "groupByDate", {
/**
* 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: function () {
return this._getOption('groupByDate');
},
set: function (value) {
this._setOption('groupByDate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "groups", {
/**
* Specifies the resource kinds by which the scheduler's appointments are grouped in a timetable.
*/
get: function () {
return this._getOption('groups');
},
set: function (value) {
this._setOption('groups', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "height", {
/**
* Specifies the UI component's height.
*/
get: function () {
return this._getOption('height');
},
set: function (value) {
this._setOption('height', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "hint", {
/**
* Specifies text for a hint that appears when a user pauses on the UI component.
*/
get: function () {
return this._getOption('hint');
},
set: function (value) {
this._setOption('hint', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "indicatorUpdateInterval", {
/**
* Specifies the time interval between when the date-time indicator changes its position, in milliseconds.
*/
get: function () {
return this._getOption('indicatorUpdateInterval');
},
set: function (value) {
this._setOption('indicatorUpdateInterval', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "max", {
/**
* The latest date the UI component allows you to select.
*/
get: function () {
return this._getOption('max');
},
set: function (value) {
this._setOption('max', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "maxAppointmentsPerCell", {
/**
* Specifies the limit of full-sized appointments displayed per cell. Applies to all views except 'agenda'.
*/
get: function () {
return this._getOption('maxAppointmentsPerCell');
},
set: function (value) {
this._setOption('maxAppointmentsPerCell', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "min", {
/**
* The earliest date the UI component allows you to select.
*/
get: function () {
return this._getOption('min');
},
set: function (value) {
this._setOption('min', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "noDataText", {
/**
* The text or HTML markup displayed by the UI component if the item collection is empty. Available for the Agenda view only.
*/
get: function () {
return this._getOption('noDataText');
},
set: function (value) {
this._setOption('noDataText', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "recurrenceEditMode", {
/**
* Specifies the edit mode for recurring appointments.
*/
get: function () {
return this._getOption('recurrenceEditMode');
},
set: function (value) {
this._setOption('recurrenceEditMode', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "recurrenceExceptionExpr", {
/**
* Specifies the name of the data source item field that defines exceptions for the current recurring appointment.
*/
get: function () {
return this._getOption('recurrenceExceptionExpr');
},
set: function (value) {
this._setOption('recurrenceExceptionExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "recurrenceRuleExpr", {
/**
* Specifies the name of the data source item field that defines a recurrence rule for generating recurring appointments.
*/
get: function () {
return this._getOption('recurrenceRuleExpr');
},
set: function (value) {
this._setOption('recurrenceRuleExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "remoteFiltering", {
/**
* Specifies whether filtering is performed on the server or client side.
*/
get: function () {
return this._getOption('remoteFiltering');
},
set: function (value) {
this._setOption('remoteFiltering', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "resourceCellTemplate", {
/**
* Specifies a custom template for resource headers.
*/
get: function () {
return this._getOption('resourceCellTemplate');
},
set: function (value) {
this._setOption('resourceCellTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "resources", {
/**
* Specifies an array of resources available in the scheduler.
*/
get: function () {
return this._getOption('resources');
},
set: function (value) {
this._setOption('resources', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "rtlEnabled", {
/**
* Switches the UI component to a right-to-left representation.
*/
get: function () {
return this._getOption('rtlEnabled');
},
set: function (value) {
this._setOption('rtlEnabled', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "scrolling", {
/**
* Configures scrolling.
*/
get: function () {
return this._getOption('scrolling');
},
set: function (value) {
this._setOption('scrolling', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "selectedCellData", {
/**
* Currently selected cells' data.
*/
get: function () {
return this._getOption('selectedCellData');
},
set: function (value) {
this._setOption('selectedCellData', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "shadeUntilCurrentTime", {
/**
* Specifies whether to apply shading to cover the timetable up to the current time.
*/
get: function () {
return this._getOption('shadeUntilCurrentTime');
},
set: function (value) {
this._setOption('shadeUntilCurrentTime', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "showAllDayPanel", {
/**
* Specifies the 'All-day' panel's visibility. Setting this property to false hides the panel along with the all-day appointments.
*/
get: function () {
return this._getOption('showAllDayPanel');
},
set: function (value) {
this._setOption('showAllDayPanel', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "showCurrentTimeIndicator", {
/**
* Specifies the current date-time indicator's visibility.
*/
get: function () {
return this._getOption('showCurrentTimeIndicator');
},
set: function (value) {
this._setOption('showCurrentTimeIndicator', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "startDateExpr", {
/**
* Specifies the name of the data source item field that defines the start of an appointment.
*/
get: function () {
return this._getOption('startDateExpr');
},
set: function (value) {
this._setOption('startDateExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "startDateTimeZoneExpr", {
/**
* Specifies the name of the data source item field that defines the timezone of the appointment start date.
*/
get: function () {
return this._getOption('startDateTimeZoneExpr');
},
set: function (value) {
this._setOption('startDateTimeZoneExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "startDayHour", {
/**
* Specifies the first hour on the time scale. Accepts integer values from 0 to 24.
*/
get: function () {
return this._getOption('startDayHour');
},
set: function (value) {
this._setOption('startDayHour', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "tabIndex", {
/**
* Specifies the number of the element when the Tab key is used for navigating.
*/
get: function () {
return this._getOption('tabIndex');
},
set: function (value) {
this._setOption('tabIndex', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "textExpr", {
/**
* Specifies the name of the data source item field that holds the subject of an appointment.
*/
get: function () {
return this._getOption('textExpr');
},
set: function (value) {
this._setOption('textExpr', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "timeCellTemplate", {
/**
* Specifies a custom template for time scale items.
*/
get: function () {
return this._getOption('timeCellTemplate');
},
set: function (value) {
this._setOption('timeCellTemplate', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "timeZone", {
/**
* Specifies the time zone for the Scheduler's grid. Accepts values from the IANA time zone database.
*/
get: function () {
return this._getOption('timeZone');
},
set: function (value) {
this._setOption('timeZone', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "useDropDownViewSwitcher", {
/**
* Specifies whether a user can switch views using tabs or a drop-down menu.
*/
get: function () {
return this._getOption('useDropDownViewSwitcher');
},
set: function (value) {
this._setOption('useDropDownViewSwitcher', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "views", {
/**
* Specifies and configures the views to be available in the view switcher.
*/
get: function () {
return this._getOption('views');
},
set: function (value) {
this._setOption('views', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "visible", {
/**
* Specifies whether the UI component is visible.
*/
get: function () {
return this._getOption('visible');
},
set: function (value) {
this._setOption('visible', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "width", {
/**
* Specifies the UI component's width.
*/
get: function () {
return this._getOption('width');
},
set: function (value) {
this._setOption('width', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "resourcesChildren", {
get: function () {
return this._getOption('resources');
},
set: function (value) {
this.setChildren('resources', value);
},
enumerable: true,
configurable: true
});
Object.defineProperty(DxSchedulerComponent.prototype, "viewsChildren", {
get: function () {
return this._getOption('views');
},
set: function (value) {
this.setChildren('views', value);
},
enumerable: true,
configurable: true
});
DxSchedulerComponent.prototype._createInstance = function (element, options) {
return new DxScheduler(element, options);
};
DxSchedulerComponent.prototype.ngOnDestroy = function () {
this._destroyWidget();
};
DxSchedulerComponent.prototype.ngOnChanges = function (changes) {
_super.prototype.ngOnChanges.call(this, changes);
this.setupChanges('dataSource', changes);
this.setupChanges('groups', changes);
this.setupChanges('resources', changes);
this.setupChanges('selectedCellData', changes);
this.setupChanges('views', changes);
};
DxSchedulerComponent.prototype.setupChanges = function (prop, changes) {
if (!(prop in this._optionsToUpdate)) {
this._idh.setup(prop, changes);
}
};
DxSchedulerComponent.prototype.ngDoCheck = function () {
this._idh.doCheck('dataSource');
this._idh.doCheck('groups');
this._idh.doCheck('resources');
this._idh.doCheck('selectedCellData');
this._idh.doCheck('views');
this._watcherHelper.checkWatchers();
_super.prototype.ngDoCheck.call(this);
_super.prototype.clearChangedOptions.call(this);
};
DxSchedulerComponent.prototype._setOption = function (name, value) {
var isSetup = this._idh.setupSingle(name, value);
var isChanged = this._idh.getChanges(name, value) !== null;
if (isSetup || isChanged) {
_super.prototype._setOption.call(this, name, value);
}
};
DxSchedulerComponent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: NgZone },
{ type: DxTemplateHost },
{ type: WatcherHelper },
{ type: IterableDifferHelper },
{ type: NestedOptionHost },
{ type: TransferState },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
]; };
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "accessKey", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "adaptivityEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "allDayExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "appointmentCollectorTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "appointmentDragging", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "appointmentTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "appointmentTooltipTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxSchedulerComponent.prototype, "cellDuration", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "crossScrollingEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "currentDate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "currentView", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Function])
], DxSchedulerComponent.prototype, "customizeDateNavigatorText", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "dataCellTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "dataSource", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "dateCellTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "dateSerializationFormat", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "descriptionExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "disabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "dropDownAppointmentTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "editing", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "elementAttr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "endDateExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "endDateTimeZoneExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxSchedulerComponent.prototype, "endDayHour", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "firstDayOfWeek", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "focusStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "groupByDate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxSchedulerComponent.prototype, "groups", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "height", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "hint", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxSchedulerComponent.prototype, "indicatorUpdateInterval", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "max", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "maxAppointmentsPerCell", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "min", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "noDataText", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "recurrenceEditMode", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "recurrenceExceptionExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "recurrenceRuleExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "remoteFiltering", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "resourceCellTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxSchedulerComponent.prototype, "resources", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "rtlEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "scrolling", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxSchedulerComponent.prototype, "selectedCellData", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "shadeUntilCurrentTime", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "showAllDayPanel", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "showCurrentTimeIndicator", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "startDateExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "startDateTimeZoneExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxSchedulerComponent.prototype, "startDayHour", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxSchedulerComponent.prototype, "tabIndex", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "textExpr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "timeCellTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxSchedulerComponent.prototype, "timeZone", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "useDropDownViewSwitcher", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "views", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxSchedulerComponent.prototype, "visible", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxSchedulerComponent.prototype, "width", null);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentAdded", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentAdding", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentClick", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentContextMenu", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentDblClick", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentDeleted", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxSchedulerComponent.prototype, "onAppointmentDeleting", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEm