UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

271 lines (270 loc) 10.4 kB
import { OnInit, ElementRef, Type, EventEmitter, OnDestroy } from '@angular/core'; import { AbstractDataEditorView } from './AbstractDataEditorView'; import { AbstractDataEditor } from './AbstractDataEditor'; import { ICalendarEntryMapper } from './ICalendarEntryMapper'; import { CalendarViewModel, CalendarEntryPopoverModel, DefaultSelectItemModel } from '../model/models'; import { IHasData } from '../IHasData'; import { INeedFocus } from '../INeedFocus'; import { ParrotsEditorSettingFactory } from '../../service/ParrotsEditorSettingFactory.service'; import { UIHistory } from "../model/UIHistory"; import { NeedFocusService } from "../../service/NeedFocusService.service"; export declare class CalendarView extends AbstractDataEditorView implements OnInit, OnDestroy, INeedFocus { static readonly TYPE_NAME: string; private AGENDA_CONTENT_SELECTOR; private DAY_CONTENT_SELECTOR; private WEEK_CONTENT_SELECTOR; private MONTH_CONTENT_SELECTOR; protected editor: AbstractDataEditor; protected model: CalendarViewModel; protected dataParent: IHasData; protected ignoreParentData: boolean; protected ignoreParentDisabled: boolean; protected delegateHistory: boolean; protected onDisabled: Function; protected onEnabled: Function; protected loadingEnabled: boolean; protected i18nKey: string; protected bypass: boolean; protected options: any; private dayViewLabel; private weekViewLabel; private monthViewLabel; private agendaViewLabel; private sundayLabel; private mondayLabel; private tuesdayLabel; private wednesdayLabel; private thursdayLabel; private fridayLabel; private saturdayLabel; private agendaHeaderLabel; private moreEntryLabel; private itemEntryLabel; private viewChangeEvent; protected showEvent: EventEmitter<any>; protected hideEvent: EventEmitter<any>; private currentMonth; private today; private editable; private monthDayContainer; private dayTimeContainer; private weekDayContainer; private agendaRowContainer; private weekRowContainer; private dayRowContainer; private monthRowContainer; private monthMoreRowContainer; private calendarData; private entryWrappers; private currentView; private tabComponentType; private tabComponentModel; private tabPane; private showAddTabBtn; private showBtnGroup; private timelineData; private noteData; private firstTabAdding; private currentTimeTop; private dropdownCompoType; private dropdownItems; private dropdownShow; private currentEntryMapper; private agendaPosition; private agendaMap; private isAgendaViewClicked; private isAgendaScrolling; private agendaScrollTimer; private agendaDelayTimer; private i18NResource; private needFocusService; private isDayEntryClick; private isWeekEntryClick; private isMonthEntryClick; private dayEntryPopover; private dayEntryModel; private dayEntrySelected; private dayEntrydelayTimer; private weekEntryPopover; private weekEntryModel; private weekEntrySelected; private weekEntrydelayTimer; private monthEntryPopover; private monthEntryModel; private monthEntrySelected; private monthEntrydelayTimer; private monthMoreEntryPopover; private monthMoreEntryModel; private monthMoreEntrySelected; private monthMoreEntrydelayTimer; private dayDraggingEntry; private dayDragging; private dayMouseDifPositionY; private weekDraggingEntry; private weekDragging; private weekMouseDifPositionY; private weekMouseDifPositionX; private monthDraggingEntry; private monthDragging; private monthMouseDifPositionY; private monthMouseDifPositionX; private defaultDropdownIdx; private defaultRowHeight; private defaultEntryWidth; private defaultEntryPadding; private defaultRowBorderWeight; private defaultWeekEntryWidth; private defaultMonthEntryWidth; private defaultMonthEntryHeight; private defaultMonthHeight; private defaultAgendaScrollDelay; private defaultTopArrowPopover; constructor(elementRef: ElementRef, editorSettingFactory: ParrotsEditorSettingFactory, needFocusService: NeedFocusService); ngOnInit(): void; ngOnDestroy(): void; protected initEditor(): void; private closeAllPopover(); private getCalendarDropdownMapperArray(); private getCalendarDropdownMapper(index); private getCalendarDropdownLabelArray(); private getCalendarDropdownLabel(index); private closePopover(view, $event?); private removeData(data); private replaceCalendarData(data); private reloadDataToCalendar(); private reloadPage(); private getEntryPopoverType(view); private createTestData(); private setCurrentTimeIndicator(); private getResolveWrapperObject(dataObj); private getWrapperObject(fromDate, toDate, title, calendarEntry); private getWrapperObjectContainer(wrapperObjectArray); private resetMonthDayContainer(); private resetWeekDayContainer(); private nextMonth(); private prevMonth(); private nextWeek(); private prevWeek(); onDayEntryClicked($event: Event, entryData: any): void; onWeekEntryClicked($event: Event, entryData: any): void; onMonthEntryClicked($event: Event, entryData: any): void; onMonthMoreEntryClicked($event: Event, entryData: any): void; _isDayEntryPopoverModelEmpty(): boolean; _isWeekEntryPopoverModelEmpty(): boolean; _isMonthEntryPopoverModelEmpty(): boolean; _isMonthMoreEntryPopoverModelEmpty(): boolean; private getAllDayItems(); private sortDateWrapperObject(objArray); private sortWrapperObject(objArray); private sortWeekWrapperObject(objArray); private setCalendarMonth(date); private reRenderViewData(viewName, date); private dayRender(date); private weekRender(date); private weekDataRender(fromDate, toDate); private monthDataRender(date); private calendarRender(date); private fetchDayData(selectedDate); private fetchWeekData(fromDate, toDate); private fetchAgendaData(fromDate, toDate); private updateAgendaPosition(); private fetchMonthData(monthDate); private getWeekDayName(day); _isCurrentWeekHasToday(): boolean; private scrollAgendaToDate(toDate); _isAgendaDayContainData(date: Date): boolean; _getCurrentMonth(): Date; _getTodayLeftWeekDay(): string; _getCurrentTimeTop(): string; _getWeekDayContainer(): any[]; _getMonthDayContainer(): any[]; _getMonthRowContainer(): any[]; _getMonthMoreRowContainer(): any[]; _getDayTimeContainer(): any[]; _getDayRowContainer(): any[]; _getAgendaRowContainer(): any[]; _getWeekRowContainer(): any[]; _isShowAddTabBtn(): boolean; _isShowBtnGroup(): boolean; onTabAdded($event: CustomEvent): void; onAgendaScrolled($event: any): void; onToggleChanged(toggleEvent: any): void; /** mouse dragging **/ onMouseDownDay($event: MouseEvent, entry: any): void; onMouseUpDay($event: MouseEvent, entry: any): void; onMouseMoveDay($event: MouseEvent, entry: any): void; onMouseDownWeek($event: MouseEvent, entry: any): void; onMouseUpWeek($event: MouseEvent, entry: any): void; onMouseMoveWeek($event: MouseEvent, entry: any): void; onMouseDownMonth($event: MouseEvent, entry: any): void; onMouseUpMonth($event: MouseEvent): void; onMouseMoveMonth($event: MouseEvent): void; /** end mouse dragging **/ private getTargetClassEvent($event, className, maxLoop?); private getCalendarEntryWrapper(data); private getEqualCalendarData(data); private getFakeMonthEntry(data); private getDayCalendarEntryWrapper(selectedDate); private updateMapperCalendarEntryWrapper(entryMapper); protected onViewSettingLoaded(): void; _bodyClick($event: Event): void; _isDateDisable(item: any): boolean; _isToday(date: Date): boolean; _isCurrentDate(date: Date): boolean; onDropdownChange($event: any): void; onDropdownShown($event: any): void; isViewShow(view: string): boolean; showCalendarView(view: string): void; getViewChangeEvent(): EventEmitter<any>; setViewChangeEvent(event: EventEmitter<any>): void; setSelectedCalendarDate(date: Date): void; getMonthLabel(): string; getWeekLabel(mode: string): string; nextMonthBtnClicked($event: Event): void; prevMonthBtnClicked($event: Event): void; nextWeekBtnClicked($event: Event): void; prevWeekBtnClicked($event: Event): void; onMonthEntryWrapperClicked($event: Event, item: any): void; onMonthEntryMoreWrapperClicked($event: Event, item: any): void; onDayClicked($event: Event, item: any): void; onAgendaDayClicked($event: Event, item: any): void; getEditorDirtyData(): Promise<any[]>; getSelectedData(): Promise<any[]>; getMoreEntryLabel(): string; getItemEntryLabel(): string; getMonthEntryModel(): CalendarEntryPopoverModel; getCurrentEntryMapper(): ICalendarEntryMapper; getMonthMoreEntryModel(): CalendarEntryPopoverModel; getDayEntryModel(): CalendarEntryPopoverModel; getWeekEntryModel(): CalendarEntryPopoverModel; isDropdownShow(): boolean; getDropdownItems(): DefaultSelectItemModel[]; getDefaultDropdownIdx(): number; getDropdownCompoType(): Type<any>; getDayViewLabel(): string; getWeekViewLabel(): string; getMonthViewLabel(): string; getAgendaViewLabel(): string; getSundayLabel(): string; getMondayLabel(): string; getTuesdayLabel(): string; getWednesdayLabel(): string; getThursdayLabel(): string; getFridayLabel(): string; getSaturdayLabel(): string; getTabComponentType(): Type<any>; getTabComponentModel(): any; getAgendaHeaderLabel(): string; isEditable(): boolean; selfSaveData(): void; selfResetData(): void; isSelfDataDirty(): boolean; doPreload(): Promise<any>; doLoaded(): void; getCurrentHistoryState(): any; loadHistoryState(history: UIHistory, state: any): Promise<void>; reloadView(): void; onLostFocus($event: any): void; onFocus(event: any): void; } export * from './calendar.internal/CalendarEntryPopover.component';