|
@@ -100,12 +100,12 @@
|
|
|
function calculateDropPercent(node, parent = null) {
|
|
|
let realNode = StatTree.el.jstree(true).get_node(node.id);
|
|
|
if(!realNode.data) return;
|
|
|
- if(parent && parent.data.lastRefreshCount !== null) {
|
|
|
- if(node.data.lastRefreshCount !== null) {
|
|
|
- realNode.data.dropPercent = (((parent.data.lastRefreshCount - node.data.lastRefreshCount) / parent.data.lastRefreshCount) * 100);
|
|
|
+ if(parent && parent.data.lastRefreshCount !== null && parent.data.lastRefreshCount !== -1) {
|
|
|
+ if(node.data.lastRefreshCount !== null && node.data.lastRefreshCount !== -1) {
|
|
|
+ realNode.data.dropPercent = ((node.data.lastRefreshCount / parent.data.lastRefreshCount) * 100);
|
|
|
if(realNode.data.dropPercent) {
|
|
|
let element = StatTree.el.jstree(true).get_node(node.id, true), cssClass = '';
|
|
|
- if(realNode.data.dropPercent > 75) {
|
|
|
+ /*if(realNode.data.dropPercent > 75) {
|
|
|
cssClass = 'drop-76-100';
|
|
|
}
|
|
|
else if(realNode.data.dropPercent > 50 && realNode.data.dropPercent <= 75) {
|
|
@@ -116,11 +116,48 @@
|
|
|
}
|
|
|
else if(realNode.data.dropPercent > 0 && realNode.data.dropPercent <= 25) {
|
|
|
cssClass = 'drop-0-25';
|
|
|
- }
|
|
|
+ }*/
|
|
|
+ cssClass = 'drop-0-25';
|
|
|
element.find('>a.jstree-anchor')
|
|
|
.addClass('has-drop-visualization')
|
|
|
.addClass(cssClass)
|
|
|
- .attr('data-drop-percent', (realNode.data.dropPercent.toFixed(1)) + '% ⤵');
|
|
|
+ .attr('data-drop-percent', (realNode.data.dropPercent.toFixed(3)) + '% ⤵');
|
|
|
+
|
|
|
+ if(!!realNode.data.goalCondition && realNode.data.goalPercent !== -1) {
|
|
|
+ let goalLabel = '';
|
|
|
+ switch(realNode.data.goalCondition) {
|
|
|
+ case '=':
|
|
|
+ if(realNode.data.dropPercent !== realNode.data.goalPercent) {
|
|
|
+ goalLabel = 'Should be = ' + realNode.data.goalPercent + '%';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '>':
|
|
|
+ if(realNode.data.dropPercent <= realNode.data.goalPercent) {
|
|
|
+ goalLabel = 'Should be > ' + realNode.data.goalPercent + '%';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '<':
|
|
|
+ if(realNode.data.dropPercent >= realNode.data.goalPercent) {
|
|
|
+ goalLabel = 'Should be < ' + realNode.data.goalPercent + '%';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '>=':
|
|
|
+ if(realNode.data.dropPercent < realNode.data.goalPercent) {
|
|
|
+ goalLabel = 'Should be >= ' + realNode.data.goalPercent + '%';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '<=':
|
|
|
+ if(realNode.data.dropPercent > realNode.data.goalPercent) {
|
|
|
+ goalLabel = 'Should be <= ' + realNode.data.goalPercent + '%';
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(!!goalLabel) {
|
|
|
+ element.find('>a.jstree-anchor')
|
|
|
+ .addClass('has-goal-label')
|
|
|
+ .attr('data-goal-label', '⚠ ' + goalLabel);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|