فهرست منبع

Fixed hover issue - now allows scrolling

Matt C 8 سال پیش
والد
کامیت
9ee0964d0e
2فایلهای تغییر یافته به همراه18 افزوده شده و 3 حذف شده
  1. 2 2
      src/web/HTMLOperation.js
  2. 16 1
      src/web/OperationsWaiter.js

+ 2 - 2
src/web/HTMLOperation.js

@@ -50,8 +50,8 @@ HTMLOperation.prototype.toStubHtml = function(removeIcon) {
     let html = "<li class='operation'";
 
     if (this.description) {
-        html += " data-container='body' data-toggle='popover' data-placement='auto right'\
-            data-content=\"" + this.description + "\" data-html='true' data-trigger='focus' tabindex='0'";
+        html += " data-container='body' data-placement='auto right'\
+            data-content=\"" + this.description + "\"";
     }
 
     html += ">" + this.name;

+ 16 - 1
src/web/OperationsWaiter.js

@@ -155,7 +155,22 @@ OperationsWaiter.prototype.getSelectedOp = function(ops) {
  */
 OperationsWaiter.prototype.opListCreate = function(e) {
     this.manager.recipe.createSortableSeedList(e.target);
-    $("[data-toggle=popover]").popover();
+    // Allows popover to gain focus for eg. pressing buttons/scrolling
+    $(".operation").popover({trigger: "manual", html: true, animation: true})
+        .on("mouseenter", function () {
+            const _this = this;
+            $(this).popover("show");
+            $(".popover").on("mouseleave", function () {
+                $(_this).popover("hide");
+            });
+        }).on("mouseleave", function () {
+            const _this = this;
+            setTimeout(function () {
+                if (!$(".popover:hover").length) {
+                    $(_this).popover("hide");
+                }
+            }, 50);
+        });
 };