function getPage()

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;
    }