Ssmith has uploaded a new change for review. https://gerrit.wikimedia.org/r/177282
Change subject: Add donation count to donation amts chart ...................................................................... Add donation count to donation amts chart Change-Id: Id2f894c12fdc28b8d79c46ff9c17bf22459c1cda --- M src/components/boards/bigEnglish/bigEnglishBoard.html M src/components/boards/bigEnglish/bigEnglishBoard.js M src/components/widgets/totals-earned-chart/totals-earned-chart.js 3 files changed, 67 insertions(+), 22 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/dash refs/changes/82/177282/1 diff --git a/src/components/boards/bigEnglish/bigEnglishBoard.html b/src/components/boards/bigEnglish/bigEnglishBoard.html index 40146ea..d3a82c5 100644 --- a/src/components/boards/bigEnglish/bigEnglishBoard.html +++ b/src/components/boards/bigEnglish/bigEnglishBoard.html @@ -61,7 +61,7 @@ </div> </div> -<totals-earned-chart params="title: 'Donation Amounts by Day in December', dailyDataArray: dailyDataArray, dayObj: dayObj, dataChanged: dataChanged"></totals-earned-chart> +<totals-earned-chart params="title: 'Donation Amounts by Day in December', dailyCountArray: dailyCountArray, dailyDataArray: dailyDataArray, dayObj: dayObj, dataChanged: dataChanged"></totals-earned-chart> <div class="row"> <distance-to-goal-chart params="title: 'Distance To Goal', dailyDataArray: dailyDataArray, goal: goal, dataChanged: dataChanged"></distance-to-goal-chart> diff --git a/src/components/boards/bigEnglish/bigEnglishBoard.js b/src/components/boards/bigEnglish/bigEnglishBoard.js index 0bb7718..7e298a6 100644 --- a/src/components/boards/bigEnglish/bigEnglishBoard.js +++ b/src/components/boards/bigEnglish/bigEnglishBoard.js @@ -17,7 +17,6 @@ // Reload the page self.reloadBigEnglish = function(){ - console.log('reloading'); location.reload(); }; // Do it every 5 minutes as well @@ -47,6 +46,16 @@ //initialize day/hour data self.dayObj = []; self.dailyDataArray = ['Daily Total']; + self.dailyCountArray = ['Daily Count']; + for (var d = 1; d < 32; d++) { + self.dailyDataArray[d] = 0; + self.dailyCountArray[d] = 0; + self.dayObj[d] = [ 'Hourly Totals' ]; + for (var h = 1; h < 25; h++) { + self.dayObj[d][h] = 0; + self.secondsByHourDonationData[(d - 1) * 24 + h] = 0; + } + } // Allows components in the board to subscribe to a single property // and get notified of any changes to the available data. @@ -73,7 +82,7 @@ } $.each(self.decemberData, function(el, i){ var d = self.decemberData[el].day, h = self.decemberData[el].hour; - self.dayObj[d][h + 1] = self.decemberData[el].usd_total; + self.dayObj[d][h + 1] = { total: self.decemberData[el].usd_total, count: self.decemberData[el].donations }; //get all seconds into seconds array self.secondsByHourDonationData[(d - 1) * 24 + h+1] = self.decemberData[el].usd_per_second; runningTotal += self.decemberData[el].usd_total; @@ -88,15 +97,17 @@ //get data slice for days: donation amt if(self.dailyDonationData[el.day]){ - self.dailyDonationData[el.day] += el.usd_total; + self.dailyDonationData[el.day]['amount'] += el.usd_total; + self.dailyDonationData[el.day]['count'] += el.donations; } else { - self.dailyDonationData[el.day] = el.usd_total; + self.dailyDonationData[el.day] = { amount: el.usd_total, count: el.donations}; } }); $.each( self.dailyDonationData, function(el, i){ - self.dailyDataArray[parseInt(el, 10)] = self.dailyDonationData[el]; + self.dailyDataArray[parseInt(el, 10)] = self.dailyDonationData[el]['amount']; + self.dailyCountArray[parseInt(el, 10)] = self.dailyDonationData[el]['count']; }); self.raised(runningTotal); }); diff --git a/src/components/widgets/totals-earned-chart/totals-earned-chart.js b/src/components/widgets/totals-earned-chart/totals-earned-chart.js index 188450c..bc67e04 100644 --- a/src/components/widgets/totals-earned-chart/totals-earned-chart.js +++ b/src/components/widgets/totals-earned-chart/totals-earned-chart.js @@ -15,6 +15,13 @@ }); self.makeCharts = function() { self.hourlyChart = function(d,i){ + var hourlyData = params.dayObj[d['x'] + 1 ], + hourlyCountArray = ['Hourly Count'], + hourlyTotalArray = ['Hourly Total']; + for(var i=1; i<25; i++){ + hourlyCountArray.push(hourlyData[i]['count']); + hourlyTotalArray.push(hourlyData[i]['total']); + }; return { bindto: '#totalsEarnedChart', size: { @@ -23,11 +30,15 @@ }, zoom: { enabled: true }, data: { - columns: [ params.dayObj[d['x'] + 1]], + columns: [ hourlyTotalArray, hourlyCountArray ], type: 'bar', - colors: { 'Hourly Totals': 'rgb(92,184,92)'}, + colors: { 'Hourly Total': 'rgb(92,184,92)', 'Hourly Count': 'rgb(92,184,92)' }, onclick: function (d, i) { c3.generate(self.dailyChart()) }, + groups: [ [hourlyTotalArray[0], hourlyCountArray[0]] ] }, + legend: { + show: false + }, grid: { x: { show: true @@ -48,20 +59,30 @@ }, y: { label: { - text: 'Dollars' + text: "Dollars" }, tick: { format: function(x){ return numeral(x).format('$0,0') } } } }, - bar: { - width: { - ratio: 0.5 - } - } + tooltip: { + format: { + title: function (d) { return 'Hour ' + d; }, + value: function (value, ratio, id) { + var display; + if(id === 'Hourly Total'){ + display = numeral(value).format('$0,0') + } else { + display = numeral(value).format('0,0') + } + return display; + } + } + }, }; }; + self.dailyChart = function(d,i){ return { bindto: '#totalsEarnedChart', @@ -71,13 +92,17 @@ }, zoom: { enabled: true }, data: { - columns: [ params.dailyDataArray ], + columns: [ params.dailyDataArray, params.dailyCountArray ], type: 'bar', - colors: { 'Daily Total': 'rgb(49,176,213)'}, + colors: { 'Daily Total': 'rgb(49,176,213)', 'Daily Count': 'rgb(49,176,213)' }, onclick: function (d, i) { self.totalsEarnedChart = c3.generate(self.hourlyChart(d,i)); }, + groups: [ [params.dailyDataArray[0], params.dailyCountArray[0]] ] }, + legend: { + show: false + }, grid: { x: { show: true @@ -94,18 +119,27 @@ }, y: { label: { - text: 'Dollars' + text: "Dollars" }, tick: { format: function(x){ return numeral(x).format('$0,0') } } } }, - bar: { - width: { - ratio: 0.5 - } - } + tooltip: { + format: { + title: function (d) { return 'Day ' + (d+1); }, + value: function (value, ratio, id) { + var display; + if(id === 'Daily Total'){ + display = numeral(value).format('$0,0') + } else { + display = numeral(value).format('0,0') + } + return display; + } + } + }, }; }; self.totalsEarnedChart = c3.generate(self.dailyChart()); -- To view, visit https://gerrit.wikimedia.org/r/177282 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id2f894c12fdc28b8d79c46ff9c17bf22459c1cda Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/dash Gerrit-Branch: master Gerrit-Owner: Ssmith <ssm...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits