Преглед изворни кода

HUE-3524 [editor] Multi query highlighting seems to hide the query error

Enrico Berti пре 9 година
родитељ
комит
b37fbe0
1 измењених фајлова са 15 додато и 6 уклоњено
  1. 15 6
      desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

+ 15 - 6
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -2954,19 +2954,28 @@
         var range = options.highlightedRange ? options.highlightedRange() : null;
         editor.session.setMode(snippet.getAceMode());
         if (range) {
+          var conflictingWithErrorMarkers = false;
           if (editor.session.$backMarkers) {
             for (var marker in editor.session.$backMarkers) {
+              if (editor.session.$backMarkers[marker].clazz === 'ace_error-line') {
+                var errorRange = editor.session.$backMarkers[marker].range;
+                if (range.start.row <= errorRange.end.row && range.end.row >= errorRange.start.row) {
+                  conflictingWithErrorMarkers = true;
+                }
+              }
               if (editor.session.$backMarkers[marker].clazz === 'highlighted') {
                 editor.session.removeMarker(editor.session.$backMarkers[marker].id);
               }
             }
           }
-          editor.session.addMarker(new AceRange(range.start.row, range.start.column, range.end.row, range.end.column), 'highlighted', 'line');
-          ace.require('ace/lib/dom').importCssString('.highlighted {\
-              background-color: #E3F7FF;\
-              position: absolute;\
-          }');
-          editor.scrollToLine(range.start.row, true, true, function () {});
+          if (!conflictingWithErrorMarkers) {
+            editor.session.addMarker(new AceRange(range.start.row, range.start.column, range.end.row, range.end.column), 'highlighted', 'line');
+            ace.require('ace/lib/dom').importCssString('.highlighted {\
+                background-color: #E3F7FF;\
+                position: absolute;\
+            }');
+            editor.scrollToLine(range.start.row, true, true, function () {});
+          }
         }
       }
     }