diff --git a/demo/pages/input/main.ts b/demo/pages/input/main.ts
index a0921287..3e91be31 100644
--- a/demo/pages/input/main.ts
+++ b/demo/pages/input/main.ts
@@ -28,34 +28,6 @@ const configDiv: Options = {
}
self.hide();
},
- popups: {
- '2024-08-28': {
- modifier: 'bg-red',
- html: 'Meeting at 9:00 PM',
- },
- '2024-08-05': {
- modifier: 'bg-red text-bold',
- html: 'Meeting at 6:00 PM with a friend',
- },
- '2024-08-11': {
- modifier: 'bg-red text-bold',
- html: 'Diner at 8:00 PM with a friend',
- },
- '2024-08-19': {
- modifier: 'bg-orange',
- html: `
-
12:00 PM
-
Airplane in Las Vegas
-
`,
- },
- '2024-08-04': {
- modifier: 'bg-orange',
- html: `
-
12:00 PM
-
Lunch with John for initial meeting
-
`,
- },
- },
};
document.addEventListener('DOMContentLoaded', () => {
@@ -63,18 +35,44 @@ document.addEventListener('DOMContentLoaded', () => {
calendarInput.init();
const calendarDiv = new Calendar('#calendar-div', configDiv);
+ calendarDiv.set({
+ popups: {
+ '2024-08-28': {
+ modifier: 'bg-red',
+ html: 'Meeting at 9:00 PM',
+ },
+ '2024-08-05': {
+ modifier: 'bg-red text-bold',
+ html: 'Meeting at 6:00 PM with a friend',
+ },
+ '2024-08-11': {
+ modifier: 'bg-red text-bold',
+ html: 'Diner at 8:00 PM with a friend',
+ },
+ '2024-08-19': {
+ modifier: 'bg-orange',
+ html: `
+
12:00 PM
+
Airplane in Las Vegas
+
`,
+ },
+ '2024-08-04': {
+ modifier: 'bg-orange',
+ html: `
+
12:00 PM
+
Lunch with John for initial meeting
+
`,
+ },
+ },
+ });
calendarDiv.init();
document.querySelector('#set-date')?.addEventListener('click', () => {
- calendarInput.selectedDates = ['2023-04-07'];
- calendarInput.selectedMonth = 3;
- calendarInput.selectedYear = 2023;
- calendarInput.update({
- dates: true,
- month: true,
- year: true,
+ calendarInput.set({
+ selectedDates: ['2023-04-07'],
+ selectedMonth: 3,
+ selectedYear: 2023,
});
-
calendarInput.context.inputElement!.value = '2023-04-07';
});
});
diff --git a/package/src/scripts/methods/reset.ts b/package/src/scripts/methods/reset.ts
index 7a7cbe6a..54cedab2 100644
--- a/package/src/scripts/methods/reset.ts
+++ b/package/src/scripts/methods/reset.ts
@@ -4,7 +4,7 @@ import initAllVariables from '@scripts/utils/initVariables/initAllVariables';
import setContext from '@scripts/utils/setContext';
import type { Calendar, Reset } from '@src/index';
-const reset = (self: Calendar, { year, month, dates, time, locale }: Reset) => {
+const reset = (self: Calendar, { year, month, dates, time, locale }: Reset, recreate = true) => {
const previousSelected = {
year: self.selectedYear,
month: self.selectedMonth,
@@ -32,7 +32,7 @@ const reset = (self: Calendar, { year, month, dates, time, locale }: Reset) => {
}
initAllVariables(self);
- create(self);
+ if (recreate) create(self);
self.selectedYear = previousSelected.year;
self.selectedMonth = previousSelected.month;
diff --git a/package/src/scripts/methods/set.ts b/package/src/scripts/methods/set.ts
index de486f45..dfd6d4c6 100644
--- a/package/src/scripts/methods/set.ts
+++ b/package/src/scripts/methods/set.ts
@@ -1,11 +1,10 @@
-import reset from '@scripts/methods/reset';
+import update from '@scripts/methods/update';
import replaceProperties from '@scripts/utils/replaceProperties';
import type { Calendar, Options, Reset } from '@src/index';
const set = (self: Calendar, options: Options, resetOptions?: Partial) => {
- const defaultReset = { year: true, month: true, dates: true, time: true, locale: true };
replaceProperties(self, options);
- reset(self, { ...defaultReset, ...resetOptions });
+ if (self.context.isInit) update(self, resetOptions);
};
export default set;
diff --git a/package/src/scripts/methods/update.ts b/package/src/scripts/methods/update.ts
index 6da89fa7..9ee6fff1 100644
--- a/package/src/scripts/methods/update.ts
+++ b/package/src/scripts/methods/update.ts
@@ -1,14 +1,11 @@
-import createToInput from '@scripts/creators/createToInput';
import reset from '@scripts/methods/reset';
import errorMessages from '@scripts/utils/getErrorMessages';
import type { Calendar, Reset } from '@src/index';
const update = (self: Calendar, resetOptions?: Partial) => {
if (!self.context.isInit) throw new Error(errorMessages.notInit);
- if (self.inputMode && !self.context.inputModeInit) createToInput(self, false);
const defaultReset = { year: true, month: true, dates: true, time: true, locale: true };
-
- reset(self, { ...defaultReset, ...resetOptions });
+ reset(self, { ...defaultReset, ...resetOptions }, !(self.inputMode && !self.context.inputModeInit));
if (self.onUpdate) self.onUpdate(self);
};