aboutsummaryrefslogtreecommitdiffstats
path: root/ui/imports/lib/utilities.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/lib/utilities.js')
-rw-r--r--ui/imports/lib/utilities.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/ui/imports/lib/utilities.js b/ui/imports/lib/utilities.js
new file mode 100644
index 0000000..e1143a3
--- /dev/null
+++ b/ui/imports/lib/utilities.js
@@ -0,0 +1,54 @@
+/////////////////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
+// /
+// All rights reserved. This program and the accompanying materials /
+// are made available under the terms of the Apache License, Version 2.0 /
+// which accompanies this distribution, and is available at /
+// http://www.apache.org/licenses/LICENSE-2.0 /
+/////////////////////////////////////////////////////////////////////////////////////////
+import * as R from 'ramda';
+
+export function idToStr(orgId) {
+ return R.ifElse(R.is(Mongo.ObjectID),
+ function (id) { return id.toHexString() + ':' + 'objectid'; },
+ R.identity
+ )(orgId);
+}
+
+export function parseReqId(pId) {
+ let idMatch = R.match(/(.*):objectid$/, pId);
+ if (idMatch.length === 0) {
+ return {
+ type: 'string',
+ id: pId
+ };
+ } else {
+ return {
+ type: 'objectid',
+ id: new Mongo.ObjectID(idMatch[1])
+ };
+ }
+}
+
+function calcColor(level) {
+ let r = 11;
+ let g = 122;
+ let b = 209;
+ //let a = 1;
+ let factor = level / 15;
+ factor = factor < 0 ? 0 : 1 - factor;
+
+ let nR = Math.floor(r * factor);
+ let nG = Math.floor(g * factor);
+ let nB = Math.floor(b * factor);
+ //let nA = a;
+ let colorStr = R.reduce((acc, colorPart) => {
+ let digits = colorPart.toString(16);
+ if (colorPart < 16) { digits = '0' + digits; }
+ return acc + digits;
+ }, '#', [nR, nG, nB]);
+
+ return colorStr;
+}
+
+export let calcColorMem = R.memoize(calcColor);