ionic3-calendar3
Version:
Ionic3 calendar component
79 lines (78 loc) • 3.36 kB
TypeScript
import { Slides } from 'ionic-angular';
import { OnInit, OnChanges, EventEmitter, SimpleChanges, TemplateRef, ElementRef } from '@angular/core';
import { ICalendarComponent, IDisplayEvent, IEvent, ITimeSelected, IRange, IWeekView, IWeekViewRow, IWeekViewDateRow, CalendarMode, IDateFormatter } from './calendar';
import { CalendarService } from './calendar.service';
import { IDisplayAllDayEvent, IWeekViewAllDayEventSectionTemplateContext, IWeekViewNormalEventSectionTemplateContext } from "./calendar";
export declare class WeekViewComponent implements ICalendarComponent, OnInit, OnChanges {
private calendarService;
private elm;
slider: Slides;
class: boolean;
weekviewAllDayEventTemplate: TemplateRef<IDisplayAllDayEvent>;
weekviewNormalEventTemplate: TemplateRef<IDisplayEvent>;
weekviewAllDayEventSectionTemplate: TemplateRef<IWeekViewAllDayEventSectionTemplateContext>;
weekviewNormalEventSectionTemplate: TemplateRef<IWeekViewNormalEventSectionTemplateContext>;
formatWeekTitle: string;
formatWeekViewDayHeader: string;
formatHourColumn: string;
startingDayWeek: number;
allDayLabel: string;
hourParts: number;
eventSource: IEvent[];
markDisabled: (date: Date) => boolean;
locale: string;
dateFormatter: IDateFormatter;
dir: string;
scrollToHour: number;
preserveScrollPosition: boolean;
lockSwipeToPrev: boolean;
lockSwipes: boolean;
startHour: number;
endHour: number;
spaceBetween: number;
hourSegments: number;
onRangeChanged: EventEmitter<IRange>;
onEventSelected: EventEmitter<IEvent>;
onTimeSelected: EventEmitter<ITimeSelected>;
onTitleChanged: EventEmitter<string>;
views: IWeekView[];
currentViewIndex: number;
range: IRange;
direction: number;
mode: CalendarMode;
private inited;
private callbackOnInit;
private currentDateChangedFromParentSubscription;
private eventSourceChangedSubscription;
private hourColumnLabels;
private initScrollPosition;
private formatDayHeader;
private formatTitle;
private formatHourColumnLabel;
private hourRange;
constructor(calendarService: CalendarService, elm: ElementRef);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
onSlideChanged(): void;
move(direction: number): void;
static createDateObjects(startTime: Date, startHour: number, endHour: number, timeInterval: number): IWeekViewRow[][];
static getDates(startTime: Date, n: number): IWeekViewDateRow[];
private getHourColumnLabels();
getViewData(startTime: Date): IWeekView;
getRange(currentDate: Date): IRange;
onDataLoaded(): void;
refreshView(): void;
getTitle(): string;
private static getISO8601WeekNumber(date);
private static compareEventByStartOffset(eventA, eventB);
select(selectedTime: Date, events: IDisplayEvent[]): void;
placeEvents(orderedEvents: IDisplayEvent[]): void;
placeAllDayEvents(orderedEvents: IDisplayEvent[]): void;
overlap(event1: IDisplayEvent, event2: IDisplayEvent): boolean;
calculatePosition(events: IDisplayEvent[]): void;
private static calculateWidth(orderedEvents, size, hourParts);
eventSelected(event: IEvent): void;
setScrollPosition(scrollPosition: number): void;
}