67 lines
2.6 KiB
JavaScript
67 lines
2.6 KiB
JavaScript
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
var _excluded = ["value", "referenceDate"];
|
|
import { areDatesEqual, getTodayDate, replaceInvalidDateByNull } from './date-utils';
|
|
import { getDefaultReferenceDate } from './getDefaultReferenceDate';
|
|
import { addPositionPropertiesToSections, createDateStrForInputFromSections } from '../hooks/useField/useField.utils';
|
|
export var singleItemValueManager = {
|
|
emptyValue: null,
|
|
getTodayValue: getTodayDate,
|
|
getInitialReferenceValue: function getInitialReferenceValue(_ref) {
|
|
var value = _ref.value,
|
|
referenceDate = _ref.referenceDate,
|
|
params = _objectWithoutProperties(_ref, _excluded);
|
|
if (value != null && params.utils.isValid(value)) {
|
|
return value;
|
|
}
|
|
if (referenceDate != null) {
|
|
return referenceDate;
|
|
}
|
|
return getDefaultReferenceDate(params);
|
|
},
|
|
cleanValue: replaceInvalidDateByNull,
|
|
areValuesEqual: areDatesEqual,
|
|
isSameError: function isSameError(a, b) {
|
|
return a === b;
|
|
},
|
|
hasError: function hasError(error) {
|
|
return error != null;
|
|
},
|
|
defaultErrorState: null,
|
|
getTimezone: function getTimezone(utils, value) {
|
|
return value == null || !utils.isValid(value) ? null : utils.getTimezone(value);
|
|
},
|
|
setTimezone: function setTimezone(utils, timezone, value) {
|
|
return value == null ? null : utils.setTimezone(value, timezone);
|
|
}
|
|
};
|
|
export var singleItemFieldValueManager = {
|
|
updateReferenceValue: function updateReferenceValue(utils, value, prevReferenceValue) {
|
|
return value == null || !utils.isValid(value) ? prevReferenceValue : value;
|
|
},
|
|
getSectionsFromValue: function getSectionsFromValue(utils, date, prevSections, isRTL, getSectionsFromDate) {
|
|
var shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
|
|
if (shouldReUsePrevDateSections) {
|
|
return prevSections;
|
|
}
|
|
return addPositionPropertiesToSections(getSectionsFromDate(date), isRTL);
|
|
},
|
|
getValueStrFromSections: createDateStrForInputFromSections,
|
|
getActiveDateManager: function getActiveDateManager(utils, state) {
|
|
return {
|
|
date: state.value,
|
|
referenceDate: state.referenceValue,
|
|
getSections: function getSections(sections) {
|
|
return sections;
|
|
},
|
|
getNewValuesFromNewActiveDate: function getNewValuesFromNewActiveDate(newActiveDate) {
|
|
return {
|
|
value: newActiveDate,
|
|
referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate
|
|
};
|
|
}
|
|
};
|
|
},
|
|
parseValueStr: function parseValueStr(valueStr, referenceValue, parseDate) {
|
|
return parseDate(valueStr.trim(), referenceValue);
|
|
}
|
|
}; |