UNPKG

@zohodesk/components

Version:

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

240 lines (204 loc) • 8.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getChangedHour = getChangedHour; exports.getChangedMinute = getChangedMinute; exports.getChangedNoon = getChangedNoon; var _index = require("./index"); var _Common = require("../../utils/Common"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function getChangedHour(values, event, focusOrders, keyActions) { var _ref = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}, _ref$is24Hour = _ref.is24Hour, is24Hour = _ref$is24Hour === void 0 ? false : _ref$is24Hour; var keyCode = event.keyCode, which = event.which; var _values$hour = values.hour, hour = _values$hour === void 0 ? '' : _values$hour; var isChanged = false; var newHour = Number.parseInt(hour) || 0; var focusOrder = focusOrders.focusOrder; var newFocusOrder = focusOrder; var isNewType = (0, _index.getIsNewValueType)(focusOrders, keyActions); var _getHourDetails = (0, _index.getHourDetails)(is24Hour), startPoint = _getHourDetails.startPoint, endPoint = _getHourDetails.endPoint; if (keyCode === 38) { //up arrow if (newHour === endPoint || (0, _index.getIsEmptyHour)(newHour, is24Hour)) { isChanged = true; newHour = startPoint; } else if (!(0, _index.getIsEmptyHour)(newHour, is24Hour)) { isChanged = true; newHour += 1; } } else if (keyCode === 40) { //down arrow if (newHour === startPoint || (0, _index.getIsEmptyHour)(newHour, is24Hour)) { isChanged = true; newHour = endPoint; } else if (!(0, _index.getIsEmptyHour)(newHour, is24Hour)) { isChanged = true; newHour -= 1; } } else if ((0, _index.getIsNumberTyped)(event)) { var keyString = (0, _Common.getKeyValue)(event); var newValue = isNewType ? keyString : hour.toString() + keyString; newValue = Number.parseInt(newValue); if (isNewType) { isChanged = true; if (newValue * 10 > endPoint) { newFocusOrder += 1; } newHour = newValue; } else { isChanged = true; newFocusOrder += 1; if (newValue > endPoint) { newHour = endPoint; } else if (!newValue) { newHour = startPoint; } else { newHour = newValue; } } } else if ((0, _index.getIsDeleteTyped)(keyCode)) { isChanged = true; newHour = ''; } return { hour: newHour, isChanged: isChanged, focusOrder: newFocusOrder }; } function getChangedMinute(values, event, focusOrders, keyActions) { var keyCode = event.keyCode, which = event.which; var _values$minute = values.minute, minute = _values$minute === void 0 ? '' : _values$minute; var isChanged = false; var isEmptyMinute = (0, _Common.getIsEmptyValue)(minute); var newMinute = isEmptyMinute ? '' : Number.parseInt(minute); var focusOrder = focusOrders.focusOrder; var newFocusOrder = focusOrder; var isNewType = (0, _index.getIsNewValueType)(focusOrders, keyActions); var _getMinuteDetails = (0, _index.getMinuteDetails)(), startPoint = _getMinuteDetails.startPoint, endPoint = _getMinuteDetails.endPoint; if (keyCode === 38) { //up arrow if (newMinute === endPoint || isEmptyMinute) { isChanged = true; newMinute = startPoint; } else if (!isEmptyMinute) { isChanged = true; newMinute += 1; } } else if (keyCode === 40) { //down arrow if (newMinute === startPoint || isEmptyMinute) { isChanged = true; newMinute = endPoint; } else if (newMinute) { isChanged = true; newMinute -= 1; } } else if ((0, _index.getIsNumberTyped)(event)) { var keyString = (0, _Common.getKeyValue)(event); var newValue = isNewType ? keyString : minute.toString() + keyString; newValue = Number.parseInt(newValue); if (isNewType) { isChanged = true; if (newValue * 10 > endPoint) { newFocusOrder += 1; } newMinute = newValue; } else { isChanged = true; newFocusOrder += 1; if (newValue > endPoint) { newMinute = endPoint; } else { newMinute = newValue; } } } else if ((0, _index.getIsDeleteTyped)(keyCode)) { isChanged = true; newMinute = ''; } return { minute: newMinute, isChanged: isChanged, focusOrder: newFocusOrder }; } function getChangedNoon(values, event, focusOrders /*keyActions*/ ) { var keyCode = event.keyCode, which = event.which; var _values$noon = values.noon, noon = _values$noon === void 0 ? '' : _values$noon; var isChanged = false; var newNoon = noon; var focusOrder = focusOrders.focusOrder; var newFocusOrder = focusOrder; // const isNewType = getIsNewValueType(focusOrders, keyActions); var _getNoonDetails = (0, _index.getNoonDetails)(), allowedValues = _getNoonDetails.allowedValues; var _allowedValues = _slicedToArray(allowedValues, 1), startPoint = _allowedValues[0]; var endPoint = allowedValues[allowedValues.length - 1]; var currentNoonIndex = allowedValues.indexOf(newNoon); if (keyCode === 38) { //up arrow if (newNoon === endPoint || !newNoon) { isChanged = true; newNoon = startPoint; } else if (newNoon) { isChanged = true; newNoon = allowedValues[currentNoonIndex + 1]; } } else if (keyCode === 40) { //down arrow if (newNoon === startPoint || !newNoon) { isChanged = true; newNoon = endPoint; } else if (newNoon) { isChanged = true; newNoon = allowedValues[currentNoonIndex - 1]; } } else if ((0, _index.getIsNoonValueTyped)(event)) { var keyString = (0, _Common.getKeyValue)(event).toUpperCase(); // let newValue = isNewType ? keyString : noon.toString() + keyString; var newValue = keyString; var needChangeNoon = newNoon.indexOf(newValue) === -1 ? true : false; if (needChangeNoon) { var newValueIndex = currentNoonIndex; allowedValues.some(function (val, index) { if (val.indexOf(newValue) >= 0) { newValueIndex = index; return true; } return false; }); if (currentNoonIndex !== newValueIndex) { isChanged = true; newNoon = allowedValues[newValueIndex]; } } } else if ((0, _index.getIsDeleteTyped)(keyCode)) { isChanged = true; newNoon = ''; } return { noon: newNoon, isChanged: isChanged, focusOrder: newFocusOrder }; }