Browse Source

HUE-2364 [beeswax] SQL of saved or history queries are not loaded back in FF

It now waits for codeMirror to be initialized before trying to set the value
Enrico Berti 11 năm trước cách đây
mục cha
commit
2a45d5f
1 tập tin đã thay đổi với 15 bổ sung11 xóa
  1. 15 11
      apps/beeswax/src/beeswax/templates/execute.mako

+ 15 - 11
apps/beeswax/src/beeswax/templates/execute.mako

@@ -2595,12 +2595,7 @@ function loadDesign(design_id) {
 
   $(document).one('fetched.design', saveLastUsedDatabase);
 
-  var codeMirrorSubscription = viewModel.design.query.value.subscribe(function(value) {
-    viewModel.queryEditorBlank(true);
-    codeMirror.setValue(value);
-    codeMirrorSubscription.dispose();
-  });
-
+  setupCodeMirrorSubscription();
   loadEditor();
 }
 
@@ -2612,13 +2607,22 @@ function loadQueryHistory(query_history_id) {
 
   $(document).one('fetched.query', saveLastUsedDatabase);
 
-  var codeMirrorSubscription = viewModel.design.query.value.subscribe(function(value) {
+  setupCodeMirrorSubscription();
+  loadEditor();
+}
+
+function setupCodeMirrorSubscription() {
+  var codeMirrorSubscription = viewModel.design.query.value.subscribe(function (value) {
     viewModel.queryEditorBlank(true);
-    codeMirror.setValue(value);
-    codeMirrorSubscription.dispose();
+    var _waitForCodemirrorInit = -1;
+    _waitForCodemirrorInit = window.setInterval(function () {
+      if (typeof codeMirror != "undefined") {
+        codeMirror.setValue(value);
+        codeMirrorSubscription.dispose();
+        window.clearInterval(_waitForCodemirrorInit);
+      }
+    }, 100);
   });
-
-  loadEditor();
 }
 
 // Knockout