UNPKG

4.43 kBTypeScriptView Raw
1import { CalendarSize, LayoutModifier, CalendarOptions, EventData, Day, MonthDisplayType, WeekdayDisplayType, Weekdays, StartWeekday } from "./types.d";
2export default class Calendar {
3 readonly CAL_NAME = "color-calendar";
4 readonly DAYS_TO_DISPLAY = 42;
5 id: string;
6 calendarSize: CalendarSize;
7 layoutModifiers: LayoutModifier[];
8 eventsData: EventData[];
9 theme: string;
10 primaryColor?: string;
11 headerColor?: string;
12 headerBackgroundColor?: string;
13 weekdaysColor?: string;
14 weekdayDisplayType: WeekdayDisplayType;
15 monthDisplayType: MonthDisplayType;
16 startWeekday: StartWeekday;
17 fontFamilyHeader?: string;
18 fontFamilyWeekdays?: string;
19 fontFamilyBody?: string;
20 dropShadow?: string;
21 border?: string;
22 borderRadius?: string;
23 disableMonthYearPickers: boolean;
24 disableDayClick: boolean;
25 disableMonthArrowClick: boolean;
26 customMonthValues?: string[];
27 customWeekdayValues?: string[];
28 monthChanged?: (currentDate?: Date, filteredMonthEvents?: EventData[]) => void;
29 dateChanged?: (currentDate?: Date, filteredDateEvents?: EventData[]) => void;
30 selectedDateClicked?: (currentDate?: Date, filteredDateEvents?: EventData[]) => void;
31 weekdayDisplayTypeOptions: {
32 short: Weekdays;
33 "long-lower": Weekdays;
34 "long-upper": Weekdays;
35 };
36 weekdays: Weekdays;
37 today: Date;
38 currentDate: Date;
39 pickerType: string;
40 eventDayMap: any;
41 oldSelectedNode: [HTMLElement, number] | null;
42 filteredEventsThisMonth: EventData[];
43 daysIn_PrevMonth: Day[];
44 daysIn_CurrentMonth: Day[];
45 daysIn_NextMonth: Day[];
46 firstDay_PrevMonth: StartWeekday;
47 firstDay_CurrentMonth: StartWeekday;
48 firstDay_NextMonth: StartWeekday;
49 numOfDays_PrevMonth: number;
50 numOfDays_CurrentMonth: number;
51 numOfDays_NextMonth: number;
52 yearPickerOffset: number;
53 yearPickerOffsetTemporary: number;
54 calendar: HTMLElement;
55 calendarRoot: HTMLElement;
56 calendarHeader: HTMLElement;
57 calendarWeekdays: HTMLElement;
58 calendarDays: HTMLElement;
59 prevButton: HTMLElement;
60 nextButton: HTMLElement;
61 pickerContainer: HTMLElement;
62 pickerMonthContainer: HTMLElement;
63 pickerYearContainer: HTMLElement;
64 yearPickerChevronLeft: HTMLElement;
65 yearPickerChevronRight: HTMLElement;
66 monthyearDisplay: HTMLElement;
67 monthDisplay: HTMLElement;
68 yearDisplay: HTMLElement;
69 addEventListeners: () => void;
70 configureStylePreferences: () => void;
71 togglePicker: (shouldOpen?: boolean) => void;
72 handleMonthPickerClick: (e: any) => void;
73 updateMonthPickerSelection: (newMonthValue: number) => void;
74 removeMonthPickerSelection: () => void;
75 handleYearPickerClick: (e: any) => void;
76 updateYearPickerSelection: (newYearValue: number, newYearIndex?: number) => void;
77 updateYearPickerTodaySelection: () => void;
78 removeYearPickerSelection: () => void;
79 generatePickerYears: () => void;
80 handleYearChevronLeftClick: () => void;
81 handleYearChevronRightClick: () => void;
82 setMonthDisplayType: (monthDisplayType: MonthDisplayType) => void;
83 handleMonthYearDisplayClick: (e: any) => void;
84 handlePrevMonthButtonClick: () => void;
85 handleNextMonthButtonClick: () => void;
86 updateMonthYear: () => void;
87 setWeekdayDisplayType: (weekdayDisplayType: WeekdayDisplayType) => void;
88 generateWeekdays: () => void;
89 setDate: (date: Date) => void;
90 getSelectedDate: () => Date;
91 clearCalendarDays: () => void;
92 updateCalendar: (isMonthChanged?: boolean) => void;
93 setOldSelectedNode: () => void;
94 selectDayInitial: (setDate?: boolean) => void;
95 handleCalendarDayClick: (e: any) => void;
96 removeOldDaySelection: () => void;
97 updateCurrentDate: (monthOffset: number, newDay?: number, newMonth?: number, newYear?: number) => void;
98 generateDays: () => void;
99 renderDays: () => void;
100 rerenderSelectedDay: (element: HTMLElement, dayNum: number, storeOldSelected?: boolean) => void;
101 getEventsData: () => any;
102 setEventsData: (events: EventData[]) => number;
103 addEventsData: (newEvents?: EventData[]) => number;
104 getDateEvents: (date: Date) => EventData[];
105 getMonthEvents: () => EventData[];
106 constructor(options?: CalendarOptions);
107 reset(date: Date): void;
108}