UNPKG

activity-calendar

Version:

a simple activity calendar

70 lines (69 loc) 2.29 kB
/// <reference types="jquery" /> /// <reference types="bootstrap" /> import Event, { EventCallback, IEventListener } from "./Event"; import IDate from "./IDate"; import IDataProvider from "./IDataProvider"; import IListenable from "./IListenable"; export interface ILangPhrases { nextBtnText: string; prevBtnText: string; noActivity: string; toCountActivity: string; } export interface IDrawerOptions { selector: string | JQuery; previousPeriodMonth?: number; nextPeriodMonth?: number; rtl?: boolean; colorStep?: number; showCalendarGuide?: boolean; showNextPeriodBtn?: boolean; showCurrentRangeInfo?: boolean; showPreviousPeriodBtn?: boolean; lang?: string; langs?: { [key: string]: ILangPhrases; }; onClickPreviousPeriodBtn?: (event: Event, newTimeWindow: { from: IDate; to: IDate; }, element: JQuery) => Promise<void>; onClickNextPeriodBtn?: (event: Event, newTimeWindow: { from: IDate; to: IDate; }, element: JQuery) => Promise<void>; onClickDay?: (event: Event, element: JQuery, day: IDate) => void; } export default class Drawer implements IListenable { protected dataProvider: IDataProvider; protected today: IDate; constructor(dataProvider: IDataProvider, today: IDate, options: IDrawerOptions); get from(): IDate; get to(): IDate; clone(): Drawer; destroy(): void; use(dataProvider: IDataProvider, rerender?: boolean): void; on(type: string | string[], callback: EventCallback): void; trigger(event: string | Event, ...args: any[]): Event; setThisDay(date: IDate, rebuildTable?: boolean): void; goToPrevious(): void; goToNext(): void; protected render(): void; protected setEvents(): void; protected events: IEventListener[]; protected options: IDrawerOptions; protected $element: JQuery; protected $header: JQuery; protected _from: IDate; protected _to: IDate; get element(): JQuery; protected get o(): IDrawerOptions; protected get dp(): IDataProvider; private onClickPreviousPeriodBtn; private onClickNextPeriodBtn; private onClickDay; private isDateLinkable; private setHeaderEvents; private setTableEvents; private translate; }