Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
2a45d5f4bf
1 değiştirilmiş dosya ile 15 ekleme ve 11 silme
  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