فهرست منبع

HUE-3480 [assist] Impala refresh pop-over won't close after assist action while open

Johan Ahlen 9 سال پیش
والد
کامیت
a3ba75b
1فایلهای تغییر یافته به همراه10 افزوده شده و 1 حذف شده
  1. 10 1
      desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

+ 10 - 1
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -494,10 +494,17 @@
       var hidePopover = function () {
         $element.popover('hide');
         visible = false;
+        $(document).off('click', hideOnClickOutside)
       };
 
       huePubSub.subscribe('close.popover', hidePopover);
 
+      var hideOnClickOutside = function (event) {
+        if (visible && $element.data('popover') && ! $.contains($element.data('popover').$tip[0], event.target)) {
+          hidePopover();
+        }
+      }
+
       var showPopover = function () {
         ko.renderTemplate(options.contentTemplate, viewModel, {
           afterRender: function () {
@@ -516,6 +523,7 @@
                 }
                 $content.empty();
                 $title.empty();
+                $(document).on('click', hideOnClickOutside)
                 visible = true;
               }
             }, $title.get(0), 'replaceChildren');
@@ -524,12 +532,13 @@
       };
 
       if (clickTrigger) {
-        $element.click(function () {
+        $element.click(function (e) {
           if (visible) {
             hidePopover();
           } else {
             showPopover();
           }
+          e.stopPropagation();
         });
       } else {
         $element.mouseenter(showPopover);