kendo-multi-calendar
Version:
Kendo UI calendar with multiple date selection.
38 lines (37 loc) • 1.35 kB
TypeScript
/// <reference types="kendo-ui" />
declare namespace kendo {
namespace ui {
interface Calendar {
_todayClick(e: CalendarEvent): void;
}
}
}
declare namespace kendoExt {
type CalendarDepth = 'month' | 'year' | 'decade' | 'century';
interface MultiCalendarOptions extends kendo.ui.CalendarOptions {
values?: Date[];
maxSelectedItems?: number | null;
cleanSelectedItemsOnTodayClick?: boolean;
}
class MultiCalendar extends kendo.ui.Calendar {
static fn: MultiCalendar;
private static _views;
options: MultiCalendarOptions;
private _values;
constructor(element: Element | JQuery | string, options?: MultiCalendarOptions);
private static isSameDate(first, second);
values(newValues?: Date[]): Date[];
value(newValue?: Date | string): Date;
navigate(value: Date, view: string): void;
navigateDown(value: Date): void;
_todayClick(e: kendo.ui.CalendarEvent): void;
private canSelectItems(amount);
private cellByDate(value);
private updateSelection(valuesToSelect, valuesToClear?);
private selectToday;
}
}
interface JQuery {
kendoMultiCalendar(options?: kendoExt.MultiCalendarOptions): JQuery;
data(key: 'kendoMultiCalendar'): kendoExt.MultiCalendar;
}