@easyquery/core
Version:
EasyQuery.JS core modules
161 lines • 5.91 kB
JavaScript
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