@fluentui/react-northstar
Version:
A themable React component library.
56 lines (54 loc) • 2.28 kB
JavaScript
exports.__esModule = true;
exports.navigateToNewDate = exports.contstraintNavigatedDate = void 0;
var _dateTimeUtilities = require("../../utils/date-time-utilities");
var contstraintNavigatedDate = function contstraintNavigatedDate(initialDate, targetDate, direction, restrictedDatesOptions, navigateToDisabledDates) {
if (!targetDate) {
// if we couldn't find a target date at all, do nothing
return undefined;
}
var findAvailableDateOptions = Object.assign({
initialDate: initialDate,
targetDate: targetDate,
direction: direction
}, !navigateToDisabledDates && restrictedDatesOptions);
var newNavigatedDate = (0, _dateTimeUtilities.findAvailableDate)(findAvailableDateOptions);
if (!newNavigatedDate) {
// if no dates available in initial direction, try going backwards
findAvailableDateOptions.direction = -direction;
newNavigatedDate = (0, _dateTimeUtilities.findAvailableDate)(findAvailableDateOptions);
}
if (!navigateToDisabledDates && (0, _dateTimeUtilities.isAfterMaxDate)(targetDate, restrictedDatesOptions)) {
newNavigatedDate = restrictedDatesOptions.maxDate;
} else if (!navigateToDisabledDates && (0, _dateTimeUtilities.isBeforeMinDate)(targetDate, restrictedDatesOptions)) {
newNavigatedDate = restrictedDatesOptions.minDate;
}
return newNavigatedDate;
};
exports.contstraintNavigatedDate = contstraintNavigatedDate;
var navigateToNewDate = function navigateToNewDate(originalDate, kind, step, restrictedDatesOptions, navigateToDisabledDates) {
var targetDate = null;
var targetDayDirection = step > 0 ? 1 : -1;
switch (kind) {
case 'Month':
{
targetDate = (0, _dateTimeUtilities.addMonths)(originalDate, targetDayDirection);
break;
}
case 'Week':
{
targetDate = (0, _dateTimeUtilities.addWeeks)(originalDate, targetDayDirection);
break;
}
case 'Day':
{
targetDate = (0, _dateTimeUtilities.addDays)(originalDate, targetDayDirection);
break;
}
default:
break;
}
return contstraintNavigatedDate(originalDate, targetDate, step, restrictedDatesOptions, navigateToDisabledDates);
};
exports.navigateToNewDate = navigateToNewDate;
//# sourceMappingURL=navigateToNewDate.js.map
;