UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

96 lines (83 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getChangedMonth = getChangedMonth; var _index = require("./index"); var _Common = require("../../utils/Common"); /** * Methods ** */ function getChangedMonth(values, event, focusOrders, keyActions) { var keyCode = event.keyCode, which = event.which; var _values$day = values.day, day = _values$day === void 0 ? '' : _values$day, _values$month = values.month, month = _values$month === void 0 ? '' : _values$month, _values$year = values.year, year = _values$year === void 0 ? '' : _values$year; var isChanged = false; var newDay = Number.parseInt(day) || 0; var newMonth = Number.parseInt(month) || 0; var newYear = Number.parseInt(year) || 0; var focusOrder = focusOrders.focusOrder; var newFocusOrder = focusOrder; var isNewType = (0, _index.getIsNewValueType)(focusOrders, keyActions); var _getMonthDetails = (0, _index.getMonthDetails)(), startPoint = _getMonthDetails.startPoint, endPoint = _getMonthDetails.endPoint; if (keyCode === 38) { //up arrow if (newMonth === endPoint || !newMonth) { isChanged = true; newMonth = startPoint; } else if (newMonth) { isChanged = true; newMonth += 1; } } else if (keyCode === 40) { //down arrow if (newMonth === startPoint || !newMonth) { isChanged = true; newMonth = endPoint; } else if (newMonth) { isChanged = true; newMonth -= 1; } } else if ((0, _index.getIsNumberTyped)(event)) { var keyString = (0, _Common.getKeyValue)(event); var newValue = isNewType ? keyString : month.toString() + keyString; newValue = Number.parseInt(newValue); if (isNewType) { isChanged = true; if (newValue * 10 > endPoint) { newFocusOrder += 1; } newMonth = newValue; } else { isChanged = true; newFocusOrder += 1; if (newValue > endPoint) { newMonth = endPoint; } else if (!newValue) { newMonth = startPoint; } else { newMonth = newValue; } } } else if ((0, _index.getIsDeleteTyped)(keyCode)) { isChanged = true; newMonth = ''; } var dayEnd = (0, _index.getDayEnd)(newMonth, newYear); var dayChanged = false; if (newDay && newDay > dayEnd) { dayChanged = true; newDay = dayEnd; } return { day: dayChanged ? newDay : day, month: newMonth, isChanged: isChanged, focusOrder: newFocusOrder }; }