From b4cbba891db12a7788d312031531d269bf156e7c Mon Sep 17 00:00:00 2001 From: prabhjyotsingh Date: Wed, 22 Nov 2017 09:35:38 +0530 Subject: [PATCH 1/5] ZEPPELIN-3072: Zeppelin UI becomes slow/unresponsive if there are too many notebooks Change-Id: I50f3776f698da1997f08711bb134fa709815818d --- zeppelin-web/bower.json | 3 ++- zeppelin-web/karma.conf.js | 1 + zeppelin-web/src/app/app.js | 1 + zeppelin-web/src/app/home/home.controller.js | 5 +++++ zeppelin-web/src/app/home/home.html | 8 ++++---- zeppelin-web/src/app/home/notebook.html | 8 ++++---- zeppelin-web/src/components/navbar/navbar.controller.js | 5 +++++ zeppelin-web/src/components/navbar/navbar.html | 8 ++++---- zeppelin-web/src/index.html | 1 + 9 files changed, 27 insertions(+), 13 deletions(-) diff --git a/zeppelin-web/bower.json b/zeppelin-web/bower.json index 2b5135f9b8e..3de9f5653a4 100644 --- a/zeppelin-web/bower.json +++ b/zeppelin-web/bower.json @@ -33,7 +33,8 @@ "select2": "^4.0.3", "MathJax": "2.7.0", "ngclipboard": "^1.1.1", - "jsdiff": "3.3.0" + "jsdiff": "3.3.0", + "ngInfiniteScroll": "^1.3.4" }, "devDependencies": { "angular-mocks": "1.5.7" diff --git a/zeppelin-web/karma.conf.js b/zeppelin-web/karma.conf.js index 8a03bec1c2f..3e573a98f17 100644 --- a/zeppelin-web/karma.conf.js +++ b/zeppelin-web/karma.conf.js @@ -87,6 +87,7 @@ module.exports = function(config) { 'bower_components/clipboard/dist/clipboard.js', 'bower_components/ngclipboard/dist/ngclipboard.js', 'bower_components/jsdiff/diff.js', + 'bower_components/ngInfiniteScroll/build/ng-infinite-scroll.js', 'bower_components/angular-mocks/angular-mocks.js', // endbower diff --git a/zeppelin-web/src/app/app.js b/zeppelin-web/src/app/app.js index d46d026858a..5a4c0161588 100644 --- a/zeppelin-web/src/app/app.js +++ b/zeppelin-web/src/app/app.js @@ -44,6 +44,7 @@ const requiredModules = [ 'ngResource', 'ngclipboard', 'angularViewportWatch', + 'infinite-scroll', 'ui.grid', 'ui.grid.exporter', 'ui.grid.edit', 'ui.grid.rowEdit', diff --git a/zeppelin-web/src/app/home/home.controller.js b/zeppelin-web/src/app/home/home.controller.js index 2cf84395558..d2823dd6f6f 100644 --- a/zeppelin-web/src/app/home/home.controller.js +++ b/zeppelin-web/src/app/home/home.controller.js @@ -24,6 +24,7 @@ function HomeCtrl ($scope, noteListFactory, websocketMsgSrv, $rootScope, arrayOr vm.websocketMsgSrv = websocketMsgSrv vm.arrayOrderingSrv = arrayOrderingSrv vm.noteActionService = noteActionService + vm.numberOfNotesDisplayed = window.innerHeight / 20 vm.notebookHome = false vm.noteCustomHome = true @@ -85,6 +86,10 @@ function HomeCtrl ($scope, noteListFactory, websocketMsgSrv, $rootScope, arrayOr } }) + $scope.loadMoreNotes = function () { + vm.numberOfNotesDisplayed += 10 + } + $scope.renameNote = function (nodeId, nodePath) { vm.noteActionService.renameNote(nodeId, nodePath) } diff --git a/zeppelin-web/src/app/home/home.html b/zeppelin-web/src/app/home/home.html index 1ab971898fd..ff49547fa88 100644 --- a/zeppelin-web/src/app/home/home.html +++ b/zeppelin-web/src/app/home/home.html @@ -44,12 +44,12 @@
{{noteName(note)}} -
-
  • +
  • -
    -
  • +
  • diff --git a/zeppelin-web/src/app/home/notebook.html b/zeppelin-web/src/app/home/notebook.html index a6f2416a691..079a39127b9 100644 --- a/zeppelin-web/src/app/home/notebook.html +++ b/zeppelin-web/src/app/home/notebook.html @@ -27,12 +27,12 @@
    Create new note
    diff --git a/zeppelin-web/src/components/navbar/navbar.controller.js b/zeppelin-web/src/components/navbar/navbar.controller.js index 0ac2f18bb56..e92813b6da1 100644 --- a/zeppelin-web/src/components/navbar/navbar.controller.js +++ b/zeppelin-web/src/components/navbar/navbar.controller.js @@ -30,6 +30,7 @@ function NavCtrl ($scope, $rootScope, $http, $routeParams, $location, vm.showLoginWindow = showLoginWindow vm.TRASH_FOLDER_ID = TRASH_FOLDER_ID vm.isFilterNote = isFilterNote + vm.numberOfNotesDisplayed = 10 $scope.query = {q: ''} @@ -153,6 +154,10 @@ function NavCtrl ($scope, $rootScope, $http, $routeParams, $location, }) } + $scope.loadMoreNotes = function () { + vm.numberOfNotesDisplayed += 10 + } + $scope.calculateTooltipPlacement = function (note) { if (note !== undefined && note.name !== undefined) { let length = note.name.length diff --git a/zeppelin-web/src/components/navbar/navbar.html b/zeppelin-web/src/components/navbar/navbar.html index 597ed511e68..b0ea75880a6 100644 --- a/zeppelin-web/src/components/navbar/navbar.html +++ b/zeppelin-web/src/components/navbar/navbar.html @@ -46,13 +46,13 @@
  • -
    -
  • +
  • -
    -
  • +
  • diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html index 9a126f1b437..15a5085f635 100644 --- a/zeppelin-web/src/index.html +++ b/zeppelin-web/src/index.html @@ -166,6 +166,7 @@ + From 00ec295dce2c6bda51834d258f4735ea18c360af Mon Sep 17 00:00:00 2001 From: prabhjyotsingh Date: Wed, 22 Nov 2017 18:39:18 +0530 Subject: [PATCH 2/5] fix sort and serch Change-Id: I9bab7c78c8264b4c59fbd6b73d18d796ab29028f --- zeppelin-web/src/app/home/home.html | 4 ++-- zeppelin-web/src/app/home/notebook.html | 2 +- .../src/components/array-ordering/array-ordering.service.js | 4 ++-- zeppelin-web/src/components/navbar/navbar.html | 2 +- zeppelin-web/src/components/note-list/note-list.factory.js | 3 ++- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/zeppelin-web/src/app/home/home.html b/zeppelin-web/src/app/home/home.html index ff49547fa88..0285754113a 100644 --- a/zeppelin-web/src/app/home/home.html +++ b/zeppelin-web/src/app/home/home.html @@ -40,12 +40,12 @@
    Create new note