@zohodesk/components
Version:
Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development
83 lines (71 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getChangedDay = getChangedDay;
var _index = require("./index");
var _Common = require("../../utils/Common");
/** * Methods ** */
function getChangedDay(values, event, focusOrders, keyActions) {
var keyCode = event.keyCode,
which = event.which;
var _values$day = values.day,
day = _values$day === void 0 ? '' : _values$day;
var isChanged = false;
var newDay = Number.parseInt(day) || 0; // const newMonth = Number.parseInt(month) || 0;
// const newYear = Number.parseInt(year) || 0;
var focusOrder = focusOrders.focusOrder;
var newFocusOrder = focusOrder;
var isNewType = (0, _index.getIsNewValueType)(focusOrders, keyActions);
var _getDayDetails = (0, _index.getDayDetails)(),
startPoint = _getDayDetails.startPoint,
endPoint = _getDayDetails.endPoint;
if (keyCode === 38) {
//up arrow
if (newDay === endPoint || !newDay) {
isChanged = true;
newDay = startPoint;
} else if (newDay) {
isChanged = true;
newDay += 1;
}
} else if (keyCode === 40) {
//down arrow
if (newDay === startPoint || !newDay) {
isChanged = true;
newDay = endPoint;
} else if (newDay) {
isChanged = true;
newDay -= 1;
}
} else if ((0, _index.getIsNumberTyped)(event)) {
var keyString = (0, _Common.getKeyValue)(event);
var newValue = isNewType ? keyString : day.toString() + keyString;
newValue = Number.parseInt(newValue);
if (isNewType) {
isChanged = true;
if (newValue * 10 > endPoint) {
newFocusOrder += 1;
}
newDay = newValue;
} else {
isChanged = true;
newFocusOrder += 1;
if (newValue > endPoint) {
newDay = endPoint;
} else if (!newValue) {
newDay = startPoint;
} else {
newDay = newValue;
}
}
} else if ((0, _index.getIsDeleteTyped)(keyCode)) {
isChanged = true;
newDay = '';
}
return {
day: newDay,
isChanged: isChanged,
focusOrder: newFocusOrder
};
}