From 5ecfabbe45131826b597ca430ff833f0094cf482 Mon Sep 17 00:00:00 2001 From: cloverhearts Date: Tue, 10 Jan 2017 21:30:35 -0800 Subject: [PATCH 1/3] check editor object is undeifned. --- .../src/app/notebook/paragraph/paragraph.controller.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js index 6c612dd6cb2..4b428086d3c 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -1133,6 +1133,9 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }); $scope.$on('focusParagraph', function(event, paragraphId, cursorPos, mouseEvent) { + if (!$scope.editor) { + return; + } if ($scope.paragraph.id === paragraphId) { // focus editor if (!$scope.paragraph.config.editorHide) { @@ -1177,8 +1180,10 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat ), 1000); deferred.promise.then(function(data) { - $scope.editor.focus(); - $scope.goToEnd($scope.editor); + if ($scope.editor) { + $scope.editor.focus(); + $scope.goToEnd($scope.editor); + } }); } }); From 8f4d0bf9cbb02b264d095010ed0734e02869f861 Mon Sep 17 00:00:00 2001 From: cloverhearts Date: Wed, 11 Jan 2017 02:23:38 -0800 Subject: [PATCH 2/3] fixed readonly event error --- .../src/app/notebook/paragraph/paragraph.controller.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js index 4b428086d3c..b525693bea0 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -192,6 +192,9 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }; $scope.$watch($scope.getEditor, function(newValue, oldValue) { + if (!$scope.editor) { + return; + } if (newValue === null || newValue === undefined) { console.log('editor isnt loaded yet, returning'); return; @@ -1035,7 +1038,9 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat $scope.paragraph.status = data.paragraph.status; $scope.paragraph.results = data.paragraph.results; $scope.paragraph.settings = data.paragraph.settings; - $scope.editor.setReadOnly($scope.isRunning(data.paragraph)); + if ($scope.editor) { + $scope.editor.setReadOnly($scope.isRunning(data.paragraph)); + } if (!$scope.asIframe) { $scope.paragraph.config = data.paragraph.config; From 7071638f93085482b3c91837c7c369051d2d9bac Mon Sep 17 00:00:00 2001 From: cloverhearts Date: Thu, 12 Jan 2017 18:53:10 -0800 Subject: [PATCH 3/3] fix show title and paragraph context issue --- .../paragraph/paragraph.controller.js | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js index b525693bea0..5dbe1a00583 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -270,7 +270,7 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }; $scope.copyPara = function(position) { - var editorValue = $scope.editor.getValue(); + var editorValue = $scope.getEditorValue(); if (editorValue) { $scope.copyParagraph(editorValue, position); } @@ -398,15 +398,19 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }; $scope.showLineNumbers = function(paragraph) { - paragraph.config.lineNumbers = true; - $scope.editor.renderer.setShowGutter(true); - commitParagraph(paragraph); + if ($scope.editor) { + paragraph.config.lineNumbers = true; + $scope.editor.renderer.setShowGutter(true); + commitParagraph(paragraph); + } }; $scope.hideLineNumbers = function(paragraph) { - paragraph.config.lineNumbers = false; - $scope.editor.renderer.setShowGutter(false); - commitParagraph(paragraph); + if ($scope.editor) { + paragraph.config.lineNumbers = false; + $scope.editor.renderer.setShowGutter(false); + commitParagraph(paragraph); + } }; $scope.columnWidthClass = function(n) { @@ -764,7 +768,7 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }; $scope.getEditorValue = function() { - return $scope.editor.getValue(); + return !$scope.editor ? $scope.paragraph.text : $scope.editor.getValue(); }; $scope.getProgress = function() { @@ -1086,7 +1090,7 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat // move focus to next paragraph $scope.$emit('moveFocusToNextParagraph', paragraphId); } else if (keyEvent.shiftKey && keyCode === 13) { // Shift + Enter - $scope.run($scope.paragraph, $scope.editor.getValue()); + $scope.run($scope.paragraph, $scope.getEditorValue()); } else if (keyEvent.ctrlKey && keyEvent.altKey && keyCode === 67) { // Ctrl + Alt + c $scope.cancelParagraph($scope.paragraph); } else if (keyEvent.ctrlKey && keyEvent.altKey && keyCode === 68) { // Ctrl + Alt + d @@ -1167,7 +1171,7 @@ function ParagraphCtrl($scope, $rootScope, $route, $window, $routeParams, $locat }); $scope.$on('saveInterpreterBindings', function(event, paragraphId) { - if ($scope.paragraph.id === paragraphId) { + if ($scope.paragraph.id === paragraphId && $scope.editor) { setInterpreterBindings = true; setParagraphMode($scope.editor.getSession(), $scope.editor.getSession().getValue()); }