From 7315707b391db8e415980f1c2a1454afca4394d7 Mon Sep 17 00:00:00 2001 From: Ravi Ranjan Date: Thu, 9 Jun 2016 15:38:26 +0530 Subject: [PATCH 1/4] Handle empty search --- .../src/app/search/result-list.controller.js | 16 +++++++++++++++- zeppelin-web/src/app/search/result-list.html | 6 +++++- zeppelin-web/src/app/search/search.css | 9 +++++++++ zeppelin-web/src/components/navbar/navbar.html | 1 + 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/zeppelin-web/src/app/search/result-list.controller.js b/zeppelin-web/src/app/search/result-list.controller.js index 949e01f50b1..2de139db7d4 100644 --- a/zeppelin-web/src/app/search/result-list.controller.js +++ b/zeppelin-web/src/app/search/result-list.controller.js @@ -16,8 +16,10 @@ angular .module('zeppelinWebApp') - .controller('SearchResultCtrl', function($scope, $routeParams, searchService) { + .controller('SearchResultCtrl', function($scope, $routeParams, searchService, $rootScope) { + $scope.isResult = true ; + $scope.searchTerm = $routeParams.searchTerm; var results = searchService.search({'q': $routeParams.searchTerm}).query(); results.$promise.then(function(result) { @@ -34,6 +36,18 @@ angular return note; }); + if ($scope.notes.length === 0) { + $scope.isResult = false; + } else { + $scope.isResult = true; + } + + var routeChangeEvent = $rootScope.$on('$routeChangeStart', function (event, next, current) { + if (next.originalPath !== '/search/:searchTerm') { + angular.element('#searchTermId').val(''); + routeChangeEvent(); + } + }); }); $scope.page = 0; diff --git a/zeppelin-web/src/app/search/result-list.html b/zeppelin-web/src/app/search/result-list.html index 87fce5340b9..38c291200af 100644 --- a/zeppelin-web/src/app/search/result-list.html +++ b/zeppelin-web/src/app/search/result-list.html @@ -12,7 +12,7 @@ limitations under the License. -->
-
+
  • @@ -37,6 +37,10 @@

+
+
+ We couldn’t find any notebook matching '{{searchTerm}}' +
diff --git a/zeppelin-web/src/app/search/search.css b/zeppelin-web/src/app/search/search.css index b06b4a94a0c..90a7a3f41d6 100644 --- a/zeppelin-web/src/app/search/search.css +++ b/zeppelin-web/src/app/search/search.css @@ -40,3 +40,12 @@ .search-results .ace_invalid { background: none !important; } + +.search-no-result-found { + border: 1px solid; + margin: 150px 150px; + padding: 15px 10px 15px 0px; + color: #00529B; + text-align: center; + background-color: #f4f6f8; +} diff --git a/zeppelin-web/src/components/navbar/navbar.html b/zeppelin-web/src/components/navbar/navbar.html index 148d67d3311..e3d71e72fd0 100644 --- a/zeppelin-web/src/components/navbar/navbar.html +++ b/zeppelin-web/src/components/navbar/navbar.html @@ -71,6 +71,7 @@ Date: Mon, 13 Jun 2016 11:11:09 +0530 Subject: [PATCH 2/4] add check on searchTerm and clan up scope --- zeppelin-web/src/app/search/result-list.controller.js | 1 + zeppelin-web/src/components/navbar/navbar.controller.js | 2 ++ zeppelin-web/src/components/navbar/navbar.html | 8 ++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/zeppelin-web/src/app/search/result-list.controller.js b/zeppelin-web/src/app/search/result-list.controller.js index 2de139db7d4..528ec3d60c8 100644 --- a/zeppelin-web/src/app/search/result-list.controller.js +++ b/zeppelin-web/src/app/search/result-list.controller.js @@ -45,6 +45,7 @@ angular var routeChangeEvent = $rootScope.$on('$routeChangeStart', function (event, next, current) { if (next.originalPath !== '/search/:searchTerm') { angular.element('#searchTermId').val(''); + $rootScope.searchForm.searchTerm = ''; routeChangeEvent(); } }); diff --git a/zeppelin-web/src/components/navbar/navbar.controller.js b/zeppelin-web/src/components/navbar/navbar.controller.js index 50c769f1c3c..38df248e917 100644 --- a/zeppelin-web/src/components/navbar/navbar.controller.js +++ b/zeppelin-web/src/components/navbar/navbar.controller.js @@ -24,11 +24,13 @@ angular.module('zeppelinWebApp').controller('NavCtrl', function($scope, $rootSco }, 500); }; + var vm = this; vm.notes = notebookListDataFactory; vm.connected = websocketMsgSrv.isConnected(); vm.websocketMsgSrv = websocketMsgSrv; vm.arrayOrderingSrv = arrayOrderingSrv; + $rootScope.searchForm = {}; if ($rootScope.ticket) { $rootScope.fullUsername = $rootScope.ticket.principal; $rootScope.truncatedUsername = $rootScope.ticket.principal; diff --git a/zeppelin-web/src/components/navbar/navbar.html b/zeppelin-web/src/components/navbar/navbar.html index e3d71e72fd0..56eecc54f16 100644 --- a/zeppelin-web/src/components/navbar/navbar.html +++ b/zeppelin-web/src/components/navbar/navbar.html @@ -64,13 +64,13 @@