[DASHBOARD] More work and samples

This commit is contained in:
Sebastian Grewe 2014-03-04 13:51:02 +01:00
parent 746c2ef70c
commit a980773ae6
4 changed files with 96 additions and 17 deletions

View File

@ -1,7 +1,7 @@
{if $smarty.session.AUTHENTICATED|default}
<div class="row">
{include file="dashboard/overview.tpl"}
{include file="dashboard/system_stats.tpl"}
{include file="dashboard/round_stats.tpl"}
{include file="dashboard/account_data.tpl"}
</div>
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}

View File

@ -13,22 +13,31 @@ $(document).ready(function(){
var storedPersonalSharerate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.userdata.sharerate|number_format:"2"}{literal} ];
var storedPoolHashrate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.hashrate|number_format:"0"}{literal} ];
var storedPoolWorkers = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.workers}{literal} ];
var storedCoinPrice = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.price}{literal} ];
// Sparkline options applied to all graphs
var sparklineOptions = {
var sparklineBarOptions = {
type: 'bar',
barColor: 'green',
height: '35',
barWidth: 6,
barSpacing: 2,
chartRangeMin: 0
};
// Sparkline options applied to line graphs
var sparklineLineOptions = {
height: '35',
chartRangeMin: 0,
composite: false,
lineColor: 'black'
};
// Draw our sparkline graphs with our current static content
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
function refreshInformation(data) {
// Drop one value, add the latest new one to each array
@ -39,12 +48,15 @@ $(document).ready(function(){
storedPoolHashrate.shift();
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0))
storedPoolWorkers.shift();
storedPoolWorkers.push(data.getdashboarddata.data.pool.workers);
storedPoolWorkers.push(parseFloat(data.getdashboarddata.data.pool.workers).toFixed(8));
storedCoinPrice.shift();
storedCoinPrice.push(parseFloat(data.getdashboarddata.data.pool.price).toFixed(8));
// Redraw all bar graphs
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
}
// Refresh other static numbers on the template
@ -55,16 +67,18 @@ $(document).ready(function(){
$('#b-poolhashrate').html((parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0)));
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
$('#b-yvalid').html(number_format(data.getdashboarddata.data.personal.shares.valid));
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid) + " (" + number_format(data.getdashboarddata.data.personal.shares.invalid_percent, 2) + "%)" );
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid));
$('#b-yefficiency').html(number_format(100 - data.getdashboarddata.data.personal.shares.invalid_percent, 2) + "%");
$('#b-pvalid').html(number_format(data.getdashboarddata.data.pool.shares.valid));
$('#b-pivalid').html(number_format(data.getdashboarddata.data.pool.shares.invalid) + " (" + number_format(data.getdashboarddata.data.pool.shares.invalid_percent, 2) + "%)" );
$('#b-pivalid').html(number_format(data.getdashboarddata.data.pool.shares.invalid));
$('#b-pefficiency').html(number_format(100 - data.getdashboarddata.data.pool.shares.invalid_percent, 2) + "%");
$('#b-diff').html(number_format(data.getdashboarddata.data.network.difficulty, 8));
$('#b-nextdiff').html(number_format(data.getdashboarddata.data.network.nextdifficulty, 8) + " (Change in " + data.getdashboarddata.data.network.blocksuntildiffchange + " Blocks)");
var minutes = Math.floor(data.getdashboarddata.data.network.esttimeperblock / 60);
var seconds = Math.floor(data.getdashboarddata.data.network.esttimeperblock - minutes * 60);
$('#b-esttimeperblock').html(minutes + " minutes " + seconds + " seconds"); // <- this needs some nicer format
$('#b-nblock').html(data.getdashboarddata.data.network.block);
$('#b-target').html(number_format(data.getdashboarddata.data.pool.shares.estimated) + " (done: " + data.getdashboarddata.data.pool.shares.progress + "%)" );
$('#b-roundprogress').html(number_format(data.getdashboarddata.data.pool.shares.progress + "%" ));
{/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }
$('#b-payout').html(number_format(data.getdashboarddata.data.personal.estimates.payout, 8));
$('#b-block').html(number_format(data.getdashboarddata.data.personal.estimates.block, 8));

