in static/js/stats/table.js [68:135]
function getPage(page) {
if (pages[page] || page < 0) return;
var $def = $.Deferred(),
range = {
end: Date.ago(pageSize * page + 'days'),
start: Date.ago(pageSize * page + pageSize + 'days'),
},
view = {
metric: metric,
group: 'day',
range: range,
};
$.when(StatsManager.getDataRange(view)).then(function (data) {
var fields = StatsManager.getAvailableFields(view),
newBody = '<tbody>',
newPage = {},
newHead = '<tr><th>' + gettext('Date') + '</th>',
row;
_.each(fields, function (f) {
var id = f.split('|').pop(),
prettyName = _.escape(StatsManager.getPrettyName(metric, id)),
trimmedPrettyName =
prettyName.length > 32
? prettyName.substr(0, 32) + '...'
: prettyName;
newHead += format('<th title="{0}">', prettyName);
newHead += trimmedPrettyName;
newHead += '</th>';
});
var d = range.end.clone().backward('1 day'),
lastRowDate = range.start.clone().backward('1 day');
for (; lastRowDate.isBefore(d); d.backward('1 day')) {
row = data[d.iso()] || {};
newBody += '<tr>';
newBody +=
'<th>' +
Highcharts.dateFormat('%a, %b %e, %Y', Date.iso(d)) +
'</th>';
_.each(fields, function (f) {
newBody += '<td>';
if (metric == 'contributions' && f != 'count') {
newBody +=
'$' +
Highcharts.numberFormat(StatsManager.getField(row, f), 2);
} else {
newBody += Highcharts.numberFormat(
StatsManager.getField(row, f),
0,
);
}
newBody += '</td>';
});
newBody += '</tr>';
}
newBody += '</tbody>';
newPage.el = $(newBody);
newPage.head = newHead;
$table.append(newPage.el);
pages[page] = newPage;
$def.resolve();
});
return $def;
}