aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-08-03 13:58:11 +0200
committerCamil Staps2016-08-03 13:58:11 +0200
commita3cb1110b35339f441c343c2cdbee676ffa6144b (patch)
tree37dd934a94d5d1e09122fca12d595842a9ad45c2
parentReload verb only on trainer page (diff)
stats: move to highstock
-rw-r--r--resources/views/stats.blade.php101
1 files changed, 62 insertions, 39 deletions
diff --git a/resources/views/stats.blade.php b/resources/views/stats.blade.php
index 0326309..26a6503 100644
--- a/resources/views/stats.blade.php
+++ b/resources/views/stats.blade.php
@@ -18,67 +18,90 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<html lang="en">
<head>
- <meta charset="utf-8">
- <title>HebrewParseTrainer statistics</title>
- <link rel="stylesheet" href="{{ url("/vendor/twbs/bootstrap/dist/css/bootstrap.min.css") }}">
- <link rel="stylesheet" href="{{ url("/vendor/twbs/bootstrap/dist/css/bootstrap-theme.min.css") }}">
- <link rel="stylesheet" href="{{ url("/public/css/hebrewparsetrainer.css") }}">
+ <meta charset="utf-8">
+ <title>HebrewParseTrainer statistics</title>
+ <link rel="stylesheet" href="{{ url("/vendor/twbs/bootstrap/dist/css/bootstrap.min.css") }}">
+ <link rel="stylesheet" href="{{ url("/vendor/twbs/bootstrap/dist/css/bootstrap-theme.min.css") }}">
+ <link rel="stylesheet" href="{{ url("/public/css/hebrewparsetrainer.css") }}">
</head>
<body role="application">
<div class="container" role="main">
- <div class="page-header">
- <h1>HebrewParseTrainer statistics</h1>
- </div>
+ <div class="page-header">
+ <h1>HebrewParseTrainer statistics</h1>
+ </div>
- <div class="row">
- <div class="col-md-12">
- <div id="statistics" style="height:400px;"></div>
- </div>
- </div>
+ <div class="row">
+ <div class="col-md-12">
+ <div id="statistics" style="height:400px;"></div>
+ </div>
+ </div>
</div>
<?php
use \HebrewParseTrainer\RandomLog;
$db_stats = RandomLog
- ::select(DB::raw('COUNT(*) as count'), 'created_at')
- ->groupBy(DB::raw('DAY(created_at)'))
- ->orderBy('created_at')
- ->get();
+ ::select(DB::raw('COUNT(*) as count'), 'created_at')
+ ->groupBy(DB::raw('DAY(created_at)'))
+ ->orderBy('created_at')
+ ->get();
$stats = [];
foreach ($db_stats as $stat) {
- $stats[] = "[Date.UTC" . date("(Y,n-1,d)", strtotime($stat->created_at)) . "," . $stat->count . "]";
+ $stats[] = "[Date.UTC" . date("(Y,n-1,d)", strtotime($stat->created_at)) . "," . $stat->count . "]";
}
$stats = "[" . implode(",", $stats) . "]";
?>
<script src="{{ url("/vendor/components/jquery/jquery.min.js") }}"></script>
<script src="{{ url("/vendor/twbs/bootstrap/dist/js/bootstrap.min.js") }}"></script>
-<script src="//code.highcharts.com/highcharts.js"></script>
+<script src="//code.highcharts.com/stock/highstock.js"></script>
<script src="{{ url("/public/js/hebrewparsetrainer.js") }}"></script>
<script type="text/javascript">
- $('#statistics').highcharts({
- chart: { type: 'column', zoomType: 'x' },
- title: { text: 'Requests per day' },
- xAxis: { type: 'datetime' },
- yAxis: {
- min: 0,
- title: { text: 'Requests' }
- },
- plotOptions: { column: {
- pointPadding: 0,
- groupPadding: 0
- } },
- tooltip: { pointFormat: '<b>{point.y}</b> requests' },
- series: [
- {
- name: 'Requests',
- data: {{ $stats }}
- }
- ]
- });
+ $('#statistics').highcharts('StockChart', {
+ chart: {
+ type: 'column',
+ zoomType: 'x'
+ },
+ credits: { enabled: false },
+ title: { text: 'Random verb requests' },
+ xAxis: { ordinal: false },
+ yAxis: {
+ min: 0,
+ title: { text: 'Requests' },
+ opposite: false
+ },
+ rangeSelector: {
+ buttons: [
+ {type: 'week', count: 1, text: '1w'},
+ {type: 'month', count: 1, text: '1m'},
+ {type: 'month', count: 3, text: '3m'},
+ {type: 'year', count: 1, text: '1y'},
+ {type: 'all', text: 'All'}
+ ],
+ selected: 3
+ },
+ plotOptions: { column: {
+ dataGrouping: {
+ groupPixelWidth: 100,
+ units: [
+ ['day', [1]],
+ ['week', [1]],
+ ['month', [1]],
+ ['month', [3]],
+ ['year', [1]]
+ ]
+ }
+ } },
+ tooltip: { pointFormat: '<b>{point.y}</b> requests' },
+ series: [
+ {
+ name: 'Requests',
+ data: {{ $stats }}
+ }
+ ]
+ });
</script>
</body>
</html>