UNPKG

@up-group-ui/react-controls

Version:
338 lines 10.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isMobileDevice = exports.isNumeric = exports.setTimeOutWithPause = exports.ConvertToDate = exports.incrementJour = exports.jourDuMois = exports.isBissextile = exports.formatDate = exports.addZeroBeforeNumber = exports.objectContains = exports.objectIsIdentical = exports.arrayIsIdentical = exports.arrayIsNullOrEmpty = exports.numberIsNullOrUndef = exports.stringIsNullOrEmpty = exports.isNullOrUndef = exports.getFontSizeNumber = exports.getFontClassName = exports.generateUniqueId = exports.hasOwnProp = exports.callIfExists = void 0; var tslib_1 = require("tslib"); var typestyle_1 = require("typestyle"); var moment_1 = (0, tslib_1.__importDefault)(require("moment")); function callIfExists(func) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return typeof func === 'function' && func.apply(void 0, args); } exports.callIfExists = callIfExists; function hasOwnProp(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } exports.hasOwnProp = hasOwnProp; function generateUniqueId() { return Math.random().toString(36).substring(7); } exports.generateUniqueId = generateUniqueId; function getFontClassName(fontAttribut) { return (0, typestyle_1.style)({ fontSize: fontAttribut.fontSize, color: fontAttribut.color ? fontAttribut.color : '#3f3b37', fontWeight: fontAttribut.fontWeight ? fontAttribut.fontWeight : 'normal', fontStyle: fontAttribut.fontStyle ? fontAttribut.fontStyle : 'normal', fontStretch: fontAttribut.fontStrech ? fontAttribut.fontStrech : 'normal', lineHeight: fontAttribut.lineHeight ? fontAttribut.lineHeight : 'normal', letterSpacing: fontAttribut.letterSpacing ? fontAttribut.letterSpacing : 'normal', }); } exports.getFontClassName = getFontClassName; function getFontSizeNumber(size) { if (typeof size === 'number') { return size; } var regex = /([0-9]*\.?[0-9]*)(.*)/i.exec(size); if (isNullOrUndef(regex) || isNullOrUndef(regex[1])) { return 0; } var sizeParsed = parseFloat(regex[1]); var unite = regex[2]; if (isNullOrUndef(sizeParsed)) { return 0; } if (stringIsNullOrEmpty(unite)) { return sizeParsed; } switch (unite) { case 'px': return sizeParsed; case 'in': return sizeParsed * 96; case 'cm': return (sizeParsed * 96) / 2.54; case 'mm': return (sizeParsed * 96) / 0.254; case 'pt': return (sizeParsed * 96) / 72; case 'pc': return (sizeParsed * 96) / 6; case 'em': case 'ex': case 'ch': case 'rem': case 'vw': case 'vh': case 'vmin': case 'vmax': case '%': this._relativeIconSize = true; break; } return sizeParsed; } exports.getFontSizeNumber = getFontSizeNumber; function isNullOrUndef(objet) { return objet == null || objet == undefined; } exports.isNullOrUndef = isNullOrUndef; function stringIsNullOrEmpty(chaine) { return isNullOrUndef(chaine) || chaine.trim().length === 0; } exports.stringIsNullOrEmpty = stringIsNullOrEmpty; function numberIsNullOrUndef(number) { return isNullOrUndef(number) || isNaN(number); } exports.numberIsNullOrUndef = numberIsNullOrUndef; function arrayIsNullOrEmpty(array) { return isNullOrUndef(array) || array.length == 0; } exports.arrayIsNullOrEmpty = arrayIsNullOrEmpty; function arrayIsIdentical(array1, array2) { if (array1 === array2) { return true; } if (array1.length !== array2.length) { return false; } for (var cpt = 0; cpt < array1.length; cpt++) { if (array1[cpt] !== array2[cpt]) { if (array1[cpt] instanceof Array && array2[cpt] instanceof Array) { if (!arrayIsIdentical(array1[cpt], array2[cpt])) { return false; } } else if (typeof array1[cpt] === 'object' && typeof array2[cpt] === 'object') { if (!objectIsIdentical(array1[cpt], array2[cpt])) { return false; } } else { return false; } } } return true; } exports.arrayIsIdentical = arrayIsIdentical; function objectIsIdentical(obj1, obj2) { if (obj1 === obj2) { return true; } for (var prop in obj1) { if (!obj2.hasOwnProperty(prop) || typeof obj1[prop] !== typeof obj2[prop]) { return false; } } for (var prop in obj2) { if (!obj1.hasOwnProperty(prop)) { return false; } if (obj1[prop] !== obj2[prop]) { if (obj1[prop] instanceof Array && obj2[prop] instanceof Array) { if (!arrayIsIdentical(obj1[prop], obj2[prop])) { return false; } } else if (typeof obj1[prop] === 'object') { if (!objectIsIdentical(obj1[prop], obj2[prop])) { return false; } } else { return false; } } } return true; } exports.objectIsIdentical = objectIsIdentical; function objectContains(objet, search) { if (isNullOrUndef(objet) || stringIsNullOrEmpty(search)) { return false; } if (typeof objet === 'object') { for (var item in objet) { if (objectContains(objet[item], search)) { return true; } } } else if (objet.toString().indexOf(search) >= 0) { return true; } return false; } exports.objectContains = objectContains; function addZeroBeforeNumber(nombre, tailleMin) { var result = nombre.toString(); while (result.length < tailleMin) { result = '0' + result; } return result; } exports.addZeroBeforeNumber = addZeroBeforeNumber; function formatDate(date) { moment_1.default.locale('fr'); return isNullOrUndef(date) ? null : (0, moment_1.default)(date).format('DD/MM/YYYY'); } exports.formatDate = formatDate; function isBissextile(annee) { if (annee % 400 === 0) { return true; } if (annee % 100 === 0) { return false; } if (annee % 4 === 0) { return true; } return false; } exports.isBissextile = isBissextile; function jourDuMois(mois, annee, moisBase0) { if (moisBase0 === void 0) { moisBase0 = false; } var fevrier = isBissextile(annee) ? 29 : 28; switch (mois) { case 0: return moisBase0 ? 31 : -1; case 1: return moisBase0 ? fevrier : 31; case 2: return moisBase0 ? 31 : fevrier; case 3: return moisBase0 ? 30 : 31; case 4: return moisBase0 ? 31 : 30; case 5: return moisBase0 ? 30 : 31; case 6: return moisBase0 ? 31 : 30; case 7: return 31; case 8: return moisBase0 ? 30 : 31; case 9: return moisBase0 ? 31 : 30; case 10: return moisBase0 ? 30 : 31; case 11: return moisBase0 ? 31 : 30; case 12: return moisBase0 ? -1 : 31; } } exports.jourDuMois = jourDuMois; function incrementJour(date, increment) { var annee = date.getFullYear(); var mois = date.getMonth(); var jour = date.getDate() + increment; var jdm = jourDuMois(mois, annee, true); while (jour < 1) { if (mois < 1) { mois = 11; annee--; } else { mois--; } jdm = jourDuMois(mois, annee, true); jour += jdm; } while (jour > jdm) { if (mois > 10) { mois = 0; annee++; } else { mois++; } jour -= jdm; jdm = jourDuMois(mois, annee, true); } return new Date(annee, mois, jour); } exports.incrementJour = incrementJour; function ConvertToDate(date) { if (stringIsNullOrEmpty(date)) { return null; } date = date.trim(); var jourMoisAnnee = []; var nbPas = 0; for (var idx = 0; idx < date.length; idx++) { var car = date[idx]; if (['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].indexOf(car) >= 0) { var nb = Number(car); if (nbPas === 0) { jourMoisAnnee.push(nb); } else { jourMoisAnnee[jourMoisAnnee.length - 1] = jourMoisAnnee[jourMoisAnnee.length - 1] * 10 + nb; } if (jourMoisAnnee.length < 3 && nbPas === 1) { nbPas = 0; } else { nbPas++; } } else { if (['/', '-', '.', ' '].indexOf(car) >= 0) { nbPas = 0; } else { return null; } } } if (jourMoisAnnee.length !== 3 || (jourMoisAnnee[2] > 99 && jourMoisAnnee[2] < 1850) || jourMoisAnnee[1] < 1 || jourMoisAnnee[1] > 12 || jourMoisAnnee[0] < 1 || jourMoisAnnee[0] > jourDuMois(jourMoisAnnee[1], jourMoisAnnee[2])) { return null; } if (jourMoisAnnee[2] <= 99) { var anneeEnCours = new Date().getFullYear(); var anneeLimite = anneeEnCours % 100; jourMoisAnnee[2] = anneeEnCours - anneeLimite + jourMoisAnnee[2] - (jourMoisAnnee[2] > anneeLimite ? 100 : 0); } return new Date(jourMoisAnnee[2], jourMoisAnnee[1] - 1, jourMoisAnnee[0]); } exports.ConvertToDate = ConvertToDate; var setTimeOutWithPause = function (callback, delay) { var timerId, start, remaining = delay; this.pause = function () { window.clearTimeout(timerId); remaining -= Date.now() - start; }; this.resume = function () { start = Date.now(); window.clearTimeout(timerId); timerId = window.setTimeout(callback, remaining); }; this.clearTimeout = function () { window.clearTimeout(timerId); }; this.resume(); }; exports.setTimeOutWithPause = setTimeOutWithPause; var isNumeric = function (data) { return /^\d+$/.test(data); }; exports.isNumeric = isNumeric; var isMobileDevice = function () { if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i)) { return true; } return false; }; exports.isMobileDevice = isMobileDevice; //# sourceMappingURL=helpers.js.map