/**
 * DevExtreme (esm/renovation/ui/scheduler/scheduler.j.js)
 * Version: 22.2.7 (build 23185-0311)
 * Build date: Tue Jul 04 2023
 *
 * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
 * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
 */
import registerComponent from "../../../core/component_registrator";
import BaseComponent from "../../component_wrapper/common/component";
import {
    Scheduler as SchedulerComponent
} from "./scheduler";
export default class Scheduler extends BaseComponent {
    getProps() {
        var props = super.getProps();
        props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);
        return props
    }
    addAppointment(_appointment) {
        var _this$viewRef;
        return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.addAppointment(...arguments)
    }
    deleteAppointment(_appointment) {
        var _this$viewRef2;
        return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.deleteAppointment(...arguments)
    }
    updateAppointment(_target, _appointment) {
        var _this$viewRef3;
        return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.updateAppointment(...arguments)
    }
    getDataSource() {
        var _this$viewRef4;
        return null === (_this$viewRef4 = this.viewRef) || void 0 === _this$viewRef4 ? void 0 : _this$viewRef4.getDataSource(...arguments)
    }
    getEndViewDate() {
        var _this$viewRef5;
        return null === (_this$viewRef5 = this.viewRef) || void 0 === _this$viewRef5 ? void 0 : _this$viewRef5.getEndViewDate(...arguments)
    }
    getStartViewDate() {
        var _this$viewRef6;
        return null === (_this$viewRef6 = this.viewRef) || void 0 === _this$viewRef6 ? void 0 : _this$viewRef6.getStartViewDate(...arguments)
    }
    hideAppointmentPopup(_saveChanges) {
        var _this$viewRef7;
        return null === (_this$viewRef7 = this.viewRef) || void 0 === _this$viewRef7 ? void 0 : _this$viewRef7.hideAppointmentPopup(...arguments)
    }
    hideAppointmentTooltip() {
        var _this$viewRef8;
        return null === (_this$viewRef8 = this.viewRef) || void 0 === _this$viewRef8 ? void 0 : _this$viewRef8.hideAppointmentTooltip(...arguments)
    }
    scrollTo(_date, _group, _allDay) {
        var _this$viewRef9;
        return null === (_this$viewRef9 = this.viewRef) || void 0 === _this$viewRef9 ? void 0 : _this$viewRef9.scrollTo(...arguments)
    }
    scrollToTime(_hours, _minutes, _date) {
        var _this$viewRef10;
        return null === (_this$viewRef10 = this.viewRef) || void 0 === _this$viewRef10 ? void 0 : _this$viewRef10.scrollToTime(...arguments)
    }
    showAppointmentPopup(_appointmentData, _createNewAppointment, _currentAppointmentData) {
        var _this$viewRef11;
        return null === (_this$viewRef11 = this.viewRef) || void 0 === _this$viewRef11 ? void 0 : _this$viewRef11.showAppointmentPopup(...arguments)
    }
    showAppointmentTooltip(_appointmentData, _target, _currentAppointmentData) {
        var _this$viewRef12;
        var params = [_appointmentData, this._patchElementParam(_target), _currentAppointmentData];
        return null === (_this$viewRef12 = this.viewRef) || void 0 === _this$viewRef12 ? void 0 : _this$viewRef12.showAppointmentTooltip(...params.slice(0, arguments.length))
    }
    _getActionConfigs() {
        return {
            onAppointmentAdded: {},
            onAppointmentAdding: {},
            onAppointmentClick: {},
            onAppointmentContextMenu: {},
            onAppointmentDblClick: {},
            onAppointmentDeleted: {},
            onAppointmentDeleting: {},
            onAppointmentFormOpening: {},
            onAppointmentRendered: {},
            onAppointmentUpdated: {},
            onAppointmentUpdating: {},
            onCellClick: {},
            onCellContextMenu: {},
            onClick: {}
        }
    }
    get _propsInfo() {
        return {
            twoWay: [
                ["currentDate", "defaultCurrentDate", "currentDateChange"],
                ["currentView", "defaultCurrentView", "currentViewChange"]
            ],
            allowNull: [],
            elements: [],
            templates: ["dataCellTemplate", "dateCellTemplate", "timeCellTemplate", "resourceCellTemplate", "appointmentCollectorTemplate", "appointmentTemplate", "appointmentTooltipTemplate"],
            props: ["adaptivityEnabled", "appointmentDragging", "crossScrollingEnabled", "dataSource", "dateSerializationFormat", "descriptionExpr", "editing", "focusStateEnabled", "groupByDate", "indicatorUpdateInterval", "max", "min", "noDataText", "recurrenceEditMode", "remoteFiltering", "resources", "scrolling", "selectedCellData", "shadeUntilCurrentTime", "showAllDayPanel", "showCurrentTimeIndicator", "timeZone", "useDropDownViewSwitcher", "views", "endDayHour", "startDayHour", "firstDayOfWeek", "cellDuration", "groups", "maxAppointmentsPerCell", "customizeDateNavigatorText", "onAppointmentAdded", "onAppointmentAdding", "onAppointmentClick", "onAppointmentContextMenu", "onAppointmentDblClick", "onAppointmentDeleted", "onAppointmentDeleting", "onAppointmentFormOpening", "onAppointmentRendered", "onAppointmentUpdated", "onAppointmentUpdating", "onCellClick", "onCellContextMenu", "recurrenceExceptionExpr", "recurrenceRuleExpr", "startDateExpr", "startDateTimeZoneExpr", "endDateExpr", "endDateTimeZoneExpr", "allDayExpr", "textExpr", "allDayPanelMode", "dataCellTemplate", "dateCellTemplate", "timeCellTemplate", "resourceCellTemplate", "appointmentCollectorTemplate", "appointmentTemplate", "appointmentTooltipTemplate", "toolbar", "defaultCurrentDate", "currentDateChange", "defaultCurrentView", "currentViewChange", "className", "accessKey", "activeStateEnabled", "disabled", "height", "hint", "hoverStateEnabled", "onClick", "onKeyDown", "rtlEnabled", "tabIndex", "visible", "width", "currentDate", "currentView"]
        }
    }
    get _viewComponent() {
        return SchedulerComponent
    }
}
registerComponent("dxScheduler", Scheduler);
