|
|
|
@ -3,6 +3,22 @@ |
|
|
|
|
/* Filters */ |
|
|
|
|
|
|
|
|
|
angular.module('netStatsApp.filters', []) |
|
|
|
|
.filter('nodesActiveClass', function() { |
|
|
|
|
return function(active, total) { |
|
|
|
|
var ratio = active/total; |
|
|
|
|
|
|
|
|
|
if(ratio >= 0.9) |
|
|
|
|
return 'text-success'; |
|
|
|
|
|
|
|
|
|
if(ratio >= 0.75) |
|
|
|
|
return 'text-info'; |
|
|
|
|
|
|
|
|
|
if(ratio >= 0.5) |
|
|
|
|
return 'text-warning'; |
|
|
|
|
|
|
|
|
|
return 'text-danger'; |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.filter('mainClass', function() { |
|
|
|
|
return function(node, bestBlock) { |
|
|
|
|
if( ! node.active) |
|
|
|
@ -12,25 +28,25 @@ angular.module('netStatsApp.filters', []) |
|
|
|
|
return 'text-danger'; |
|
|
|
|
|
|
|
|
|
return (node.peers <= 1 ? 'text-danger' : (node.peers > 1 && node.peers < 4 ? 'text-warning' : 'text-success')); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.filter('peerClass', function() { |
|
|
|
|
return function(peers) { |
|
|
|
|
return (peers <= 1 ? 'text-danger' : (peers > 1 && peers < 4 ? 'text-warning' : 'text-success')); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.filter('miningClass', function() { |
|
|
|
|
return function(mining) { |
|
|
|
|
return (! mining ? 'text-danger' : ''); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.filter('miningIconClass', function() { |
|
|
|
|
return function(mining) { |
|
|
|
|
return (! mining ? 'icon-cancel' : 'icon-check'); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.filter('blockClass', function() { |
|
|
|
|
return function(current, best) { |
|
|
|
|
return (best - current <= 1 ? '' : (best - current > 1 && best - current < 4 ? 'text-warning' : 'text-danger')); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}); |