UNPKG

@nodeject/ui-components

Version:

UI library for non-trivial components

79 lines (78 loc) 2.43 kB
import * as _ from 'lodash'; export var getNodeParentKey = function (key, tree) { var parentKey; for (var i = 0; i < tree.length; i++) { var node = tree[i]; if (node.children) { if (node.children.some(function (item) { return item.value === key; })) { parentKey = node.value; } else if (getNodeParentKey(key, node.children)) { parentKey = getNodeParentKey(key, node.children); } } } return parentKey; }; export var flattenTree = function (entries) { return !entries ? [] : _.flatMapDeep(entries, function (e) { return [ e, e.children ? flattenTree(e.children) : [] ]; }); }; export var formatCurrency = function (currencyValue, currencySymbol, decimals) { if (decimals === void 0) { decimals = 0; } if (!currencyValue) { currencyValue = 0; } return (currencySymbol + ("" + currencyValue .toFixed(decimals) .replace(/\B(?=(\d{3})+(?!\d))/g, ','))); }; export var formatWork = function (workValue, workUnit) { if (!workValue) { workValue = 0; } return (workValue.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + " " + workUnit); }; export var getIdName = function (cssClassName, id) { return cssClassName + "_" + id; }; export var getClassName = function (cssClassName) { return cssClassName; }; export var getClassAndIdNames = function (cssClassName, id) { return { className: getClassName(cssClassName), idName: getIdName(cssClassName, id) }; }; export var getBasicProps = function (styleName, id) { var classAndIdNames = getClassAndIdNames(styleName, id); return { key: classAndIdNames.idName, className: classAndIdNames.className, id: classAndIdNames.idName }; }; export var stringToColour = function (str) { if (str) { var hash = 0; for (var i = 0; i < str.length; i++) { hash = str.charCodeAt(i) + ((hash << 5) - hash); } var colour = '#'; for (var i = 0; i < 3; i++) { var value = (hash >> (i * 8)) & 0xff; colour += ('00' + value.toString(16)).substr(-2); } return colour; } else { return '#ffffff'; } };