Adds today totals
This commit is contained in:
1 parent
1682c71e93
commit
2e7b037c7e
1 file changed
+75
-57
+75
-57
@@ -14,28 +14,55 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.js"></script>
|
||||
<script>
|
||||
var barSales;
|
||||
var appSales;
|
||||
var smsSales;
|
||||
var salesChart;
|
||||
|
||||
var urls = {
|
||||
cards: 'https://kassa.neuf.no/stats/card-sales/',
|
||||
tekstmelding: 'https://tekstmelding.neuf.no/stats/memberships/',
|
||||
snapporder: '/stats/snapporder.php'
|
||||
};
|
||||
|
||||
function sumSales(memo, num) {
|
||||
return memo + num[1];
|
||||
return memo + num.sales;
|
||||
}
|
||||
|
||||
function toHighchartsSeries(memberships) {
|
||||
return _.map(memberships, function (el) {
|
||||
return [moment.utc(el.date).valueOf(), parseInt(el.sales, 10)]
|
||||
});
|
||||
}
|
||||
|
||||
function getBarSales() {
|
||||
return $.getJSON(urls.cards, function(data) {
|
||||
barSales = data.memberships;
|
||||
salesChart.addSeries({name: 'Bar-salg', data: toHighchartsSeries(barSales)});
|
||||
});
|
||||
}
|
||||
|
||||
function getSmsSales() {
|
||||
return $.getJSON(urls.tekstmelding, function(data) {
|
||||
smsSales = data.memberships;
|
||||
salesChart.addSeries({name: 'SMS-salg', data: toHighchartsSeries(smsSales)});
|
||||
});
|
||||
}
|
||||
|
||||
function getAppSales() {
|
||||
return $.getJSON(urls.snapporder, function (data) {
|
||||
appSales = data.memberships;
|
||||
salesChart.addSeries({name: 'App-salg', data: toHighchartsSeries(appSales)});
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var card_sales;
|
||||
var snapporder_sales;
|
||||
var sms_sales;
|
||||
|
||||
var urls = {
|
||||
tekstmelding: 'https://tekstmelding.neuf.no/stats/memberships/',
|
||||
snapporder: '/stats/snapporder.php',
|
||||
cards: 'https://kassa.neuf.no/stats/card-sales/'
|
||||
};
|
||||
Highcharts.setOptions({
|
||||
credits:{
|
||||
enabled: false
|
||||
}
|
||||
credits: {enabled: false}
|
||||
});
|
||||
var sales = new Highcharts.Chart({
|
||||
salesChart = new Highcharts.Chart({
|
||||
chart: {
|
||||
renderTo: 'sales'
|
||||
renderTo: 'sales-chart'
|
||||
},
|
||||
title: {
|
||||
text: false
|
||||
@@ -49,7 +76,6 @@
|
||||
},
|
||||
min: 0
|
||||
},
|
||||
|
||||
plotOptions: {
|
||||
series: {
|
||||
marker: {
|
||||
@@ -59,48 +85,33 @@
|
||||
},
|
||||
series: []
|
||||
});
|
||||
function getTextmeldingSales() {
|
||||
return $.getJSON(urls.tekstmelding, function(data) {
|
||||
sms_sales = _.map(data.memberships, function (el) {
|
||||
return [moment.utc(el.date).valueOf(), parseInt(el.sales, 10)]
|
||||
});
|
||||
sales.addSeries({name: 'SMS-salg', data: sms_sales});
|
||||
});
|
||||
}
|
||||
function getAppSales() {
|
||||
return $.getJSON(urls.snapporder, function (data) {
|
||||
snapporder_sales = _.map(data.memberships, function (el) {
|
||||
return [moment.utc(el.date).valueOf(), parseInt(el.sales, 10)]
|
||||
});
|
||||
sales.addSeries({name: 'App-salg', data: snapporder_sales});
|
||||
});
|
||||
}
|
||||
function getBarSales() {
|
||||
return $.getJSON(urls.cards, function(data) {
|
||||
card_sales = _.map(data.memberships, function (el) {
|
||||
return [moment.utc(el.date).valueOf(), parseInt(el.sales, 10)]
|
||||
});
|
||||
sales.addSeries({name: 'Bar-salg', data: card_sales});
|
||||
});
|
||||
}
|
||||
$.when(getTextmeldingSales(), getAppSales(), getBarSales()).done(function(a, b, c) {
|
||||
$.when(getSmsSales(), getAppSales(), getBarSales()).done(function() {
|
||||
/* Totals */
|
||||
var card_totals = _.reduce(card_sales, sumSales, 0);
|
||||
$('.bar').html(card_totals);
|
||||
var sms_totals = _.reduce(sms_sales, function(memo, num) { return memo + num[1]}, 0);
|
||||
$('.sms').html(sms_totals);
|
||||
var snapporder_totals = _.reduce(snapporder_sales, function(memo, num) { return memo + num[1]}, 0);
|
||||
$('.app').html(snapporder_totals);
|
||||
var barTotal = _.reduce(barSales, sumSales, 0);
|
||||
$('.bar').html(barTotal);
|
||||
var smsTotal = _.reduce(smsSales, sumSales, 0);
|
||||
$('.sms').html(smsTotal);
|
||||
var appTotal = _.reduce(appSales, sumSales, 0);
|
||||
$('.app').html(appTotal);
|
||||
|
||||
$('.sum').html(snapporder_totals + sms_totals + card_totals)
|
||||
$('.sum').html(barTotal + smsTotal + appTotal);
|
||||
|
||||
/* Today */
|
||||
var today = moment.utc().format('YYYY-MM-DD');
|
||||
$('.today-date-wrap').text(today);
|
||||
var todayBarSales = _.findWhere(barSales, {date:today}) || {sales: 0};
|
||||
$('.bar-today').html(todayBarSales.sales);
|
||||
var todaySmsSales = _.findWhere(smsSales, {date:today}) || {sales: 0};
|
||||
$('.sms-today').html(todaySmsSales.sales);
|
||||
var todayAppSales = _.findWhere(appSales, {date:today}) || {sales: 0};
|
||||
$('.app-today').html(todayAppSales.sales);
|
||||
|
||||
$('.sum-today').html(todayBarSales.sales + todaySmsSales.sales + todayAppSales.sales);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.sms,
|
||||
.bar,
|
||||
.sum,
|
||||
.app {
|
||||
.big-number {
|
||||
font-weight: bold;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
@@ -110,13 +121,20 @@
|
||||
<div class="container">
|
||||
<h2>Salg per dag</h2>
|
||||
<em>Fra 1. august 2015</em>
|
||||
<div id="sales"></div>
|
||||
<div id="sales-chart"></div>
|
||||
<h2>Salg totalt</h2>
|
||||
<div id="sums">
|
||||
<div>SMS: <span class="sms"></span></div>
|
||||
<div>App: <span class="app"></span></div>
|
||||
<div>Bar: <span class="bar"></span></div>
|
||||
<div>Totalt: <span class="sum"></span></div>
|
||||
<div>SMS: <span class="sms big-number"></span></div>
|
||||
<div>App: <span class="app big-number"></span></div>
|
||||
<div>Bar: <span class="bar big-number"></span></div>
|
||||
<div>Totalt: <span class="sum big-number"></span></div>
|
||||
</div>
|
||||
<h2>Salg idag</h2>
|
||||
<div id="sums">
|
||||
<div>SMS: <span class="sms-today big-number"></span></div>
|
||||
<div>App: <span class="app-today big-number"></span></div>
|
||||
<div>Bar: <span class="bar-today big-number"></span></div>
|
||||
<div>Totalt: <span class="sum-today big-number"></span></div>
|
||||
</div>
|
||||
<!--<div class="credits-wrap">
|
||||
<div class="credits">Laget med <span class="love" title="kærlighed">♥</span> av <a href="http://kak.studentersamfundet.no/" title="Kommunikasjonsavdelingen">KAK</a></div>
|
||||
|
||||
Reference in new issue
Block a user