UNPKG

@daypilot/daypilot-lite-vue

Version:

DayPilot Lite for Vue

1,574 lines (1,270 loc) 55.9 kB
/* DayPilot Lite Copyright (c) 2005 - 2025 Annpoint s.r.o. https://www.daypilot.org/ Licensed under Apache Software License 2.0 Version: 2025.3.731-lite */ type GlobalDate = Date; export module DayPilot { export class SchedulerPropsAndEvents { backendUrl?: string; beforeCellRenderCaching?: boolean; businessBeginsHour?: number; businessEndsHour?: number; businessWeekends?: boolean; cellDuration?: number; cellGroupBy?: GroupBy; cellSweeping?: boolean; cellSweepingCacheSize?: number; cellWidth?: number; cellsMarkBusiness?: boolean; contextMenu?: DayPilot.Menu; days?: number; durationBarHeight?: number; durationBarVisible?: boolean; dynamicEventRendering?: "Progressive" | "Disabled"; dynamicEventRenderingCacheSize?: number; dynamicEventRenderingCacheSweeping?: boolean; dynamicEventRenderingMargin?: number; dynamicEventRenderingMarginX?: number; dynamicEventRenderingMarginY?: number; eventBorderRadius?: string | number; eventClickHandling?: "Enabled" | "Disabled"; eventDeleteHandling?: "Update" | "Disabled"; eventEndSpec?: "DateTime" | "Date"; eventHeight?: number; eventMinWidth?: number; eventMoveHandling?: "Update" | "Disabled"; eventPadding?: string | number; eventResizeHandling?: "Update" | "Disabled"; eventResizeMargin?: number; eventRightClickHandling?: "Enabled" | "Disabled" | "ContextMenu"; eventTapAndHoldHandling?: "Move" | "ContextMenu"; eventTextWrappingEnabled?: boolean; eventsLoadMethod?: "GET" | "POST"; floatingEvents?: boolean; floatingTimeHeaders?: boolean; headerHeight?: number; height?: number; heightSpec?: "Auto" | "Max" | "Fixed"; locale?: string | DayPilot.Locale; progressiveRowRendering?: boolean; progressiveRowRenderingPreload?: number; resources?: ResourceData[]; // rowClickHandling?: "Enabled" | "Disabled" | "CallBack" | "Edit" | "Select"; rowHeaderWidth?: number; rowMarginBottom?: number; rowMarginTop?: number; rowsLoadMethod?: "GET" | "POST"; scale?: "CellDuration" | "Minute" | "Hour" | "Day" | "Week"; scrollDelayCells?: number; scrollDelayEvents?: number; scrollDelayFloats?: number; scrollDelayRows?: number; showToolTip?: boolean; snapToGrid?: boolean; startDate?: DayPilot.Date | string; tapAndHoldTimeout?: number; theme?: string; timeFormat?: "Auto" | "Clock12Hours" | "Clock24Hours"; timeHeaderClickHandling?: "Enabled" | "Disabled"; timeHeaderTextWrappingEnabled?: boolean; timeHeaders?: TimeHeaderData[]; timeRangeClickHandling?: "Enabled" | "Disabled"; timeRangeSelectedHandling?: "Enabled" | "Disabled"; useEventBoxes?: "Always" | "Never"; visible?: boolean; weekStarts?: "Auto" | number; width?: string; xssProtection?: "Enabled" | "Disabled"; onAfterUpdate?: EventHandler<SchedulerAfterUpdateArgs>; onBeforeCellRender?: EventHandler<SchedulerBeforeCellRenderArgs>; onBeforeEventRender?: EventHandler<SchedulerBeforeEventRenderArgs>; onBeforeRowHeaderRender?: EventHandler<SchedulerBeforeRowHeaderRenderArgs>; onBeforeTimeHeaderRender?: EventHandler<SchedulerBeforeTimeHeaderRenderArgs>; onEventClick?: EventHandler<SchedulerEventClickArgs>; onEventClicked?: EventHandler<SchedulerEventClickedArgs>; onEventDelete?: EventHandler<SchedulerEventDeleteArgs>; onEventDeleted?: EventHandler<SchedulerEventDeletedArgs>; onEventMove?: EventHandler<SchedulerEventMoveArgs>; onEventMoved?: EventHandler<SchedulerEventMovedArgs>; onEventResize?: EventHandler<SchedulerEventResizeArgs>; onEventResized?: EventHandler<SchedulerEventResizedArgs>; onEventRightClick?: EventHandler<SchedulerEventRightClickArgs>; onEventRightClicked?: EventHandler<SchedulerEventRightClickedArgs>; onRowClick?: EventHandler<SchedulerRowClickArgs>; onRowClicked?: EventHandler<SchedulerRowClickedArgs>; onTimeHeaderClick?: EventHandler<SchedulerTimeHeaderClickArgs>; onTimeHeaderClicked?: EventHandler<SchedulerTimeHeaderClickedArgs>; onTimeHeaderRightClick?: EventHandler<SchedulerTimeHeaderRightClickArgs>; onTimeHeaderRightClicked?: EventHandler<SchedulerTimeHeaderRightClickedArgs>; onTimeRangeClick?: EventHandler<SchedulerTimeRangeClickArgs>; onTimeRangeClicked?: EventHandler<SchedulerTimeRangeClickedArgs>; onTimeRangeSelect?: EventHandler<SchedulerTimeRangeSelectArgs>; onTimeRangeSelected?: EventHandler<SchedulerTimeRangeSelectedArgs>; } export class SchedulerConfig extends SchedulerPropsAndEvents { events?: EventData[]; } export class Scheduler extends SchedulerPropsAndEvents { v: string; events: { list: EventData[]; add(e: DayPilot.Event): void; add(data: EventData): void; all(): DayPilot.Event[]; find(id: EventId): DayPilot.Event; find(filter: (e: DayPilot.Event) => boolean): DayPilot.Event; findAll(filter: (e: DayPilot.Event) => boolean): DayPilot.Event[]; findAll(example: any): DayPilot.Event[]; forRange(start?: DayPilot.Date | string, end?: DayPilot.Date | string): DayPilot.Event[]; load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; remove(e: DayPilot.Event): void; remove(data: EventData): void; remove(id: EventId): void; scrollIntoView(e: DayPilot.Event): void; update(e: DayPilot.Event): void; update(data: EventData): void; }; rows: { add(data: ResourceData): void; all(): DayPilot.Row[]; each(f: () => DayPilot.Row): void; find(filter: (row: DayPilot.Row) => boolean, startIndex?: number): DayPilot.Row; find(id: ResourceId, start?: DayPilot.Date | string): DayPilot.Row; load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; remove(row: DayPilot.Row): void; remove(id: ResourceId): void; sort(spec?: string | { field: string, order?: "asc" | "desc" }): void; update(row: DayPilot.Row | ResourceData): void; }; constructor(id: string | HTMLElement, options?: SchedulerConfig); clearSelection(): void; dispose(): void; disposed(): boolean; dragInProgress(): boolean; getCoords(): { x: number, y: number, row: DayPilot.Row, time: DayPilot.Date }; getDate(pixels: number, precise?: boolean, isEnd?: boolean): DayPilot.Date; getScrollX(): number; getScrollY(): number; getViewport(): SchedulerViewport; hide(): void; init(): void; scrollTo(date: string | DayPilot.Date): void; scrollToResource(id: ResourceId | DayPilot.Row): void; selectTimeRange(start: DayPilot.Date | string, end: DayPilot.Date | string, resource: ResourceId, dontFireEvent?: boolean): void; setHeight(pixels: number): void; setScroll(scrollX: number, scrollY: number): void; setScrollX(scrollX: number): void; setScrollY(scrollY: number): void; show(): void; update(options?: SchedulerConfig): void; visibleStart(): DayPilot.Date; visibleEnd(): DayPilot.Date; } export interface SchedulerAfterUpdateArgs { } export interface SchedulerBeforeCellRenderArgs { readonly cell: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly row: DayPilot.Row; readonly x: number; readonly y: number; readonly properties: { html: string; business: boolean; backColor: string; backImage: string; backRepeat: string; fontColor: string; cssClass: string; text: string; }; }; } export interface SchedulerBeforeEventRenderArgs { readonly control: DayPilot.Scheduler; readonly data: EventData; } export interface SchedulerBeforeRowHeaderRenderArgs { readonly row: RenderRow; } export interface SchedulerBeforeTimeHeaderRenderArgs { readonly control: Scheduler; readonly header: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly level: number; areas: AreaData[]; text: string; html: string; toolTip: string; backColor: string; fontColor: string; cssClass: string; }; } export interface SchedulerEventClickArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; readonly ctrl: boolean; readonly meta: boolean; readonly shift: boolean; readonly control: DayPilot.Scheduler; readonly originalEvent: MouseEvent; preventDefault(): void; } export interface SchedulerEventClickedArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; readonly ctrl: boolean; readonly meta: boolean; readonly shift: boolean; readonly control: DayPilot.Scheduler; readonly originalEvent: MouseEvent; } export interface SchedulerEventDeleteArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Scheduler; preventDefault(): void; } export interface SchedulerEventDeletedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Scheduler; } export interface SchedulerEventMoveArgs { async: boolean; readonly areaData: any; readonly control: DayPilot.Scheduler; readonly e: DayPilot.Event; newStart: DayPilot.Date; newEnd: DayPilot.Date; newResource: ResourceId; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; loaded(): void; preventDefault(): void; } export interface SchedulerEventMovedArgs { readonly async: boolean; readonly areaData: any; readonly control: DayPilot.Scheduler; readonly e: DayPilot.Event; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly newResource: ResourceId; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; } export interface SchedulerEventResizeArgs { readonly areaData: any; async: boolean; readonly control: DayPilot.Scheduler; readonly e: DayPilot.Event; newStart: DayPilot.Date; newEnd: DayPilot.Date; readonly what: "start" | "end"; // TODO check loaded(): void; preventDefault(): void; } export interface SchedulerEventResizedArgs { readonly areaData: any; readonly async: boolean; readonly control: DayPilot.Scheduler; readonly e: DayPilot.Event; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly what: "start" | "end"; } export interface SchedulerEventRightClickArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; readonly originalEvent: MouseEvent; preventDefault(): void; } export interface SchedulerEventRightClickedArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; readonly originalEvent: MouseEvent; } export interface SchedulerRowClickArgs { readonly row: DayPilot.Row; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; readonly originalEvent: MouseEvent; preventDefault(): void; } export interface SchedulerRowClickedArgs { readonly row: DayPilot.Row; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; readonly originalEvent: MouseEvent; } export interface SchedulerTimeHeaderClickArgs { readonly control: Scheduler; readonly header: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly level: number; }; readonly originalEvent: MouseEvent; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; preventDefault(): void; } export interface SchedulerTimeHeaderClickedArgs { readonly control: Scheduler; readonly header: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly level: number; }; readonly originalEvent: MouseEvent; readonly ctrl: boolean; readonly shift: boolean; readonly meta: boolean; } export interface SchedulerTimeHeaderRightClickArgs { readonly header: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly level: number; }; preventDefault(): void; } export interface SchedulerTimeHeaderRightClickedArgs { readonly header: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly level: number; }; } export interface SchedulerTimeRangeClickArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; preventDefault(): void; } export interface SchedulerTimeRangeClickedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; } export interface SchedulerTimeRangeSelectArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly control: DayPilot.Scheduler; preventDefault(): void; } export interface SchedulerTimeRangeSelectedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly control: DayPilot.Scheduler; } // TODO check if all values are supported export type GroupBy = "Minute" | "Hour" | "Day" | "Week" | "Month" | "Quarter" | "Year" | "Cell" | "None"; export interface SchedulerViewport { start: DayPilot.Date, end: DayPilot.Date, resources: ResourceId[] } export interface ResourceData { id?: ResourceId; name?: string; start?: DayPilot.Date | string; end?: DayPilot.Date | string; areas?: AreaData[]; ariaLabel?: string; backColor?: string; fontColor?: string; cssClass?: string; html?: string; tags?: any; toolTip?: string; [prop: string]: any; } export interface TimeHeaderData { groupBy: GroupBy; format?: string; height?: number; } export class Row { events: { all(): DayPilot.Event[]; isEmpty(): boolean; forRange(start: string | DayPilot.Date, end: string | DayPilot.Date): DayPilot.Event[]; totalDuration(): DayPilot.Duration; }; readonly calendar: DayPilot.Scheduler; readonly data: any; readonly id: ResourceId; readonly index: number; readonly level: number; readonly name: string; addClass(className: string): void; remove(): void; removeClass(className: string): void; } export class RenderRow extends Row { areas: AreaData[]; backColor: string; cssClass: string; fontColor: string; horizontalAlignment: HorizontalAlignment; html: string; text: string; toolTip: string; } export class CalendarPropsAndEvents { backendUrl?: string; businessBeginsHour?: number; businessEndsHour?: number; cellHeight?: number; columnMarginLeft?: number; columnMarginRight?: number; columnsLoadMethod?: "POST" | "GET"; contextMenu?: DayPilot.Menu; days?: number; doubleClickTimeout?: number; durationBarVisible?: boolean; eventBorderRadius?: string | number; eventClickHandling?: "Enabled" | "Disabled" | "CallBack" | "ContextMenu"; eventDeleteHandling?: "Update" | "Disabled" | "CallBack"; eventMoveHandling?: "Update" | "CallBack" | "Disabled"; eventResizeHandling?: "Update" | "CallBack" | "Disabled"; eventRightClickHandling?: "ContextMenu" | "Enabled" | "Disabled"; headerClickHandling?: "Enabled" | "Disabled"; headerDateFormat?: string; headerHeight?: number; headerTextWrappingEnabled?: boolean; height?: number; heightSpec?: "BusinessHours" | "BusinessHoursNoScroll" | "Full"; hideUntilInit?: boolean; hourWidth?: number; initScrollPos?: number; loadingLabelText?: string; loadingLabelHtml?: string; loadingLabelVisible?: boolean; locale?: string; showToolTip?: boolean; snapToGrid?: boolean; startDate?: DayPilot.Date | string; theme?: string; timeFormat?: "Auto" | "Clock12Hours" | "Clock24Hours"; timeRangeSelectedHandling?: "Enabled" | "Disabled" | "CallBack"; useEventBoxes?: "Always" | "Never"; viewType?: "Day" | "Days" | "Week" | "WorkWeek" | "Resources"; visible?: boolean; weekStarts?: "Auto" | number; xssProtection?: "Enabled" | "Disabled"; onAfterEventRender?: EventHandler<CalendarAfterEventRenderArgs>; onBeforeCellRender?: EventHandler<CalendarBeforeCellRenderArgs>; onBeforeEventRender?: EventHandler<CalendarBeforeEventRenderArgs>; onBeforeHeaderRender?: EventHandler<CalendarBeforeHeaderRenderArgs>; onEventClick?: EventHandler<CalendarEventClickArgs>; onEventClicked?: EventHandler<CalendarEventClickedArgs>; onEventDelete?: EventHandler<CalendarEventDeleteArgs>; onEventDeleted?: EventHandler<CalendarEventDeletedArgs>; onEventMove?: EventHandler<CalendarEventMoveArgs>; onEventMoved?: EventHandler<CalendarEventMovedArgs>; onEventResize?: EventHandler<CalendarEventResizeArgs>; onEventResized?: EventHandler<CalendarEventResizedArgs>; onEventRightClick?: EventHandler<CalendarEventRightClickArgs>; onEventRightClicked?: EventHandler<CalendarEventRightClickedArgs>; onHeaderClick?: EventHandler<CalendarHeaderClickArgs>; onHeaderClicked?: EventHandler<CalendarHeaderClickedArgs>; onTimeRangeSelect?: EventHandler<CalendarTimeRangeSelectArgs>; onTimeRangeSelected?: EventHandler<CalendarTimeRangeSelectedArgs>; } export class CalendarConfig extends CalendarPropsAndEvents { columns?: CalendarColumnData[]; events?: EventData[]; } export class Calendar extends CalendarPropsAndEvents { v: string; columns: { list: CalendarColumnData[]; load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; }; events: { list: EventData[]; add(e: DayPilot.Event | EventData): void; find(id: string): DayPilot.Event; find(filter: (e: DayPilot.Event) => boolean): DayPilot.Event; forRange(start?: DayPilot.Date | string, end?: DayPilot.Date | string): DayPilot.Event[]; load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; remove(e: DayPilot.Event): void; remove(id: EventId): void; update(e: DayPilot.Event | EventData): void; }; constructor(id: string | HTMLElement, options?: CalendarConfig); clearSelection(): void; dispose(): void; disposed(): boolean; getScrollY(): number; getSelection(): DayPilot.Selection; hide(): void; init(): void; setScrollY(scrollY: number): void; show(): void; update(options?: CalendarConfig): void; visibleStart(): DayPilot.Date; visibleEnd(): DayPilot.Date; } export interface CalendarColumnData { name: string; id?: ResourceId; start?: DayPilot.Date | string; html?: string; toolTip?: string; tags?: any; } export interface CalendarAfterEventRenderArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; } export interface CalendarBeforeCellRenderArgs { readonly cell: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly x: number; readonly y: number; readonly properties: { html: string; business: boolean; backColor: string; backImage: string; backRepeat: string; fontColor: string; cssClass: string; text: string; }; }; } export interface CalendarBeforeEventRenderArgs { readonly control: DayPilot.Calendar; readonly data: EventData; } export interface CalendarBeforeHeaderRenderArgs { readonly header: { readonly id: ResourceId; readonly start: DayPilot.Date; readonly name: string; readonly children: CalendarColumnData[]; html: string; backColor: string; cssClass?: string; horizontalAlignment?: "left" | "center" | "right"; verticalAlignment?: "top" | "center" | "bottom"; toolTip: string; areas: AreaData[]; }; readonly column: Column; } export interface CalendarEventClickArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly ctrl: boolean; readonly meta: boolean; readonly originalEvent: MouseEvent; preventDefault(): void; } export interface CalendarEventClickedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly ctrl: boolean; readonly meta: boolean; readonly originalEvent: MouseEvent; } export interface CalendarEventRightClickArgs { readonly e: DayPilot.Event; preventDefault(): void; } export interface CalendarEventRightClickedArgs { readonly e: DayPilot.Event; } export interface CalendarEventDeleteArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; preventDefault(): void; } export interface CalendarEventDeletedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; } export interface CalendarEventMoveArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly newResource: ResourceId; readonly ctrl: boolean; readonly shift: boolean; preventDefault(): void; } export interface CalendarEventMovedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly newResource: ResourceId; readonly ctrl: boolean; readonly shift: boolean; } export interface CalendarEventResizeArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; preventDefault(): void; } export interface CalendarEventResizedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Calendar; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; } export interface CalendarHeaderClickArgs { readonly column: Column; readonly originalEvent: MouseEvent; readonly shift: boolean; readonly meta: boolean; readonly ctrl: boolean; preventDefault(): void; } export interface CalendarHeaderClickedArgs { readonly column: Column; readonly originalEvent: MouseEvent; readonly shift: boolean; readonly meta: boolean; readonly ctrl: boolean; } export interface CalendarTimeRangeSelectArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly control: DayPilot.Calendar; preventDefault(): void; } export interface CalendarTimeRangeSelectedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly resource: ResourceId; readonly control: DayPilot.Calendar; } export class Column { readonly id: ResourceId; readonly start: DayPilot.Date; readonly name: string; readonly data: CalendarColumnData; } export class MonthPropsAndEvents { backendUrl?: string; cellHeaderClickHandling?: "Enabled" | "Disabled"; cellHeaderHeight?: number; cellHeight?: number; cellMarginBottom?: number; contextMenu?: DayPilot.Menu; eventBarVisible?: boolean; eventBorderRadius?: string | number; eventClickHandling?: "Enabled" | "Disabled" | "CallBack" | "ContextMenu"; eventRightClickHandling?: "ContextMenu" | "Enabled" | "Disabled"; eventHeight?: number; eventDeleteHandling?: "Update" | "Disabled"; eventMoveHandling?: "Update" | "CallBack" | "Notify" | "Disabled"; eventResizeHandling?: "Update" | "CallBack" | "Notify" | "Disabled"; headerClickHandling?: "Enabled" | "Disabled" | "CallBack"; headerHeight?: number; hideUntilInit?: boolean; lineSpace?: number; locale?: string; showToolTip?: boolean; startDate?: DayPilot.Date | string; theme?: string; timeRangeSelectedHandling?: "Enabled" | "Disabled" | "CallBack"; visible?: boolean; weekStarts?: "Auto" | number; width?: string; xssProtection?: "Enabled" | "Disabled"; onAfterEventRender?: EventHandler<MonthAfterEventRenderArgs>; onBeforeEventRender?: EventHandler<MonthBeforeEventRenderArgs>; onBeforeCellRender?: EventHandler<MonthBeforeCellRenderArgs>; onCellHeaderClick?: EventHandler<MonthCellHeaderClickArgs>; onCellHeaderClicked?: EventHandler<MonthCellHeaderClickedArgs>; onEventClick?: EventHandler<MonthEventClickArgs>; onEventClicked?: EventHandler<MonthEventClickedArgs>; onEventDelete?: EventHandler<MonthEventDeleteArgs>; onEventDeleted?: EventHandler<MonthEventDeletedArgs>; onEventMove?: EventHandler<MonthEventMoveArgs>; onEventMoved?: EventHandler<MonthEventMovedArgs>; onEventResize?: EventHandler<MonthEventResizeArgs>; onEventResized?: EventHandler<MonthEventResizedArgs>; onEventRightClick?: EventHandler<MonthEventRightClickArgs>; onEventRightClicked?: EventHandler<MonthEventRightClickedArgs>; onTimeRangeSelect?: EventHandler<MonthTimeRangeSelectArgs>; onTimeRangeSelected?: EventHandler<MonthTimeRangeSelectedArgs>; } export class MonthConfig extends MonthPropsAndEvents { events?: EventData[]; } export class Month extends MonthPropsAndEvents { v: string; events: { list: EventData[]; add(e: DayPilot.Event | EventData): void; find(id: string): DayPilot.Event; find(filter: (e: DayPilot.Event) => boolean): DayPilot.Event; forRange(start?: DayPilot.Date | string, end?: DayPilot.Date | string): DayPilot.Event[]; load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; remove(e: DayPilot.Event): void; remove(id: EventId): void; update(e: DayPilot.Event): void; }; constructor(id: string | HTMLElement, options?: MonthConfig); clearSelection(): void; dispose(): void; disposed(): boolean; init(): void; show(): void; hide(): void; update(options?: MonthConfig): void; visibleStart(): DayPilot.Date; visibleEnd(): DayPilot.Date; } export interface MonthAfterEventRenderArgs { readonly e: DayPilot.Event; readonly div: HTMLElement; } export interface MonthBeforeEventRenderArgs { readonly control: DayPilot.Month; readonly data: EventData; } export interface MonthBeforeCellRenderArgs { readonly control: DayPilot.Month; readonly cell: { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly properties: { business: boolean; headerHtml: string; html: string; backColor: string; } } } export interface MonthCellHeaderClickArgs { readonly control: DayPilot.Month; readonly start: DayPilot.Date; readonly end: DayPilot.Date; preventDefault(): void; } export interface MonthCellHeaderClickedArgs { readonly control: DayPilot.Month; readonly start: DayPilot.Date; readonly end: DayPilot.Date; } export interface MonthEventClickArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly div: HTMLElement; readonly originalEvent: MouseEvent; readonly meta: boolean; readonly ctrl: boolean; preventDefault(): void; } export interface MonthEventClickedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly div: HTMLElement; readonly originalEvent: MouseEvent; readonly meta: boolean; readonly ctrl: boolean; } export interface MonthEventRightClickArgs { readonly e: DayPilot.Event; preventDefault(): void; } export interface MonthEventRightClickedArgs { readonly e: DayPilot.Event; } export interface MonthEventDeleteArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; preventDefault(): void; } export interface MonthEventDeletedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; } export interface MonthEventMoveArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly ctrl: boolean; readonly shift: boolean; preventDefault(): void; } export interface MonthEventMovedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; readonly ctrl: boolean; readonly shift: boolean; } export interface MonthEventResizeArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; preventDefault(): void; } export interface MonthEventResizedArgs { readonly e: DayPilot.Event; readonly control: DayPilot.Month; readonly newStart: DayPilot.Date; readonly newEnd: DayPilot.Date; } export interface MonthTimeRangeSelectArgs { readonly control: DayPilot.Month; readonly start: DayPilot.Date; readonly end: DayPilot.Date; preventDefault(): void; } export interface MonthTimeRangeSelectedArgs { readonly control: DayPilot.Month; readonly start: DayPilot.Date; readonly end: DayPilot.Date; } export class NavigatorPropsAndEvents { cellHeight?: number; cellWidth?: number; command?: string; dayHeaderHeight?: number; freeHandSelectionEnabled?: boolean; locale?: string; orientation?: "Vertical" | "Horizontal"; rowsPerMonth?: "Auto" | "Six"; selectionDay?: DayPilot.Date; selectionEnd?: DayPilot.Date; selectionStart?: DayPilot.Date; selectMode?: "Day" | "Week" | "Month" | "None"; showMonths?: number; showToday?: boolean; showWeekNumbers?: boolean; skipMonths?: number; startDate?: DayPilot.Date | string; theme?: string; titleHeight?: number; todayHeight?: number; todayHtml?: string; todayPosition?: "Top" | "Bottom"; todayText?: string; weekStarts?: "Auto" | number; weekNumberAlgorithm?: "Auto" | "US" | "ISO8601"; timeRangeSelectedHandling?: "Bind" | "None"; visibleRangeChangedHandling?: "Enabled" | "Disabled" | "CallBack"; onBeforeCellRender?: EventHandler<NavigatorBeforeCellRenderArgs>; onTimeRangeSelect?: EventHandler<NavigatorTimeRangeSelectArgs>; onTimeRangeSelected?: EventHandler<NavigatorTimeRangeSelectedArgs>; onTodayClick?: EventHandler<NavigatorTodayClickArgs>; onVisibleRangeChange?: EventHandler<NavigatorVisibleRangeChangeArgs>; onVisibleRangeChanged?: EventHandler<NavigatorVisibleRangeChangedArgs>; } export class NavigatorConfig extends NavigatorPropsAndEvents { events?: EventData[]; } interface NavigatorSelectOptions { dontFocus?: boolean; dontNotify?: boolean; } export class Navigator extends NavigatorPropsAndEvents { v: string; events: { list: EventDataShort[]; }; constructor(id: string | HTMLElement, options?: NavigatorConfig); init(): void; dispose(): void; disposed(): boolean; update(options?: NavigatorConfig): void; select(date: DayPilot.Date | string, options?: NavigatorSelectOptions): void; select(start: DayPilot.Date | string, end: DayPilot.Date | string, options?: NavigatorSelectOptions): void; hide(): void; show(): void; visibleEnd(): DayPilot.Date; visibleStart(): DayPilot.Date; } interface NavigatorBeforeCellRenderArgs { readonly cell: { readonly day: DayPilot.Date; readonly isCurrentMonth: boolean; readonly isToday: boolean; readonly isWeekend: boolean; html: string; cssClass: string; }; } interface NavigatorTimeRangeSelectArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly day: DayPilot.Date; readonly days: number; readonly mode: "Day" | "Week" | "Month" | "None" | "FreeHand"; preventDefault(): void; } interface NavigatorTimeRangeSelectedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly day: DayPilot.Date; readonly days: number; readonly mode: "Day" | "Week" | "Month" | "None" | "FreeHand"; } export interface NavigatorTodayClickArgs { preventDefault(): void; } interface NavigatorVisibleRangeChangeArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; preventDefault(): void; } interface NavigatorVisibleRangeChangedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; } export class DatePickerPropsAndEvents { date?: DayPilot.Date | string; locale?: string | DayPilot.Locale; pattern?: string; patterns?: string[]; resetTarget?: boolean; showToday?: boolean; target?: string; theme?: string; todayText?: string; weekStarts?: "Auto" | number; onShow?: EventHandler<DatePickerShowArgs>; onTimeRangeSelect?: EventHandler<DatePickerTimeRangeSelectArgs>; onTimeRangeSelected?: EventHandler<DatePickerTimeRangeSelectedArgs>; } export class DatePickerConfig extends DatePickerPropsAndEvents { } export class DatePicker extends DatePickerPropsAndEvents{ constructor(options?: DatePickerConfig); close(): void; init(): void; select(): void; show(): void; } export interface DatePickerShowArgs { [key: string]: never; } export interface DatePickerTimeRangeSelectArgs { readonly date: DayPilot.Date; preventDefault(): void; } export interface DatePickerTimeRangeSelectedArgs { readonly date: DayPilot.Date; } export class Locale { datePattern: string; dateTimePattern: string; dayNames: string[]; dayNamesShort: string[]; monthNames: string[]; monthNamesShort: string[]; timeFormat: "Clock12Hours" | "Clock24Hours"; timePattern: string; weekStarts: number; constructor(id: string, properties: { dayNames: string[]; dayNamesShort: string[]; monthNames: string[]; monthNamesShort: string[]; timePattern: string; datePattern: string; dateTimePattern: string; timeFormat: "Clock12Hours" | "Clock24Hours"; weekStarts: number; }); static register(locale: DayPilot.Locale): void; static find(id: string): DayPilot.Locale; } export class MenuPropsAndEvents { hideOnMouseOut?: boolean; items?: MenuItemData[]; menuTitle?: string; onShow?: EventHandler<MenuShowArgs>; onHide?: EventHandler<MenuHideArgs>; showMenuTitle?: boolean; zIndex?: number; theme?: string; } export class MenuConfig extends MenuPropsAndEvents { } export class Menu extends MenuPropsAndEvents { v: string; constructor(options?: MenuConfig); show(target?: any): void; hide(): void; static hide(): void; } export interface MenuShowArgs { readonly source: any; readonly menu: DayPilot.Menu; preventDefault(): void; } export interface MenuHideArgs { } export class MenuBar { items: any[]; constructor(id: string, options?: any); init(): void; dispose(): void; } export interface MenuItemData { action?: "CallBack" | "PostBack"; command?: string; cssClass?: string; disabled?: boolean; hidden?: boolean; href?: string; icon?: string; image?: string; items?: MenuItemData[]; onClick?: EventHandler<MenuItemClickArgs>; symbol?: string; tags?: any; target?: string; text?: string; html?: string; } export interface MenuItemClickArgs { readonly item: MenuItemData; readonly source: any; readonly originalEvent: MouseEvent; preventDefault(): void; } export class SwitcherPropsAndEvents { selectedClass?: string; syncScrollbar?: boolean; onChange?: EventHandler<SwitcherChangeArgs>; onChanged?: EventHandler<SwitcherChangedArgs>; onSelect?: EventHandler<SwitcherSelectArgs>; } export class SwitcherConfig extends SwitcherPropsAndEvents { triggers?: SwitcherTrigger[]; navigator?: DayPilot.Navigator; } export class Switcher extends SwitcherPropsAndEvents { constructor(options?: SwitcherConfig); readonly active: SwitcherView; addTrigger(id: string | HTMLElement, view: SwitcherViewControl): void; addNavigator(navigator: DayPilot.Navigator): void; select(triggerId: string): void; events: { load(url: string, success: (args: { data: any; preventDefault(): void; }) => void, error: (args: { request: XMLHttpRequest, exception: any; }) => void ): void; } } export interface SwitcherView { control: SwitcherViewControl; } export interface SwitcherTrigger { id: string | HTMLElement; view: SwitcherViewControl; } export interface SwitcherChangeArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly day: DayPilot.Date; readonly target: SwitcherView; preventDefault(): void; } export interface SwitcherChangedArgs { readonly start: DayPilot.Date; readonly end: DayPilot.Date; readonly day: DayPilot.Date; readonly target: SwitcherView; } export interface SwitcherSelectArgs { readonly source: HTMLElement; readonly target: SwitcherViewControl; } export type SwitcherViewControl = DayPilot.Calendar | DayPilot.Month; export class Date { constructor(str?: string | DayPilot.Date); constructor(date: GlobalDate, isLocal?: boolean); addDays(days: number): DayPilot.Date; addHours(hours: number): DayPilot.Date; addMilliseconds(millis: number): DayPilot.Date; addMinutes(minutes: number): DayPilot.Date; addMonths(months: number): DayPilot.Date; addSeconds(seconds: number): DayPilot.Date; addTime(ticks: number): DayPilot.Date; addTime(duration: DayPilot.Duration): DayPilot.Date; addYears(years: number): DayPilot.Date; dayOfWeek(): number; dayOfWeekISO(): number; dayOfYear(): number; daysInMonth(): number; daysInYear(): number; equals(another: DayPilot.Date): boolean; firstDayOfMonth(): DayPilot.Date; firstDayOfWeek(locale?: string | DayPilot.Locale): DayPilot.Date; firstDayOfWeek(firstDayOfWeek?: number): DayPilot.Date; firstDayOfYear(): DayPilot.Date; getDatePart(): DayPilot.Date; getDay(): number; getDayOfWeek(): number; getYear(): number; getHours(): number; getMilliseconds(): number; getMinutes(): number; getMonth(): number; getSeconds(): number; getTime(): number; getTimePart(): number; getTotalTicks(): number; getYear(): number; lastDayOfMonth(): DayPilot.Date; toDate(): GlobalDate; toDateLocal(): GlobalDate; toString(pattern?: string, locale?: string | DayPilot.Locale): string; toStringSortable(): string; weekNumber(): number; weekNumberISO(): number; static fromYearMonthDay(year: number, month: number, day: number): DayPilot.Date; static parse(input: string, pattern: string, locale?: string | DayPilot.Locale): DayPilot.Date; static today(): DayPilot.Date; static now(): DayPilot.Date; static Cache: DayPilotDateCache; } export class DayPilotDateCache { static clear(): void; } export class Util { static overlaps(start1: DayPilot.Date, end1: DayPilot.Date, start2: DayPilot.Date, end2: DayPilot.Date): boolean; static overlaps(start1: number, end1: number, start2: number, end2: number): boolean; static escapeHtml(text: string): string; } export class ColorUtil { static darker(color: string, steps?: number): string; static lighter(color: string, steps?: number): string; static contrasting(color: string, light?: string, dark?: string): string; } class Http { static get<T = any>(url: string, params?: Http.RequestParams): Promise<Http.Result<T>>; static post<T = any, B = any>(url: string, data: B, params?: Http.RequestParams): Promise<Http.Result<T>>; static put<T = any, B = any>(url: string, data: B, params?: Http.RequestParams): Promise<Http.Result<T>>; static patch<T = any, B = any>(url: string, data: B, params?: Http.RequestParams): Promise<Http.Result<T>>; static delete<T = any>(url: string, params?: Http.RequestParams): Promise<Http.Result<T>>; } namespace Http { interface RequestParams { contentType?: string; headers?: Record<string, string>; } interface Result<T = any> { request: XMLHttpRequest; data?: T; } } export class Duration { ticks: number; constructor(ticks: number); constructor(start: DayPilot.Date | string, end: DayPilot.Date | string); toString(pattern?: string): string; totalMilliseconds(): number; totalSeconds(): number; totalMinutes(): number; totalHours(): number; totalDays(): number; milliseconds(): number; seconds(): number; minutes(): number; hours(): number; days(): number; add(d: DayPilot.Duration): DayPilot.Duration; static ofWeeks(i: number): DayPilot.Duration; static ofDays(i: number): DayPilot.Duration; static ofHours(i: number): DayPilot.Duration; static ofMinutes(i: number): DayPilot.Duration; static ofSeconds(i: number): DayPilot.Duration; } export class Event { data: any; constructor(data: EventData); start(): DayPilot.Date; start(newStart: DayPilot.Date): void; end(): DayPilot.Date; end(newEnd: DayPilot.Date): void; id(): EventId; text(): string; text(newText: string): void; resource(): ResourceId; resource(newResource: ResourceId): void; duration(): DayPilot.Duration; } export class Selection { start: DayPilot.Date; end: DayPilot.Date; resource: string; } export interface EventDataShort { start: string | DayPilot.Date; end: string | DayPilot.Date; } export interface EventData { start: string | DayPilot.Date; end: string | DayPilot.Date; id: EventId; text: string; resource?: ResourceId; areas?: AreaData[]; backColor?: string; barBackColor?: string; barColor?: string; barHidden?: boolean; borderColor?: string; borderRadius?: string | number; padding?: string | number; cssClass?: string; fontColor?: string; html?: string; tags?: any; toolTip?: string; } export interface AreaData { action?: "Default" | "None" | "ContextMenu" | "ResizeEnd" | "ResizeStart" | "Move"; backColor?: string; background?: string; borders?: { top?: boolean; ri