From 114756c597303694e77b4564a3c1a23e5bd12546 Mon Sep 17 00:00:00 2001 From: tzolov Date: Thu, 6 Aug 2015 09:36:47 +0200 Subject: [PATCH 1/4] ZEPPELIN-141: Show only the Interpreters suggestions. Move the 'local' suggestions to the bottom of the list --- .../app/notebook/paragraph/paragraph.controller.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js index 7091e287728..002b6f76dfa 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -415,11 +415,6 @@ angular.module('zeppelinWebApp') // not applying emacs key binding while the binding override Ctrl-v. default behavior of paste text on windows. } - $scope.editor.setOptions({ - enableBasicAutocompletion: true, - enableSnippets: false, - enableLiveAutocompletion:false - }); var remoteCompleter = { getCompletions : function(editor, session, pos, prefix, callback) { if (!$scope.editor.isFocused() ){ return;} @@ -445,8 +440,14 @@ angular.module('zeppelinWebApp') }); } }; - langTools.addCompleter(remoteCompleter); + + langTools.setCompleters([remoteCompleter]); + $scope.editor.setOptions({ + enableBasicAutocompletion: true, + enableSnippets: false, + enableLiveAutocompletion:false + }); $scope.handleFocus = function(value) { $scope.paragraphFocused = value; From f9ff609e959cbdd2897325dc2acd19a86e2380d1 Mon Sep 17 00:00:00 2001 From: tzolov Date: Sat, 8 Aug 2015 10:45:07 +0200 Subject: [PATCH 2/4] ZEPPELIN-141: Add the default langToos (keyWord,snippet,text)Completers after the Interpter one --- zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js | 2 +- 1 file changed, 1 insertion(+), 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 002b6f76dfa..b8661da7fa0 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -441,7 +441,7 @@ angular.module('zeppelinWebApp') } }; - langTools.setCompleters([remoteCompleter]); + langTools.setCompleters([remoteCompleter, langTools.keyWordCompleter, langTools.snippetCompleter, langTools.textCompleter]); $scope.editor.setOptions({ enableBasicAutocompletion: true, From 78117e63509792700b571a4f9e6f5d88e4e411ab Mon Sep 17 00:00:00 2001 From: tzolov Date: Sat, 8 Aug 2015 21:25:53 +0200 Subject: [PATCH 3/4] ZEPPELIN-141: (Re)set the correct ACE editor mode on auto-completion event (Ctrl+.) --- .../paragraph/paragraph.controller.js | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js index b8661da7fa0..3d83d78c94a 100644 --- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js +++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js @@ -415,12 +415,27 @@ angular.module('zeppelinWebApp') // not applying emacs key binding while the binding override Ctrl-v. default behavior of paste text on windows. } + var sqlModeTest = /^%(\w*\.)?\wql/; + + $scope.setParagraphMode = function(session, paragraphText) { + if (sqlModeTest.test(String(paragraphText))) { + session.setMode(editorMode.sql); + } else if ( String(paragraphText).startsWith('%md')) { + session.setMode(editorMode.markdown); + } else { + session.setMode(editorMode.scala); + } + } + var remoteCompleter = { getCompletions : function(editor, session, pos, prefix, callback) { if (!$scope.editor.isFocused() ){ return;} var pos = session.getTextRange(new Range(0, 0, pos.row, pos.column)).length; var buf = session.getValue(); + + // ensure the correct mode is set + $scope.setParagraphMode(session, buf); websocketMsgSrv.completion($scope.paragraph.id, buf, pos); @@ -473,15 +488,7 @@ angular.module('zeppelinWebApp') $scope.editor.resize(); }); - var sqlModeTest = /^%(\w*\.)?\wql/; - var code = $scope.editor.getSession().getValue(); - if (sqlModeTest.test(String(code))) { - $scope.editor.getSession().setMode(editorMode.sql); - } else if ( String(code).startsWith('%md')) { - $scope.editor.getSession().setMode(editorMode.markdown); - } else { - $scope.editor.getSession().setMode(editorMode.scala); - } + $scope.setParagraphMode($scope.editor.getSession(), $scope.editor.getSession().getValue()); $scope.editor.commands.addCommand({ name: 'run', From a7202a7de6108dd7a047103e3d7c85bf2ae15c5b Mon Sep 17 00:00:00 2001 From: tzolov Date: Sat, 8 Aug 2015 21:28:18 +0200 Subject: [PATCH 4/4] ZEPPELIN-141: resolve ACE auto-completion pop-up menu wrong z-index --- zeppelin-web/src/index.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html index a65c9446f60..a4e2f895c39 100644 --- a/zeppelin-web/src/index.html +++ b/zeppelin-web/src/index.html @@ -27,6 +27,12 @@ + + + +