From 00a479de6ffcd5cfd21adbb021fac02b0d630e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 13 Nov 2015 10:32:01 +0100 Subject: [PATCH] feat(tablepanel): renamed some table panel schema things --- public/app/panels/table/controller.ts | 11 ++++- public/app/panels/table/editor.html | 44 +++++++++---------- public/app/panels/table/editor.ts | 24 +++++----- public/app/panels/table/renderer.ts | 4 +- .../app/panels/table/specs/renderer_specs.ts | 2 +- .../panels/table/specs/transformers_specs.ts | 28 +++++++++++- public/app/panels/table/transformers.ts | 8 ++-- 7 files changed, 77 insertions(+), 44 deletions(-) diff --git a/public/app/panels/table/controller.ts b/public/app/panels/table/controller.ts index d269ee1b7a6..e2166f82577 100644 --- a/public/app/panels/table/controller.ts +++ b/public/app/panels/table/controller.ts @@ -29,7 +29,7 @@ export class TablePanelCtrl { transform: 'timeseries_to_rows', pageSize: 50, showHeader: true, - columns: [ + styles: [ { type: 'date', pattern: 'Time', @@ -45,13 +45,20 @@ export class TablePanelCtrl { thresholds: [], } ], - fields: [], + columns: [], scroll: true, fontSize: '100%', sort: {col: 0, desc: true}, }; $scope.init = function() { + if ($scope.panel.styles === void 0) { + $scope.panel.styles = $scope.panel.columns; + $scope.panel.columns = $scope.panel.fields; + delete $scope.panel.columns; + delete $scope.panel.fields; + } + _.defaults($scope.panel, panelDefaults); panelSrv.init($scope); diff --git a/public/app/panels/table/editor.html b/public/app/panels/table/editor.html index a1cc25b52fc..50cb18f3d07 100644 --- a/public/app/panels/table/editor.html +++ b/public/app/panels/table/editor.html @@ -19,15 +19,15 @@
@@ -67,11 +67,11 @@
Column Styles
-
+
  • - +
@@ -80,38 +80,38 @@ Name or regex
  • - +
  • Type
  • -
      +
      • Format
      • - +
    -
    +
    • Coloring
    • +
    • Colors
    • - - - + + +
    -
    +
    • Unit
    • Decimals
    • - +
    @@ -158,7 +158,7 @@
    diff --git a/public/app/panels/table/editor.ts b/public/app/panels/table/editor.ts index 4da8e5c5967..971b273cb50 100644 --- a/public/app/panels/table/editor.ts +++ b/public/app/panels/table/editor.ts @@ -36,8 +36,8 @@ export function tablePanelEditor() { {text: 'MMMM D, YYYY LT', value: 'MMMM D, YYYY LT'}, ]; - scope.updateJsonFieldsMenu = function(data) { - scope.jsonFieldsMenu = []; + scope.updateColumnsMenu = function(data) { + scope.columnsMenu = []; if (!data || data.length === 0) { return; } @@ -58,18 +58,18 @@ export function tablePanelEditor() { } _.each(names, function(value, key) { - scope.jsonFieldsMenu.push({text: key}); + scope.columnsMenu.push({text: key}); }); }; - scope.updateJsonFieldsMenu(scope.dataRaw); + scope.updateColumnsMenu(scope.dataRaw); scope.$on('render', function(event, table, rawData) { - scope.updateJsonFieldsMenu(rawData); + scope.updateColumnsMenu(rawData); }); - scope.addJsonField = function(menuItem) { - scope.panel.fields.push({name: menuItem.text}); + scope.addColumn = function(menuItem) { + scope.panel.columns.push({name: menuItem.text}); scope.render(); }; @@ -77,8 +77,8 @@ export function tablePanelEditor() { scope.render(); }; - scope.removeJsonField = function(field) { - scope.panel.fields = _.without(scope.panel.fields, field); + scope.removeColumn = function(column) { + scope.panel.column = _.without(scope.panel.column, column); scope.render(); }; @@ -99,11 +99,11 @@ export function tablePanelEditor() { thresholds: [], }; - scope.panel.columns.push(angular.copy(columnStyleDefaults)); + scope.panel.styles.push(angular.copy(columnStyleDefaults)); }; - scope.removeColumnStyle = function(col) { - scope.panel.columns = _.without(scope.panel.columns, col); + scope.removeColumnStyle = function(style) { + scope.panel.styles = _.without(scope.panel.styles, style); }; scope.getColumnNames = function() { diff --git a/public/app/panels/table/renderer.ts b/public/app/panels/table/renderer.ts index 37fec0642be..3ecb6d68643 100644 --- a/public/app/panels/table/renderer.ts +++ b/public/app/panels/table/renderer.ts @@ -81,8 +81,8 @@ export class TableRenderer { return this.formaters[colIndex](value); } - for (let i = 0; i < this.panel.columns.length; i++) { - let style = this.panel.columns[i]; + for (let i = 0; i < this.panel.styles.length; i++) { + let style = this.panel.styles[i]; let column = this.table.columns[colIndex]; var regex = kbn.stringToJsRegex(style.pattern); if (column.text.match(regex)) { diff --git a/public/app/panels/table/specs/renderer_specs.ts b/public/app/panels/table/specs/renderer_specs.ts index 43b60c1b364..f8fdebb9ab0 100644 --- a/public/app/panels/table/specs/renderer_specs.ts +++ b/public/app/panels/table/specs/renderer_specs.ts @@ -15,7 +15,7 @@ describe('when rendering table', () => { var panel = { pageSize: 10, - columns: [ + styles: [ { pattern: 'Time', type: 'date', diff --git a/public/app/panels/table/specs/transformers_specs.ts b/public/app/panels/table/specs/transformers_specs.ts index c41143ab016..c6e287a7ed7 100644 --- a/public/app/panels/table/specs/transformers_specs.ts +++ b/public/app/panels/table/specs/transformers_specs.ts @@ -71,10 +71,36 @@ describe('when transforming time series table', () => { }); }); + describe('timeseries_to_summaries', () => { + var panel = { + transform: 'timeseries_to_summaries', + sort: {col: 0, desc: true}, + }; + + beforeEach(() => { + table = TableModel.transform(timeSeries, panel); + }); + + // it('should return 2 rows', () => { + // expect(table.rows.length).to.be(2); + // expect(table.rows[0][0]).to.be('series1'); + // expect(table.rows[0][1]).to.be('Min'); + // expect(table.rows[1][0]).to.be('series2'); + // }); + // + // it('should return 2 columns', () => { + // expect(table.columns.length).to.be(3); + // expect(table.columns[0].text).to.be('Series'); + // expect(table.columns[1].text).to.be('Min'); + // expect(table.columns[2].text).to.be('Value'); + // }); + }); + + describe('JSON Data', () => { var panel = { transform: 'json', - fields: [{name: 'timestamp'}, {name: 'message'}] + columns: [{name: 'timestamp'}, {name: 'message'}] }; var rawData = [ { diff --git a/public/app/panels/table/transformers.ts b/public/app/panels/table/transformers.ts index 044a20c8c0b..8302be662eb 100644 --- a/public/app/panels/table/transformers.ts +++ b/public/app/panels/table/transformers.ts @@ -87,8 +87,8 @@ transformers['json'] = { description: 'JSON Data', transform: function(data, panel, model) { var i, y, z; - for (i = 0; i < panel.fields.length; i++) { - model.columns.push({text: panel.fields[i].name}); + for (i = 0; i < panel.columns.length; i++) { + model.columns.push({text: panel.columns[i].name}); } if (model.columns.length === 0) { @@ -101,8 +101,8 @@ transformers['json'] = { for (y = 0; y < series.datapoints.length; y++) { var dp = series.datapoints[y]; var values = []; - for (z = 0; z < panel.fields.length; z++) { - values.push(dp[panel.fields[z].name]); + for (z = 0; z < panel.columns.length; z++) { + values.push(dp[panel.columns[z].name]); } if (values.length === 0) {