1 | import { CalendarSize, LayoutModifier, CalendarOptions, EventData, Day, MonthDisplayType, WeekdayDisplayType, Weekdays, StartWeekday } from "./types.d";
|
2 | export 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 | }
|