From 65e95674cdd33de67ac416764c3a9680829cf624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Mon, 3 Apr 2017 17:51:25 +0200 Subject: [PATCH] Factor out sorting in the doc table (#10997) Backports PR #10924 --- .../kibana/public/dashboard/panel/panel.html | 4 +- .../kibana/public/dashboard/panel/panel.js | 5 +- .../public/discover/controllers/discover.js | 4 + .../kibana/public/discover/index.html | 5 +- .../doc_table/__tests__/lib/rows_headers.js | 109 +++++++++++------- .../doc_table/components/table_header.html | 4 +- .../doc_table/components/table_header.js | 47 ++++---- src/ui/public/doc_table/doc_table.html | 15 ++- src/ui/public/doc_table/doc_table.js | 1 + 9 files changed, 120 insertions(+), 74 deletions(-) diff --git a/src/core_plugins/kibana/public/dashboard/panel/panel.html b/src/core_plugins/kibana/public/dashboard/panel/panel.html index 9f7368cb75a39..6d5cbef6c4f54 100644 --- a/src/core_plugins/kibana/public/dashboard/panel/panel.html +++ b/src/core_plugins/kibana/public/dashboard/panel/panel.html @@ -65,6 +65,8 @@ data-description="{{savedObj.description}}" render-counter class="panel-content" - filter="filter"> + filter="filter" + on-change-sort-order="setSortOrder" + > diff --git a/src/core_plugins/kibana/public/dashboard/panel/panel.js b/src/core_plugins/kibana/public/dashboard/panel/panel.js index 6f3875d8d6ffb..29408bf4ceb88 100644 --- a/src/core_plugins/kibana/public/dashboard/panel/panel.js +++ b/src/core_plugins/kibana/public/dashboard/panel/panel.js @@ -114,9 +114,10 @@ uiModules $scope.saveState(); }); - $scope.$watchCollection('panel.sort', function () { + $scope.setSortOrder = function setSortOrder(columnName, direction) { + $scope.panel.sort = [columnName, direction]; $scope.saveState(); - }); + }; } $scope.filter = function (field, value, operator) { diff --git a/src/core_plugins/kibana/public/discover/controllers/discover.js b/src/core_plugins/kibana/public/discover/controllers/discover.js index 6f469ee28eba4..ab1eb8a7f2064 100644 --- a/src/core_plugins/kibana/public/discover/controllers/discover.js +++ b/src/core_plugins/kibana/public/discover/controllers/discover.js @@ -475,6 +475,10 @@ function discoverController($scope, config, courier, $route, $window, Notifier, .set('filter', queryFilter.getFilters()); }); + $scope.setSortOrder = function setSortOrder(columnName, direction) { + $scope.state.sort = [columnName, direction]; + }; + // TODO: On array fields, negating does not negate the combination, rather all terms $scope.filterQuery = function (field, values, operation) { $scope.indexPattern.popularizeField(field, 1); diff --git a/src/core_plugins/kibana/public/discover/index.html b/src/core_plugins/kibana/public/discover/index.html index b4c647e9dddb4..bc183bd2c8bf7 100644 --- a/src/core_plugins/kibana/public/discover/index.html +++ b/src/core_plugins/kibana/public/discover/index.html @@ -131,8 +131,9 @@

Searching

shared-item data-title="{{opts.savedSearch.lastSavedTitle}}" data-description="{{opts.savedSearch.description}}" - render-counter> - + render-counter + on-change-sort-order="setSortOrder" + >