Просмотр исходного кода

[spark] Hide Ace autocomplete on window scroll

Enrico Berti 10 лет назад
Родитель
Сommit
ab2963d

+ 0 - 4
apps/spark/src/spark/templates/editor.mako

@@ -56,10 +56,6 @@ ${ koComponents.assistPanel() }
     baseURL: "${ autocomplete_base_url | n,unicode }"
   });
 
-  huePubSub.subscribe('assist.dblClickItem', function addToActiveCodemirror(text) {
-    // TODO: set content of Ace editor
-  });
-
   huePubSub.subscribe('assist.mainObjectChange', function (db) {
     aceAutocomplete.setDatabase(db);
   });

+ 10 - 3
apps/spark/src/spark/templates/editor_components.mako

@@ -225,7 +225,7 @@ from django.utils.translation import ugettext as _
     <div class="assist" data-bind="component: { name: 'assist-panel', params: { assist: assist, appName: 'spark' }}"></div>
   </div>
   <div class="resizer" data-bind="visible: $root.isLeftPanelVisible(), splitDraggable : { appName: 'spark', leftPanelVisible: $root.isLeftPanelVisible }"><div class="resize-bar">&nbsp;</div></div>
-  <div class="right-panel">
+  <div class="right-panel" data-bind="event: { scroll: function(){ $(document).trigger('hideAutocomplete'); } }">
     <div>
       <div class="row-fluid row-container sortable-snippets" data-bind="css: {'is-editing': $root.isEditing},
         sortable: {
@@ -1402,8 +1402,15 @@ from django.utils.translation import ugettext as _
       }, 100);
     });
 
-    $(document).on("puma", function (e, snippet) {
-      forceChartDraws();
+    var hideTimeout = -1;
+    $(document).on("hideAutocomplete", function () {
+      window.clearTimeout(hideTimeout);
+      hideTimeout = window.setTimeout(function () {
+        $aceAutocomplete = $(".ace_editor.ace_autocomplete");
+        if ($aceAutocomplete.is(":visible")) {
+          $aceAutocomplete.hide();
+        }
+      }, 100);
     });
 
     function forceChartDraws() {

+ 0 - 4
apps/spark/src/spark/templates/notebook.mako

@@ -68,10 +68,6 @@ ${ koComponents.assistPanel() }
   });
 
 
-  huePubSub.subscribe('assist.dblClickItem', function addToActiveCodemirror(text) {
-    // TODO: set content of Ace editor
-  });
-
   huePubSub.subscribe('assist.mainObjectChange', function (db) {
     aceAutocomplete.setDatabase(db);
   });