com.phloxui
Version:
PhloxUI Ng2+ Framework
271 lines (270 loc) • 10.4 kB
TypeScript
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';