From 646f9e7783282f2f6e82ed466451693f93cd065c Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Wed, 3 Jun 2015 14:56:29 -0700 Subject: [PATCH 1/6] Preserve whitespace in discover table cells for added fields --- .../components/doc_table/components/table_row/cell.html | 4 +--- src/kibana/components/doc_table/doc_table.less | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/kibana/components/doc_table/components/table_row/cell.html b/src/kibana/components/doc_table/components/table_row/cell.html index 69964385f72f..312dca4a1266 100644 --- a/src/kibana/components/doc_table/components/table_row/cell.html +++ b/src/kibana/components/doc_table/components/table_row/cell.html @@ -1,3 +1 @@ -> - <%= formatted %> - \ No newline at end of file +><%= formatted %> diff --git a/src/kibana/components/doc_table/doc_table.less b/src/kibana/components/doc_table/doc_table.less index 6954b401b090..86b9982c7014 100644 --- a/src/kibana/components/doc_table/doc_table.less +++ b/src/kibana/components/doc_table/doc_table.less @@ -7,6 +7,12 @@ doc-table { margin: 5px; .flex(1, 1, 100%); + tr.discover-table-row { + td:not(.discover-table-timefield):not(.ng-scope) { + white-space: pre; + } + } + .loading { opacity: @loading-opacity; } From 627b94e5f74df23a1561c2d7594a608b1a8b78e2 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Wed, 3 Jun 2015 15:40:46 -0700 Subject: [PATCH 2/6] Much cleaner CSS selector logic! --- .../components/doc_table/components/table_row/cell.html | 2 +- src/kibana/components/doc_table/doc_table.less | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/kibana/components/doc_table/components/table_row/cell.html b/src/kibana/components/doc_table/components/table_row/cell.html index 312dca4a1266..3bc83843b79d 100644 --- a/src/kibana/components/doc_table/components/table_row/cell.html +++ b/src/kibana/components/doc_table/components/table_row/cell.html @@ -1 +1 @@ -><%= formatted %> +><%= formatted %> diff --git a/src/kibana/components/doc_table/doc_table.less b/src/kibana/components/doc_table/doc_table.less index 86b9982c7014..699a66f948bf 100644 --- a/src/kibana/components/doc_table/doc_table.less +++ b/src/kibana/components/doc_table/doc_table.less @@ -7,10 +7,8 @@ doc-table { margin: 5px; .flex(1, 1, 100%); - tr.discover-table-row { - td:not(.discover-table-timefield):not(.ng-scope) { - white-space: pre; - } + .discover-table-datafield { + white-space: pre; } .loading { From 318f89a160401308b477ed0b80f688859ee3ffa8 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Wed, 3 Jun 2015 17:05:27 -0700 Subject: [PATCH 3/6] Using no_white_space utility instead of making cell template single-line --- src/kibana/components/doc_table/components/table_row.js | 7 ++++--- .../components/doc_table/components/table_row/cell.html | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/kibana/components/doc_table/components/table_row.js b/src/kibana/components/doc_table/components/table_row.js index a7640bcd7b50..ec94410ca0f4 100644 --- a/src/kibana/components/doc_table/components/table_row.js +++ b/src/kibana/components/doc_table/components/table_row.js @@ -23,9 +23,10 @@ define(function (require) { * ``` */ module.directive('kbnTableRow', function ($compile) { + var noWhiteSpace = require('utils/no_white_space'); var openRowHtml = require('text!components/doc_table/components/table_row/open.html'); var detailsHtml = require('text!components/doc_table/components/table_row/details.html'); - var cellTemplate = _.template(require('text!components/doc_table/components/table_row/cell.html')); + var cellTemplate = _.template(noWhiteSpace(require('text!components/doc_table/components/table_row/cell.html'))); var truncateByHeightTemplate = _.template(require('text!partials/truncate_by_height.html')); return { @@ -104,10 +105,10 @@ define(function (require) { } $scope.columns.forEach(function (column) { - newHtmls.push(cellTemplate({ + newHtmls.push(noWhiteSpace(cellTemplate({ timefield: false, formatted: _displayField(row, column, true) - })); + }))); }); var $cells = $el.children(); diff --git a/src/kibana/components/doc_table/components/table_row/cell.html b/src/kibana/components/doc_table/components/table_row/cell.html index 3bc83843b79d..97bbf2a2a313 100644 --- a/src/kibana/components/doc_table/components/table_row/cell.html +++ b/src/kibana/components/doc_table/components/table_row/cell.html @@ -1 +1,3 @@ -><%= formatted %> +> + <%= formatted %> + From d32034c46a8e1a755db4ad4b7fbaa6f156dd39f9 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Thu, 4 Jun 2015 13:54:08 -0700 Subject: [PATCH 4/6] Moving the usage of noWhiteSpace to a more appropriate place, IMHO --- src/kibana/components/doc_table/components/table_row.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kibana/components/doc_table/components/table_row.js b/src/kibana/components/doc_table/components/table_row.js index ec94410ca0f4..3fcaad59bc52 100644 --- a/src/kibana/components/doc_table/components/table_row.js +++ b/src/kibana/components/doc_table/components/table_row.js @@ -27,7 +27,7 @@ define(function (require) { var openRowHtml = require('text!components/doc_table/components/table_row/open.html'); var detailsHtml = require('text!components/doc_table/components/table_row/details.html'); var cellTemplate = _.template(noWhiteSpace(require('text!components/doc_table/components/table_row/cell.html'))); - var truncateByHeightTemplate = _.template(require('text!partials/truncate_by_height.html')); + var truncateByHeightTemplate = _.template(noWhiteSpace(require('text!partials/truncate_by_height.html'))); return { restrict: 'A', @@ -105,10 +105,10 @@ define(function (require) { } $scope.columns.forEach(function (column) { - newHtmls.push(noWhiteSpace(cellTemplate({ + newHtmls.push(cellTemplate({ timefield: false, formatted: _displayField(row, column, true) - }))); + })); }); var $cells = $el.children(); From 1c435636530e1c5b7b39a65c20bb3ac752e2d81b Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Thu, 4 Jun 2015 14:24:08 -0700 Subject: [PATCH 5/6] Adding class for _source field --- src/kibana/components/doc_table/components/table_row.js | 1 + src/kibana/components/doc_table/components/table_row/cell.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kibana/components/doc_table/components/table_row.js b/src/kibana/components/doc_table/components/table_row.js index 3fcaad59bc52..15952844b003 100644 --- a/src/kibana/components/doc_table/components/table_row.js +++ b/src/kibana/components/doc_table/components/table_row.js @@ -107,6 +107,7 @@ define(function (require) { $scope.columns.forEach(function (column) { newHtmls.push(cellTemplate({ timefield: false, + sourcefield: (column === '_source'), formatted: _displayField(row, column, true) })); }); diff --git a/src/kibana/components/doc_table/components/table_row/cell.html b/src/kibana/components/doc_table/components/table_row/cell.html index 97bbf2a2a313..2a3f18b9cb53 100644 --- a/src/kibana/components/doc_table/components/table_row/cell.html +++ b/src/kibana/components/doc_table/components/table_row/cell.html @@ -1,3 +1,3 @@ -> +> <%= formatted %> From 46aea3381193efe6659e40459b0d06afe377cff0 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Thu, 4 Jun 2015 14:34:53 -0700 Subject: [PATCH 6/6] Extracting conditional logic to make code more readable --- .../doc_table/components/table_row/cell.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/kibana/components/doc_table/components/table_row/cell.html b/src/kibana/components/doc_table/components/table_row/cell.html index 2a3f18b9cb53..55f1e17f0cde 100644 --- a/src/kibana/components/doc_table/components/table_row/cell.html +++ b/src/kibana/components/doc_table/components/table_row/cell.html @@ -1,3 +1,13 @@ -> +<% +var attributes = ''; +if (timefield) { + attributes='class="discover-table-timefield" width="1%"'; +} else if (sourcefield) { + attributes='class="discover-table-sourcefield"'; +} else { + attributes='class="discover-table-datafield"'; +} +%> +> <%= formatted %>