UNPKG

@easyquery/core

Version:

EasyQuery.JS core modules

161 lines 5.91 kB
import { eqi18n } from "../i18n/i18n"; import { FormatParser } from "./format_parser"; import { DataType } from '../types/data_type'; var _numericTypes = [DataType.Byte, DataType.Word, DataType.Int32, DataType.Int64, DataType.Float, DataType.Currency]; var _intTypes = [DataType.Byte, DataType.Word, DataType.Int32, DataType.Int64]; export var equtils; (function (equtils) { function combinePath(path1, path2) { var result = path1; if (result != null && result.length > 0) { if (result.charAt(result.length - 1) != '/') result += "/"; result += path2; } else result = path2; return result; } equtils.combinePath = combinePath; function assign(target) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } for (var i = 0; i < args.length; i++) { var source = args[i]; for (var key in source) { if (source.hasOwnProperty(key)) { target[key] = source[key]; } } } return target; } equtils.assign = assign; function assignInDepth(target) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } for (var i = 0; i < args.length; i++) { var source = args[i]; for (var key in source) { if (source.hasOwnProperty(key)) { var value = source[key]; if (value !== null && typeof value === 'object') { assignInDepth(target[key], source[key]); } else { target[key] = source[key]; } } } } return target; } equtils.assignInDepth = assignInDepth; function generateId() { var now = new Date(); var num = Math.floor(Math.random() * 10000); return "Y" + now.getFullYear() + "-M" + now.getMonth() + "-D" + now.getDay() + "-H" + now.getHours() + "-M" + now.getMinutes() + "-S" + now.getSeconds() + "-MS" + now.getMilliseconds() + "-" + num; } equtils.generateId = generateId; function findItemById(array, id) { var arrLength = array.length; for (var idx = 0; idx < arrLength; idx++) { if (array[idx].id === id) return array[idx]; } return null; } equtils.findItemById = findItemById; function indexOfArrayItem(arr, item) { if (arr.indexOf) { return arr.indexOf(item); } else { var len = arr.length; for (var i = 0; i < len; i++) { if (item == arr[i]) { return i; } } return -1; } } equtils.indexOfArrayItem = indexOfArrayItem; function moveArrayItem(arr, old_index, new_index) { if (new_index >= arr.length) { var k = new_index - arr.length; while ((k--) + 1) { arr.push(undefined); } } arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); } equtils.moveArrayItem = moveArrayItem; function removeArrayItem(arr, value) { var index = arr.indexOf(value); if (index != -1) { return arr.splice(index, 1)[0]; } } equtils.removeArrayItem = removeArrayItem; function shiftToFitWindow(absLeft, width) { var body = document.getElementsByTagName('body')[0]; var winWidth = window.innerWidth || document.documentElement.clientWidth || body.clientWidth; var absRight = absLeft + width; var shift = 0; if (absRight > winWidth) { shift = winWidth - absRight - 10; if (absLeft + shift < 0) { shift = 10 - absLeft; } } return shift; } equtils.shiftToFitWindow = shiftToFitWindow; function isObject(val) { if (val === null) { return false; } return ((typeof val === 'function') || (typeof val === 'object')); } equtils.isObject = isObject; function isNumericType(typeName) { var index = _numericTypes.indexOf(typeName); return (index >= 0); } equtils.isNumericType = isNumericType; function isIntType(typeName) { var index = _intTypes.indexOf(typeName); return (index >= 0); } equtils.isIntType = isIntType; function isNumeric(val) { return !isNaN(parseFloat(val)) && isFinite(val); } equtils.isNumeric = isNumeric; function areCompatibleDataTypes(type1, type2) { return typeof type1 == "undefined" || typeof type2 == "undefined" || type1 == DataType.Unknown || type2 == DataType.Unknown || (type1 == type2) || (type1 == DataType.Date && type2 == DataType.DateTime) || (type1 == DataType.DateTime && type2 == DataType.Date); } equtils.areCompatibleDataTypes = areCompatibleDataTypes; function parseOperatorFormat(operator) { var format = eqi18n.getText('Operators', operator.id, 'displayFormat'); if (!format) format = operator.displayFormat; var parser = new FormatParser(format); return parser.parse(); } equtils.parseOperatorFormat = parseOperatorFormat; function isPropSet(obj, propName) { return obj[propName] || obj[propName.toLowerCase()] || obj[propName.toUpperCase()]; } equtils.isPropSet = isPropSet; })(equtils || (equtils = {})); //# sourceMappingURL=utils.js.map