Merge branch 'master' of github.com:tao-foundation/teo-netstats into tao-staging
This commit is contained in:
@@ -100,6 +100,24 @@ angular.module('netStatsApp.directives', [])
|
||||
{
|
||||
tElement.replaceWith('<span>' + tAttrs.data + "</span>");
|
||||
|
||||
// register resize watcher
|
||||
var timeout;
|
||||
var width;
|
||||
$(window).on('resize', function(e) {
|
||||
if( $('body').width() < 600 )
|
||||
width = 4;
|
||||
else if( $('body').width() < 1200 )
|
||||
width = 5;
|
||||
else
|
||||
width = 6;
|
||||
|
||||
if(timeout)
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(function() {
|
||||
$.fn.sparkline.defaults.bar.barWidth = width;
|
||||
}, 200);
|
||||
});
|
||||
|
||||
return function(scope, element, attrs)
|
||||
{
|
||||
attrs.$observe("data", function (newValue)
|
||||
@@ -302,6 +320,12 @@ angular.module('netStatsApp.directives', [])
|
||||
var width = 280 - margin.left - margin.right,
|
||||
height = 63 - margin.top - margin.bottom;
|
||||
|
||||
// fix for mobile devices
|
||||
if( $('body').width() < 600 )
|
||||
width = 200 - margin.left - margin.right;
|
||||
else( $('body').width() < 1200 )
|
||||
width = 240 - margin.left - margin.right;
|
||||
|
||||
var TICKS = 40;
|
||||
|
||||
var x = d3.scale.linear()
|
||||
@@ -342,10 +366,26 @@ angular.module('netStatsApp.directives', [])
|
||||
return '<div class="tooltip-arrow"></div><div class="tooltip-inner"><b>' + (d.x/1000) + 's - ' + ((d.x + d.dx)/1000) + 's</b><div class="small">Percent: <b>' + Math.round(d.y * 100) + '%</b>' + '<br>Frequency: <b>' + d.frequency + '</b><br>Cumulative: <b>' + Math.round(d.cumpercent*100) + '%</b></div></div>';
|
||||
})
|
||||
|
||||
scope.init = function()
|
||||
scope.init = function(width)
|
||||
{
|
||||
var data = scope.data;
|
||||
|
||||
var x = d3.scale.linear()
|
||||
.domain([0, 10000])
|
||||
.rangeRound([0, width])
|
||||
.interpolate(d3.interpolateRound);
|
||||
|
||||
var xAxis = d3.svg.axis()
|
||||
.scale(x)
|
||||
.orient("bottom")
|
||||
.ticks(4, ",.1s")
|
||||
.tickFormat(function(t){ return t/1000 + "s"});
|
||||
|
||||
var line = d3.svg.line()
|
||||
.x(function(d) { return x(d.x + d.dx/2) - 1; })
|
||||
.y(function(d) { return y(d.y) - 2; })
|
||||
.interpolate('basis');
|
||||
|
||||
// Adjust y axis
|
||||
y.domain([0, d3.max(data, function(d) { return d.y; })]);
|
||||
|
||||
@@ -414,9 +454,24 @@ angular.module('netStatsApp.directives', [])
|
||||
|
||||
scope.$watch('data', function() {
|
||||
if(scope.data.length > 0) {
|
||||
scope.init();
|
||||
scope.init(width);
|
||||
}
|
||||
}, true);
|
||||
|
||||
var timeout;
|
||||
$(window).on('resize', function(e) {
|
||||
var width = 280 - margin.left - margin.right;
|
||||
if( $('body').width() < 768 )
|
||||
width = 200 - margin.left - margin.right;
|
||||
|
||||
if(timeout)
|
||||
clearTimeout(timeout);
|
||||
|
||||
timeout = setTimeout(function() {
|
||||
// redraw
|
||||
scope.init(width);
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
};
|
||||
}]);
|
||||
@@ -59,35 +59,17 @@ angular.module('netStatsApp.filters', [])
|
||||
})
|
||||
.filter('hashrateFilter', ['$sce', '$filter', function($sce, filter) {
|
||||
return function(hashes, isMining) {
|
||||
var result = 0;
|
||||
var unit = 'K';
|
||||
|
||||
if( !isMining )
|
||||
return $sce.trustAsHtml('<i class="icon-cancel"></i>');
|
||||
|
||||
if(hashes !== 0 && hashes < 1000) {
|
||||
result = hashes;
|
||||
unit = '';
|
||||
}
|
||||
var result = hashes;
|
||||
var units = ['', 'K', 'M', 'G', 'T', 'P', 'E'];
|
||||
var unit = 'K';
|
||||
|
||||
if(hashes >= 1000 && hashes < Math.pow(1000, 2)) {
|
||||
result = hashes / 1000;
|
||||
unit = 'K';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 2) && hashes < Math.pow(1000, 3)) {
|
||||
result = hashes / Math.pow(1000, 2);
|
||||
unit = 'M';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 3) && hashes < Math.pow(1000, 4)) {
|
||||
result = hashes / Math.pow(1000, 3);
|
||||
unit = 'G';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 4) && hashes < Math.pow(1000, 5)) {
|
||||
result = hashes / Math.pow(1000, 4);
|
||||
unit = 'T';
|
||||
for(var i = 1; result > 1000; i++)
|
||||
{
|
||||
result /= 1000;
|
||||
unit = units[i];
|
||||
}
|
||||
|
||||
return $sce.trustAsHtml('<span class="small">' + filter('number')(result.toFixed(1)) + ' <span class="small-hash">' + unit + 'H/s</span></span>');
|
||||
@@ -95,32 +77,14 @@ angular.module('netStatsApp.filters', [])
|
||||
}])
|
||||
.filter('totalDifficultyFilter', function() {
|
||||
return function(hashes) {
|
||||
var result = 0;
|
||||
var result = hashes;
|
||||
var units = ['', 'K', 'M', 'G', 'T', 'P', 'E'];
|
||||
var unit = '';
|
||||
|
||||
if(hashes !== 0 && hashes < 1000) {
|
||||
result = hashes;
|
||||
unit = '';
|
||||
}
|
||||
|
||||
if(hashes >= 1000 && hashes < Math.pow(1000, 2)) {
|
||||
result = hashes / 1000;
|
||||
unit = 'K';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 2) && hashes < Math.pow(1000, 3)) {
|
||||
result = hashes / Math.pow(1000, 2);
|
||||
unit = 'M';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 3) && hashes < Math.pow(1000, 4)) {
|
||||
result = hashes / Math.pow(1000, 3);
|
||||
unit = 'G';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 4) && hashes < Math.pow(1000, 5)) {
|
||||
result = hashes / Math.pow(1000, 4);
|
||||
unit = 'T';
|
||||
for(var i = 1; result > 1000; i++)
|
||||
{
|
||||
result /= 1000;
|
||||
unit = units[i];
|
||||
}
|
||||
|
||||
return result.toFixed(2) + ' ' + unit + 'H';
|
||||
@@ -327,32 +291,14 @@ angular.module('netStatsApp.filters', [])
|
||||
if(hashes === null)
|
||||
hashes = 0;
|
||||
|
||||
var result = 0;
|
||||
var result = hashes;
|
||||
var units = ['', 'K', 'M', 'G', 'T', 'P'];
|
||||
var unit = 'K';
|
||||
|
||||
if(hashes !== 0 && hashes < 1000) {
|
||||
result = hashes;
|
||||
unit = '';
|
||||
}
|
||||
|
||||
if(hashes >= 1000 && hashes < Math.pow(1000, 2)) {
|
||||
result = hashes / 1000;
|
||||
unit = 'K';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 2) && hashes < Math.pow(1000, 3)) {
|
||||
result = hashes / Math.pow(1000, 2);
|
||||
unit = 'M';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 3) && hashes < Math.pow(1000, 4)) {
|
||||
result = hashes / Math.pow(1000, 3);
|
||||
unit = 'G';
|
||||
}
|
||||
|
||||
if(hashes >= Math.pow(1000, 4) && hashes < Math.pow(1000, 5)) {
|
||||
result = hashes / Math.pow(1000, 4);
|
||||
unit = 'T';
|
||||
for(var i = 1; result > 1000; i++)
|
||||
{
|
||||
result /= 1000;
|
||||
unit = units[i];
|
||||
}
|
||||
|
||||
if( !isMining )
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
|
||||
$.fn.sparkline.defaults.bar.height = 63;
|
||||
$.fn.sparkline.defaults.bar.barWidth = 6;
|
||||
|
||||
if( $('body').width() < 600 )
|
||||
$.fn.sparkline.defaults.bar.barWidth = 4;
|
||||
else if( $('body').width() < 1200 )
|
||||
$.fn.sparkline.defaults.bar.barWidth = 5;
|
||||
$.fn.sparkline.defaults.bar.barSpacing = 1;
|
||||
$.fn.sparkline.defaults.bar.tooltipClassname = 'jqstooltip';
|
||||
$.fn.sparkline.defaults.bar.tooltipOffsetX = 0;
|
||||
@@ -26,12 +31,3 @@
|
||||
moment.relativeTimeThreshold('M', 12);
|
||||
|
||||
})();
|
||||
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
// ga('create', 'UA-68390837-2', 'auto');
|
||||
ga('create', 'UA-80834434-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
Reference in New Issue
Block a user