Răsfoiți Sursa

HUE-3347 [editor] Improve current query highlighting

Highlight query just when more than one
Remove highlighting on editor focus
Resets highlighting before executing
Enrico Berti 9 ani în urmă
părinte
comite
32a2101

+ 7 - 0
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -2510,6 +2510,13 @@
         snippet.inFocus(true);
         $(".ace-editor").data("last-active-editor", false);
         $el.data("last-active-editor", true);
+        if (editor.session.$backMarkers) {
+          for (var marker in editor.session.$backMarkers) {
+            if (editor.session.$backMarkers[marker].clazz === 'highlighted') {
+              editor.session.removeMarker(editor.session.$backMarkers[marker].id);
+            }
+          }
+        }
       });
 
       editor.selection.on("changeSelection", function () {

+ 23 - 15
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -542,6 +542,16 @@
       self.progress(0);
       self.jobs([]);
       self.result.logs('');
+      self.result.statement_range ({
+        start: {
+          row: 0,
+          column: 0
+        },
+        end: {
+          row: 0,
+          column: 0
+        }
+      });
 
       if (self.result.fetchedOnce()) {
         self.close();
@@ -559,16 +569,16 @@
           self.result.hasResultset(data.handle.has_result_set);
           if (data.handle.statements_count != null) {
             self.result.statements_count(data.handle.statements_count);
+            if (data.handle.statements_count > 1 && data.handle.start != null && data.handle.end != null) {
+              self.result.statement_range({
+                start: data.handle.start,
+                end: data.handle.end
+              });
+            }
           }
           if (data.handle.statement_id != null) {
             self.result.statement_id(data.handle.statement_id);
           }
-          if (data.handle.start != null && data.handle.end != null) {
-            self.result.statement_range({
-              start: data.handle.start,
-              end: data.handle.end
-            });
-          }
 
           if (data.handle.sync) {
             self.loadData(data.handle, 100);
@@ -592,15 +602,13 @@
 
     self.reexecute = function () {
       self.result.handle()['statement_id'] = 0;
-      self.result.handle()['statement_range'] = {
-        start: {
-          row: 0,
-          column: 0
-        },
-        end: {
-          row: 0,
-          column: 0
-        }
+      self.result.handle()['start'] = {
+        row: 0,
+        column: 0
+      };
+      self.result.handle()['end'] = {
+        row: 0,
+        column: 0
       };
       self.result.handle()['has_more_statements'] = false;