View File

@ -1,7 +1,7 @@
<div class="col-lg-12">
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title"><i class="fa fa-align-left fa-fw"></i> Overview {if $GLOBAL.config.price.currency}{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}: <span id="b-price">{$GLOBAL.price|number_format:"8"|default:"0"}</span>{/if}</h4>
<h4 class="panel-title"><i class="fa fa-align-left fa-fw"></i> Statistics
</div>
<div class="panel-body">
<ul class="sparklines-stats list-justified">
@ -33,10 +33,19 @@
</div>
<div class="pool-workers-bar chart"></div>
</li>
{if $GLOBAL.config.price.currency != ""}
<li class="bg-default">
<div class="sparklines-stats-showcase">
<span>{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}</span>
<h2 id="b-price">{$GLOBAL.price|default:"0"|number_format:"8"}</h2>
</div>
<div class="coin-price-line chart"></div>
</li>
{/if}
</ul>
</div>
<div class="panel-footer">
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Hashrate based on shares submitted in the past {$INTERVAL|default:"5"} minutes.
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Estimates, based on shares submitted in the past {$INTERVAL|default:"5"} minutes.
</div>
</div>
</div>

View File

@ -0,0 +1,56 @@
<div class="col-lg-12">
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title">
<i class="fa fa-align-left fa-fw"></i> Round statistics
</h4>
</div>
<div class="panel-footer">
<div class="row text-center">
<div class="col-xs-4 b-r">
<p id="b-nblock" class="h4 font-bold m-t">{$NETWORK.block}</p>
<p class="text-muted">Current Block</p>
</div>
<div class="col-xs-4 b-r">
<p id="b-roundprogress" class="h4 font-bold m-t">{$ESTIMATES.percent}</p>
<p class="text-muted">Of Expected Shares</p>
</div>
<div class="col-xs-4 b-r">
<p id="b-payout" class="h4 font-bold m-t">{$GLOBAL.userdata.estimates.payout|number_format:"8"}</p>
<p class="text-muted">Estimated Earnings</p>
</div>
</div>
</div>
<table class="table m-b-none text-small">
<thead>
<tr>
<th><h4><i class="fa fa-cloud fa-hw"></i> Round Shares</h4></th>
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4><i class="fa fa-thumbs-up fa-hw"></i> Valid</h4></th>
<th style="color:#B94A48;background-color:#F2DEDE;"><h4><i class="fa fa-thumbs-down fa-hw"></i> Invalid</h4></th>
<th style="color:#3A87AD;background-color:#D9EDF7;"><h4><i class="fa fa-dot-circle-o fa-hw"></i> Efficiency</h4></th>
</tr>
</thead>
<tbody>
<tr>
<td><h4>My Shares</h4></td>
<td style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-yvalid">{$GLOBAL.userdata.shares.valid|number_format}</h4></td>
<td style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-yivalid">{$GLOBAL.userdata.shares.invalid|number_format}</h4></td>
<td style="color:#3A87AD;background-color:#D9EDF7;">
<h4 id="b-yefficiency">{if $GLOBAL.userdata.shares.valid > 0}{(100 - ($GLOBAL.userdata.shares.invalid / ($GLOBAL.userdata.shares.valid + $GLOBAL.userdata.shares.invalid) * 100))|number_format:"2"}%{else}0.00%{/if}</h4>
</td>
</tr>
<tr>
<td><h4>Pool Shares</h4></td>
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-pvalid">{$GLOBAL.roundshares.valid|number_format}</h4></td>
<td style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-pivalid">{$GLOBAL.roundshares.invalid|number_format}</h4></td>
<td style="color:#3A87AD;background-color:#D9EDF7;">
<h4 id="b-pefficiency">{if $GLOBAL.roundshares.valid > 0}{(100 - ($GLOBAL.roundshares.invalid / ($GLOBAL.roundshares.valid + $GLOBAL.roundshares.invalid) * 100))|number_format:"2"}%{else}0.00%{/if}<h4>
</td>
</tr>
</tbody>
</table>
<div class="panel-footer">
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds.
</div>
</div>
</div>