table_model.ts 876 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ///<reference path="../../headers/common.d.ts" />
  2. import moment = require('moment');
  3. import _ = require('lodash');
  4. export class TableModel {
  5. columns: any[];
  6. rows: any[];
  7. static transform(data, panel) {
  8. var model = new TableModel();
  9. if (!data || data.length === 0) {
  10. return model;
  11. }
  12. model.columns = [
  13. {text: 'Time'},
  14. {text: 'Value'},
  15. ];
  16. model.rows = [];
  17. for (var i = 0; i < data.length; i++) {
  18. var series = data[i];
  19. for (var y = 0; y < series.datapoints.length; y++) {
  20. var dp = series.datapoints[y];
  21. var time = moment(dp[1]).format('LLL');
  22. var value = dp[0];
  23. if (value === null) {
  24. value = 'null';
  25. } else if (_.isNumber(value)) {
  26. value = value.toFixed(2);
  27. }
  28. model.rows.push([time, value]);
  29. }
  30. }
  31. return model;
  32. }
  33. }