UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

68 lines (67 loc) 2.09 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const utils = require("./utils.cjs"); class CalendarModel { month; year; dates = []; constructor(month, year) { this.updateModel(month, year); } /** * Updates the model with the received month and year * * @param month - Number of the month (1 to 12). * @param year - Number of the year. * @memberof CalendarModel */ updateModel = (month, year) => { let validMonth = month; let validYear = year; if (!Number.isInteger(validMonth)) { validMonth = (/* @__PURE__ */ new Date()).getMonth() + 1; } if (!Number.isInteger(validYear)) { validYear = (/* @__PURE__ */ new Date()).getFullYear(); } this.month = validMonth; this.year = validYear; this.dates = utils.createDatesArray(validMonth, validYear); }; } const generateModelFromDate = (seedValue) => { let calendarModel; if (typeof seedValue === "string") { const today = /* @__PURE__ */ new Date(); calendarModel = new CalendarModel( today.getMonth() + 1, today.getFullYear() ); } else if (utils.isRange(seedValue)) { calendarModel = new CalendarModel( seedValue.startDate.getMonth() + 1, seedValue.startDate.getFullYear() ); } else { calendarModel = new CalendarModel( seedValue.getMonth() + 1, seedValue.getFullYear() ); } return calendarModel; }; const generateCalendarModel = (seedValue, visibleMonth, visibleYear) => { let calendarModel; if (visibleMonth && visibleYear) { calendarModel = new CalendarModel(visibleMonth, visibleYear); } else if (visibleMonth && !visibleYear) { calendarModel = new CalendarModel(visibleMonth, seedValue.getFullYear()); } else if (!visibleMonth && visibleYear) { calendarModel = new CalendarModel(1, visibleYear); } else { calendarModel = generateModelFromDate(seedValue); } return calendarModel; }; exports.default = CalendarModel; exports.generateCalendarModel = generateCalendarModel;