blumjs
Version:
A UI Package for Angular2
44 lines (35 loc) • 1.18 kB
text/typescript
import {DateUnit} from "./dateunit";
import {Row} from "./elements";
export interface CalendarBase {
weekDayNames: string[];
monthNames: string[];
weekFirstDay: number;
getMonthLength(date: DateUnit): number;
weekHeaders(): Row;
dayNumberOfMonthFirst(date: DateUnit): number;
dateToDateUnit(date: Date): DateUnit;
dateToString(date: Date, format: string): string;
dateUnitToDate(date: DateUnit): Date;
getNameOfMonth(num: number): string;
}
export class Calendar<T extends CalendarBase> {
calendar: T;
constructor(TCreator: {new (): T;}) {
this.calendar = new TCreator();
}
nameOfMonth(num: number): string {
return this.calendar.getNameOfMonth(num);
}
dateToString(date: Date, format: string): string {
return this.calendar.dateToString(date, format);
}
monthLength(date: DateUnit) {
return this.calendar.getMonthLength(date);
}
weekHeaders() {
return this.calendar.weekHeaders();
}
dayNumberofMonthFirst(date: DateUnit): number {
return this.calendar.dayNumberOfMonthFirst(date);
}
}