UNPKG

@kelvininc/ui-components

Version:
112 lines (108 loc) 4.89 kB
'use strict'; var date_helper = require('./date.helper-DwNTBYV0.js'); var absoluteTimePicker_config = require('./absolute-time-picker.config-BF9QIy90.js'); require('./components-D2lyDQ_a.js'); require('./lib-config-QLtHwxiM.js'); require('./action-button.types-BYOe6st0.js'); var absoluteTimePickerDropdown_types = require('./absolute-time-picker-dropdown.types-mPwO9zQk.js'); require('./icon.types-B8lvUrX_.js'); require('./summary-card.types-W26sTdH1.js'); require('./toaster.types-DlSCye8T.js'); require('./tree-item.types-C2yRoORC.js'); require('./tag-alarm.types-BeZw-7PT.js'); require('./wizard.types-DTbE-B6d.js'); const buildSelectedDatesEventPayload = (dateA, dateB) => { if (!dateA && !dateB) { return []; } if (!dateB) { return [dateA.format(absoluteTimePicker_config.CALENDAR_DATE_TIME_MASK)]; } return [dateA.format(absoluteTimePicker_config.CALENDAR_DATE_TIME_MASK), dateB.format(absoluteTimePicker_config.CALENDAR_DATE_TIME_MASK)]; }; const isEndDateAtStartOfDay = (date) => { return date.isValid() && date.hour() === 0 && date.minute() === 0 && date.second() === 0; }; const getFirstCalendarInitialDate = (displayedMonth) => { const initialDate = displayedMonth; return initialDate.isValid() ? initialDate.format(absoluteTimePicker_config.CALENDAR_MASK) : ''; }; const getSecondCalendarInitialDate = (displayedMonth) => { const initialDate = displayedMonth; return initialDate.isValid() ? initialDate.add(1, 'month').format(absoluteTimePicker_config.CALENDAR_MASK) : ''; }; const getMinimumDateFromDayClick = (clickedDate, minimumDate) => { const parsedMinDate = date_helper.dayjs(minimumDate, absoluteTimePicker_config.DATETIME_INPUT_MASK); if (clickedDate.startOf('day').isBefore(parsedMinDate)) { return parsedMinDate; } return clickedDate.startOf('day'); }; const getMaximumDateFromDayClick = (clickedDate, maximumDate) => { const parsedMaxDate = date_helper.dayjs(maximumDate, absoluteTimePicker_config.DATETIME_INPUT_MASK); if (clickedDate.endOf('day').isAfter(parsedMaxDate)) { return parsedMaxDate; } return clickedDate.endOf('day'); }; const getFromDateInputState = (error, { minDate }) => { if (!error) { return; } if (error === absoluteTimePickerDropdown_types.EAbsoluteTimeError.StartDateBeforeMinimumDate && minDate) { const min = date_helper.dayjs(minDate).format(absoluteTimePicker_config.DATETIME_INPUT_MASK); return { state: absoluteTimePickerDropdown_types.EValidationState.Invalid, helpText: `The 'FROM' date must be after ${min}` }; } return; }; const getToDateTimeInputState = (error, { maxDate }) => { if (!error) { return; } if (error === absoluteTimePickerDropdown_types.EAbsoluteTimeError.EndDateAfterMaximumDate && maxDate) { const max = date_helper.dayjs(maxDate).format(absoluteTimePicker_config.DATETIME_INPUT_MASK); return { state: absoluteTimePickerDropdown_types.EValidationState.Invalid, helpText: `The 'TO' date must be before ${max}` }; } if (error === absoluteTimePickerDropdown_types.EAbsoluteTimeError.EndDateBeforeStartDate) { return { state: absoluteTimePickerDropdown_types.EValidationState.Invalid, helpText: `The 'TO' date must be after 'FROM' date` }; } return; }; const getSingleDateTimeInputState = (error, { minDate, maxDate }) => { if (!error) { return; } if (error === absoluteTimePickerDropdown_types.EAbsoluteTimeError.StartDateBeforeMinimumDate && minDate) { const min = date_helper.dayjs(minDate).format(absoluteTimePicker_config.DATETIME_INPUT_MASK); return { state: absoluteTimePickerDropdown_types.EValidationState.Invalid, helpText: `The date must be after ${min}` }; } if (error === absoluteTimePickerDropdown_types.EAbsoluteTimeError.EndDateAfterMaximumDate && maxDate) { const max = date_helper.dayjs(maxDate).format(absoluteTimePicker_config.DATETIME_INPUT_MASK); return { state: absoluteTimePickerDropdown_types.EValidationState.Invalid, helpText: `The date must be before ${max}` }; } return; }; exports.buildSelectedDatesEventPayload = buildSelectedDatesEventPayload; exports.getFirstCalendarInitialDate = getFirstCalendarInitialDate; exports.getFromDateInputState = getFromDateInputState; exports.getMaximumDateFromDayClick = getMaximumDateFromDayClick; exports.getMinimumDateFromDayClick = getMinimumDateFromDayClick; exports.getSecondCalendarInitialDate = getSecondCalendarInitialDate; exports.getSingleDateTimeInputState = getSingleDateTimeInputState; exports.getToDateTimeInputState = getToDateTimeInputState; exports.isEndDateAtStartOfDay = isEndDateAtStartOfDay;