UNPKG

@zohodesk/components

Version:

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

307 lines (246 loc) • 7.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addZero = addZero; exports.addZeroIfNeeded = addZeroIfNeeded; exports.arrayIsNotEqual = arrayIsNotEqual; exports.convertTwoDigitToYear = convertTwoDigitToYear; exports.convertYearToTwoDigit = convertYearToTwoDigit; exports.getDayDetails = getDayDetails; exports.getDayEnd = getDayEnd; exports.getHourDetails = getHourDetails; exports.getHourSuggestions = getHourSuggestions; exports.getIsCurrentYear = getIsCurrentYear; exports.getIsDeleteTyped = getIsDeleteTyped; exports.getIsEmptyHour = getIsEmptyHour; exports.getIsEmptyYear = getIsEmptyYear; exports.getIsNewValueType = getIsNewValueType; exports.getIsNoonValueTyped = getIsNoonValueTyped; exports.getIsNumberTyped = getIsNumberTyped; exports.getIsSupportedKey = getIsSupportedKey; exports.getMinuteDetails = getMinuteDetails; exports.getMinuteSuggestions = getMinuteSuggestions; exports.getMonthDetails = getMonthDetails; exports.getNoonDetails = getNoonDetails; exports.getYearDetails = getYearDetails; exports.removeYearPattern = removeYearPattern; var _common = require("../../utils/datetime/common"); var _constants = require("../constants"); var _dateFormat = require("./dateFormat"); /* eslint-disable no-param-reassign */ /** * Methods ** */ /** * Constants ** */ function convertYearToTwoDigit(year) { return parseInt(year.toString().slice(-2)); } function addZero() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var length = arguments.length > 1 ? arguments[1] : undefined; var newValue = value.toString(); for (var i = 0; i < length; i++) { if (newValue.length < length) { newValue = "0".concat(newValue); } else { break; } } return newValue; } function getDayEnd(month, year) { month -= 1; var monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; if (month && year) { return (0, _common.getMonthEnd)(month, year); } else if (month) { return monthend[month]; } return 31; } function getIsNumberTyped(event) { var keyCode = event.keyCode, ctrlKey = event.ctrlKey, metaKey = event.metaKey, shiftKey = event.shiftKey; if ((keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) && !ctrlKey && !metaKey && !shiftKey) { return true; } return false; } function getIsDeleteTyped(keyCode) { if (keyCode === 8) { return true; } return false; } function getIsNewValueType(focusOrders, keyActions) { var focusOrder = focusOrders.focusOrder, oldFocusOrder = focusOrders.oldFocusOrder; var oldKeyAction = keyActions.oldKeyAction, keyAction = keyActions.keyAction; return focusOrder !== oldFocusOrder || oldKeyAction !== keyAction; } function getDayDetails() { return { startPoint: 1, endPoint: 31 }; } function getMonthDetails() { return { startPoint: 1, endPoint: 12 }; } function getYearDetails(yearLength) { var dateObj = new Date(); var year = dateObj.getFullYear(); if (yearLength === 2) { return { startPoint: 0, endPoint: 99, currentYear: year }; } return { startPoint: 1850, endPoint: 9999, currentYear: year }; } function convertTwoDigitToYear() { var digitValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var selectedYear = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var dateObj = new Date(); var year = dateObj.getFullYear(); var digitValueStr = addZero(digitValue.toString(), 2); year = selectedYear ? selectedYear : year; if (digitValueStr && digitValueStr.length <= 2) { return parseInt(year.toString().slice(0, 2) + digitValueStr); } return digitValue; } function getHourDetails(is24Hour) { return { startPoint: is24Hour ? 0 : 1, endPoint: is24Hour ? 23 : 12 }; } function getHourSuggestions(is24Hour) { var _getHourDetails = getHourDetails(is24Hour), startPoint = _getHourDetails.startPoint, endPoint = _getHourDetails.endPoint; var hourArr = []; for (var hour = startPoint; hour <= endPoint; hour++) { var htxt = addZeroIfNeeded(hour); hourArr.push(htxt); } return hourArr; } function getMinuteDetails() { return { startPoint: 0, endPoint: 59 }; } function getMinuteSuggestions() { var _getMinuteDetails = getMinuteDetails(), startPoint = _getMinuteDetails.startPoint, endPoint = _getMinuteDetails.endPoint; var minArr = []; for (var minute = startPoint; minute <= endPoint; minute++) { var mtxt = addZeroIfNeeded(minute); minArr.push(mtxt); } return minArr; } function addZeroIfNeeded(value) { return value < 10 ? "0".concat(value) : value; } function getIsNoonValueTyped(event) { var keyCode = event.keyCode; if (keyCode === 65 || keyCode === 77 || keyCode === 80) { //A -65 //M -77 //P -80 return true; } return false; } function getNoonDetails() { return { allowedValues: ['AM', 'PM'] }; } function getIsArrowTyped(keyCode) { var arrowKeycodes = [37, 38, 39, 40]; if (arrowKeycodes.indexOf(keyCode) >= 0) { return true; } return false; } function getIsSupportedKey(event) { var keyCode = event.keyCode; if (getIsArrowTyped(keyCode) || getIsDeleteTyped(keyCode) || getIsNumberTyped(event) || getIsNoonValueTyped(event)) { return true; } return false; } function arrayIsNotEqual(a, b) { return a.some(function (val, index) { return val !== b[index]; }); } function getIsEmptyValue(value, startPoint, endPoint) { var newValue = parseInt(value) || 0; if (newValue >= startPoint && newValue <= endPoint) { return false; } return true; } function getIsEmptyHour(value, is24Hour) { var _getHourDetails2 = getHourDetails(is24Hour), startPoint = _getHourDetails2.startPoint, endPoint = _getHourDetails2.endPoint; return getIsEmptyValue(value, startPoint, endPoint); } function getIsEmptyYear(value, yearLength) { var _getYearDetails = getYearDetails(yearLength), startPoint = _getYearDetails.startPoint, endPoint = _getYearDetails.endPoint; return getIsEmptyValue(value, startPoint, endPoint); } function getIsCurrentYear(_ref) { var isDateTime = _ref.isDateTime, value = _ref.value, timeZone = _ref.timeZone; var isCurrentYear = false; if (value && value !== _constants.INVALID_DATE) { var dateObj = (0, _dateFormat.getDateText)(value, isDateTime, timeZone); var currentDateObj = new Date(); var currentYear = currentDateObj.getFullYear(); var selectedYear = dateObj.getFullYear(); isCurrentYear = currentYear === selectedYear; } return { isCurrentYear: isCurrentYear }; } function removeYearPattern(dateFormatArr, patternArr) { var newDateFormatArr = []; var newPatternArr = []; var yearIndex = ''; dateFormatArr.forEach(function (val, index) { var type = _constants.flags[val].type; if (type === 'year') { yearIndex = index; } else { newDateFormatArr.push(val); } }); newPatternArr = patternArr.slice(0, yearIndex - 1); return { dateFormatArr: newDateFormatArr, patternArr: newPatternArr }; }