UNPKG

@eclipse-scout/core

Version:
270 lines 13.2 kB
/// <reference types="jquery" /> import { CalendarComponent, CalendarDirection, CalendarDisplayMode, CalendarEventMap, CalendarListComponent, CalendarModel, CalendarModesMenu, CalendarMoveData, CalendarResourceDo, CalendarSidebar, DateRange, EventHandler, GroupBox, InitModelOf, JsonDateRange, KeyStrokeContext, Menu, Point, PropertyChangeEvent, ResourcePanel, RoundingMode, Widget, YearPanel, YearPanelDateSelectEvent } from '../index'; export declare class Calendar extends Widget implements CalendarModel { model: CalendarModel; eventMap: CalendarEventMap; self: Calendar; monthViewNumberOfWeeks: number; numberOfHourDivisions: number; widthPerDivision: number; heightPerDivision: number; startHour: number; heightPerHour: number; heightPerDay: number; spaceBeforeScrollTop: number; workDayIndices: number[]; displayCondensed: boolean; displayMode: CalendarDisplayMode; components: CalendarComponent[]; selectedComponent: CalendarComponent; loadInProgress: boolean; selectedDate: Date; selectorStart: Date; selectorEnd: Date; showDisplayModeSelection: boolean; rangeSelectionAllowed: boolean; resources: CalendarResourceDo[]; selectedResource: CalendarResourceDo; defaultResource: CalendarResourceDo; title: string; useOverflowCells: boolean; viewRange: DateRange; calendarToggleListWidth: number; calendarToggleYearWidth: number; menuInjectionTarget: GroupBox; modesMenu: CalendarModesMenu; menus: Menu[]; calendarSidebar: CalendarSidebar; yearPanel: YearPanel; resourcePanel: ResourcePanel; selectedRange: DateRange; needsScrollToStartHour: boolean; defaultMenuTypes: string[]; showCalendarSidebar: boolean; showResourcePanel: boolean; showListPanel: boolean; $header: JQuery; $range: JQuery; $commands: JQuery; $grids: JQuery; $grid: JQuery; $topGrid: JQuery; $list: JQuery; $listContainer: JQuery; $listTitle: JQuery; $progress: JQuery; $headerRow1: JQuery; $headerRow2: JQuery; $title: JQuery; $select: JQuery; $window: JQuery<Window>; /** * The narrow view range is different from the regular view range. * It contains only dates that exactly match the requested dates, * the regular view range contains also dates from the first and * next month. The exact range is not sent to the server. */ protected _exactRange: DateRange; /** * When the list panel is shown, this list contains the scout.CalenderListComponent * items visible on the list. */ protected _listComponents: CalendarListComponent[]; protected _menuInjectionTargetMenusChangedHandler: EventHandler<PropertyChangeEvent<Menu[], GroupBox>>; /** * Resources, which do not have a child resources */ protected _leafResources: CalendarResourceDo[]; /** * Temporary data structure to store data while mouse actions are handled * @internal */ _moveData: CalendarMoveData; /** @internal */ _rangeSelectionStarted: boolean; protected _mouseMoveHandler: (event: JQuery.MouseMoveEvent) => void; protected _mouseUpHandler: (event: JQuery.MouseUpEvent) => void; protected _mouseMoveRangeSelectionHandler: (event: JQuery.MouseMoveEvent) => void; protected _mouseUpRangeSelectionHandler: (event: JQuery.MouseUpEvent) => void; constructor(); /** * Enum providing display-modes for calender-like components like calendar and planner. * @see ICalendarDisplayMode.java */ static DisplayMode: { readonly DAY: 1; readonly WEEK: 2; readonly MONTH: 3; readonly WORK_WEEK: 4; }; /** * Used as a multiplier in date calculations back- and forward (in time). */ static Direction: { readonly BACKWARD: -1; readonly FORWARD: 1; }; static MenuType: { readonly EmptySpace: "Calendar.EmptySpace"; readonly CalendarComponent: "Calendar.CalendarComponent"; }; isDay(): boolean; isWeek(): boolean; isMonth(): boolean; isWorkWeek(): boolean; protected _createKeyStrokeContext(): KeyStrokeContext; protected _createDefaultResource(): CalendarResourceDo; protected _init(model: InitModelOf<this>): void; protected _updateResourcePanelDisplayable(): void; setSelectedDate(date: Date | string): void; protected _setSelectedDate(date: Date | string): void; protected _renderSelectedDate(): void; setDisplayMode(displayMode: CalendarDisplayMode): void; protected _setDisplayMode(displayMode: CalendarDisplayMode): void; protected _renderDisplayMode(oldDisplayMode?: CalendarDisplayMode): void; protected _setViewRange(viewRange: DateRange | JsonDateRange): void; protected _setRangeSelectionAllowed(rangeSelectionAllowed: boolean): void; setSelectedRange(range: DateRange | JsonDateRange): void; protected _setMenus(menus: Menu[]): void; protected _setMenuInjectionTarget(menuInjectionTarget: GroupBox | string): void; protected _checkMenuInjectionTarget(menuInjectionTarget: GroupBox): boolean; protected _removeInjectedMenus(menuInjectionTarget: GroupBox, injectedMenus: Menu[]): Menu[]; setShowCalendarSidebar(showCalendarSidebar: boolean): void; setShowResourcePanel(showResourcePanel: boolean): void; setShowListPanel(showListPanel: boolean): void; protected _render(): void; protected _renderProperties(): void; setResources(resources: CalendarResourceDo[]): void; protected _setResources(resources: CalendarResourceDo[]): void; protected _renderResources(): void; protected _updateResourcePanel(): void; protected _validateSelectedResource(): void; setComponents(components: CalendarComponent[]): void; protected _setComponents(components: CalendarComponent[]): void; addComponents(components: CalendarComponent[]): void; protected _renderComponents(): void; protected _renderSelectedComponent(): void; protected _renderLoadInProgress(): void; updateScrollPosition(animate: boolean): void; protected _updateScrollPosition(scrollToInitialTime: boolean, animate: boolean): void; protected _updateScrollShadow(): void; protected _scrollToSelectedComponent(animate: boolean): void; protected _scrollToInitialTime(animate: boolean): void; protected _onPreviousClick(): void; protected _onNextClick(): void; protected _dateParts(date: Date, modulo?: boolean): { year: number; month: number; date: number; day: number; }; protected _navigateDate(direction: CalendarDirection): void; protected _calcSelectedDate(direction: CalendarDirection): Date; protected _updateModel(animate: boolean): void; /** * Calculates exact date range of displayed components based on selected-date. */ protected _calcExactRange(): DateRange; /** * Calculates the view-range, which is what the user sees in the UI. * The view-range is wider than the exact-range in the monthly mode, * as it contains also dates from the previous and next month. */ protected _calcViewRange(): DateRange; protected _onTodayClick(event: JQuery.ClickEvent): void; protected _onDisplayModeClick(event: JQuery.ClickEvent): void; protected _onCalendarSidebarClick(event: JQuery.ClickEvent): void; protected _onListClick(event: JQuery.ClickEvent): void; protected _onDayColumnMouseDown(withTime: boolean, event: JQuery.MouseDownEvent): void; protected _getSelectedDate(event: JQuery.MouseEventBase): Date; protected _getSelectedSeconds(event: JQuery.MouseEventBase): number; protected _getSelectedDateTime(event: JQuery.MouseEventBase): Date; /** * @param selectedComponent may be null when a day is selected */ protected _setSelection(selectedDate: Date, selectedResource: CalendarResourceDo | string, selectedComponent: CalendarComponent, updateScrollPosition: boolean, timeChanged: boolean): void; protected _get$CalendarComponent($element: JQuery): JQuery<HTMLElement>; protected _updateScreen(updateTopGrid: boolean, animate: boolean): void; layoutSize(animate?: boolean): void; protected _afterLayout($parent: JQuery, animate: boolean): void; protected _defaultResourceVisible(components?: CalendarComponent[]): boolean; isLeafResource(resourceId: string): boolean; findResourceForComponent(component: CalendarComponent): CalendarResourceDo; findResourceForId(resourceId: string): CalendarResourceDo; protected _updateWeekdayNames(): void; protected _updateScrollbars($parent: JQuery, animate: boolean): void; protected _uninstallComponentScrollbars($parent: JQuery): void; protected _updateTopGrid(): void; protected _updateFullDayIndices(fullDayComponents?: CalendarComponent[]): void; protected _calculateFullDayIndexKey(component: CalendarComponent, date: Date): string; layoutYearPanel(): void; layoutLabel(): void; layoutAxis(): void; protected _onYearPanelDateSelect(event: YearPanelDateSelectEvent): void; protected _updateListPanel(): void; protected _remove(): void; /** * Renders the panel on the left, showing all components of the selected date. */ protected _renderListPanel(): void; protected _filterCurrentDate(component: CalendarComponent): boolean; protected _filterVisibleComponents(component: CalendarComponent): boolean; /** @internal */ _selectedComponentChanged(component: CalendarComponent, resourceId: string, partDay: Date, updateScrollPosition: boolean): void; protected _onDayContextMenu(event: JQuery.ContextMenuEvent): void; /** @internal */ _showContextMenu(event: JQuery.ContextMenuEvent, allowedType: string): void; protected _calculateContextMenuVisible(event: JQuery.ContextMenuEvent): boolean; protected _onResourceVisibilityChanged(event: PropertyChangeEvent<string[]>): void; protected _updateResourceVisibility(updatedResources: [resourceId: string, visible: boolean][]): void; protected _updateResourcesVisibleProperty(resourceId: string, visible: boolean): void; protected _arrangeComponents(): void; protected _getComponents($children: JQuery): CalendarComponent[]; /** @internal */ _sort(components: CalendarComponent[]): void; /** * Arrange components (stack width, stack index) per day */ protected _arrange(components: CalendarComponent[], day: Date): void; protected _allEndBefore(columns: CalendarComponent[], pos: number, day: Date): boolean; protected _findReplaceableColumn(columns: CalendarComponent[], pos: number, day: Date): number; protected _endsBefore(component: CalendarComponent, pos: number, day: Date): boolean; protected _arrangeComponentSetPlacement($children: JQuery, day: Date): void; protected _calculateStackKey(date: Date, resourceId?: string): string; get$Scrollable(): JQuery; protected _onMouseDown(event: JQuery.MouseDownEvent): void; protected _onMouseMove(event: JQuery.MouseMoveEvent): void; protected _scrollViewportWhileDragging(event: JQuery.MouseMoveEvent): void; protected _onMouseUp(event: JQuery.MouseUpEvent): void; protected _onComponentMouseDown(event: JQuery.MouseDownEvent, component: CalendarComponent): void; protected _onComponentMouseMove(event: JQuery.MouseMoveEvent): void; protected _onComponentMouseUp(event: JQuery.MouseUpEvent): void; protected _whileComponentMove(): void; protected _endComponentMove(): void; protected _setComponentLogicalPosition(component: CalendarComponent, logicalPosition: Point): void; protected _getCalendarComponentForMouseEvent(event: JQuery.MouseDownEvent): CalendarComponent; protected _updateLeafResources(): void; protected _newMoveData(event: JQuery.MouseDownEvent): CalendarMoveData; toLogicalPosition(point: Point, roundingMode?: RoundingMode): Point; toLogicalPosition(x: number, y: number, roundingMode?: RoundingMode): Point; protected _hourMinuteByDivision(number: number): { hour: number; minute: number; }; protected _dayPositionByDivision(number: number): number; /** @internal */ _dayPosition(hour: number, minutes: number): number; protected _format(date: Date, pattern: string): string; protected _sortFromTo(c1: CalendarComponent, c2: CalendarComponent): number; protected _startRangeSelection(event: JQuery.MouseDownEvent, selectedResourceChanged: boolean): void; protected _findDayInCalendar(selectedDate: Date): JQuery; protected _findSelectedResourceColumn(selectedDate: Date): JQuery; protected _setRangeSelection(): void; protected _removeRangeSelection(): void; protected _appendCalendarRangeSelection(date: Date, fromTime: Date, toTime: Date): void; protected _getHours(date: Date): number; protected _onMouseMoveRangeSelection(event: JQuery.MouseMoveEvent): void; protected _onMouseUpRangeSelection(event: JQuery.MouseUpEvent): void; protected _updateSelectedRange(): void; } //# sourceMappingURL=Calendar.d.ts.map