|
@@ -6,16 +6,13 @@ import _ = require('lodash');
|
|
|
import moment = require('moment');
|
|
import moment = require('moment');
|
|
|
import PanelMeta = require('app/features/panel/panel_meta');
|
|
import PanelMeta = require('app/features/panel/panel_meta');
|
|
|
import TimeSeries = require('app/core/time_series');
|
|
import TimeSeries = require('app/core/time_series');
|
|
|
-import {TableModel} from './table_model';
|
|
|
|
|
-
|
|
|
|
|
-var panelDefaults = {
|
|
|
|
|
- targets: [{}],
|
|
|
|
|
-};
|
|
|
|
|
|
|
+import {TableModel, transformers} from './table_model';
|
|
|
|
|
|
|
|
export class TablePanelCtrl {
|
|
export class TablePanelCtrl {
|
|
|
|
|
|
|
|
constructor($scope, $rootScope, $q, panelSrv, panelHelper) {
|
|
constructor($scope, $rootScope, $q, panelSrv, panelHelper) {
|
|
|
$scope.ctrl = this;
|
|
$scope.ctrl = this;
|
|
|
|
|
+ $scope.transformers = transformers;
|
|
|
|
|
|
|
|
$scope.panelMeta = new PanelMeta({
|
|
$scope.panelMeta = new PanelMeta({
|
|
|
panelName: 'Table',
|
|
panelName: 'Table',
|
|
@@ -27,21 +24,31 @@ export class TablePanelCtrl {
|
|
|
$scope.panelMeta.addEditorTab('Options', 'app/panels/table/options.html');
|
|
$scope.panelMeta.addEditorTab('Options', 'app/panels/table/options.html');
|
|
|
$scope.panelMeta.addEditorTab('Time range', 'app/features/panel/partials/panelTime.html');
|
|
$scope.panelMeta.addEditorTab('Time range', 'app/features/panel/partials/panelTime.html');
|
|
|
|
|
|
|
|
|
|
+ var panelDefaults = {
|
|
|
|
|
+ targets: [{}],
|
|
|
|
|
+ transform: 'timeseries_to_rows'
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
_.defaults($scope.panel, panelDefaults);
|
|
_.defaults($scope.panel, panelDefaults);
|
|
|
|
|
|
|
|
$scope.refreshData = function(datasource) {
|
|
$scope.refreshData = function(datasource) {
|
|
|
panelHelper.updateTimeRange($scope);
|
|
panelHelper.updateTimeRange($scope);
|
|
|
|
|
|
|
|
return panelHelper.issueMetricQuery($scope, datasource)
|
|
return panelHelper.issueMetricQuery($scope, datasource)
|
|
|
- .then($scope.dataHandler, function(err) {
|
|
|
|
|
- $scope.seriesList = [];
|
|
|
|
|
- $scope.render([]);
|
|
|
|
|
- throw err;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .then($scope.dataHandler, function(err) {
|
|
|
|
|
+ $scope.seriesList = [];
|
|
|
|
|
+ $scope.render([]);
|
|
|
|
|
+ throw err;
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
$scope.dataHandler = function(results) {
|
|
$scope.dataHandler = function(results) {
|
|
|
- $scope.tableModel = TableModel.transform(results.data, $scope.panel);
|
|
|
|
|
|
|
+ $scope.dataRaw = results.data;
|
|
|
|
|
+ $scope.render();
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ $scope.render = function() {
|
|
|
|
|
+ $scope.tableModel = TableModel.transform($scope.dataRaw, $scope.panel);
|
|
|
panelHelper.broadcastRender($scope, $scope.tableModel);
|
|
panelHelper.broadcastRender($scope, $scope.tableModel);
|
|
|
};
|
|
};
|
|
|
|
|
|