浏览代码

HUE-5645 [notebook] Fix issue where the save results dialog disappears on mouse movements

Johan Ahlen 8 年之前
父节点
当前提交
bb66828cd8

+ 9 - 1
desktop/core/src/desktop/templates/common_notebook_ko_components.mako

@@ -331,6 +331,14 @@ except ImportError, e:
 
         self.checkDownloadInterval = -1;
 
+        $('#saveResultsModal, #downloadProgressModal').on('show', function () {
+          self.snippet.saveResultsModalVisible(true);
+        });
+
+        $('#saveResultsModal, #downloadProgressModal').on('hide', function () {
+          self.snippet.saveResultsModalVisible(false);
+        });
+
         self.isValidDestination = ko.pureComputed(function () {
           return self.savePath() !== '' && (self.saveTarget() != 'hive-table' || /^[a-zA-Z0-9_]*$/.test(self.savePath()));
         });
@@ -373,7 +381,7 @@ except ImportError, e:
           window.clearInterval(self.checkDownloadInterval);
           $('#downloadProgressModal').modal('hide');
         };
-      };
+      }
 
       DownloadResultsViewModel.prototype.download = function (format) {
         if (typeof trackOnGA == 'function') {

+ 5 - 4
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -18,10 +18,10 @@ var EditorViewModel = (function() {
 
   var NOTEBOOK_MAPPING = {
     ignore: [
-      "ace", "autocompleter", "availableSnippets", "history", "images", "inFocus", "selectedStatement", "user",
-      "availableDatabases", "hasProperties", "aceMode", "snippetImage", "errorLoadingQueries",
-      "cleanedStringMeta", "cleanedDateTimeMeta", "cleanedMeta", "cleanedNumericMeta",
-      "dependents", "canWrite", "queries", "avoidClosing"
+      'ace', 'aceMode', 'autocompleter', 'availableDatabases', 'availableSnippets', 'avoidClosing', 'canWrite',
+      'cleanedDateTimeMeta', 'cleanedMeta', 'cleanedNumericMeta', 'cleanedStringMeta', 'dependents', 'errorLoadingQueries',
+      'hasProperties', 'history', 'images', 'inFocus', 'queries', 'saveResultsModalVisible', 'selectedStatement',
+      'snippetImage', 'user'
     ]
   };
 
@@ -767,6 +767,7 @@ var EditorViewModel = (function() {
     });
 
     self.settingsVisible = ko.observable(typeof snippet.settingsVisible != "undefined" && snippet.settingsVisible != null ? snippet.settingsVisible : false);
+    self.saveResultsModalVisible = ko.observable(false);
 
     self.checkStatusTimeout = null;
 

+ 2 - 2
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -1497,8 +1497,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 </script>
 
 <script type="text/html" id="snippet">
-  <div data-bind="visibleOnHover: { override: inFocus() || settingsVisible() || dbSelectionVisible() || $root.editorMode(), selector: '.hover-actions' }">
-    <div class="snippet-container row-fluid" data-bind="visibleOnHover: { override: $root.editorMode() || inFocus, selector: '.snippet-actions' }">
+  <div data-bind="visibleOnHover: { override: inFocus() || settingsVisible() || dbSelectionVisible() || $root.editorMode() || saveResultsModalVisible(), selector: '.hover-actions' }">
+    <div class="snippet-container row-fluid" data-bind="visibleOnHover: { override: $root.editorMode() || inFocus() || saveResultsModalVisible(), selector: '.snippet-actions' }">
       <div class="snippet card card-widget" data-bind="css: {'notebook-snippet' : ! $root.editorMode(), 'editor-mode': $root.editorMode(), 'active-editor': inFocus, 'snippet-text' : type() == 'text'}, attr: {'id': 'snippet_' + id()}, clickForAceFocus: ace">
         <div style="position: relative;">
           <div class="snippet-row" style="position: relative;">