فهرست منبع

HUE-1195 [beeswax] "Go to column" popup prevents ability to select&copy values from results

Fixed bug that prevented the selection of any value from the result table
Enrico Berti 12 سال پیش
والد
کامیت
f286941
1فایلهای تغییر یافته به همراه25 افزوده شده و 9 حذف شده
  1. 25 9
      desktop/core/static/js/Source/jHue/jquery.tableextender.js

+ 25 - 9
desktop/core/static/js/Source/jHue/jquery.tableextender.js

@@ -75,15 +75,19 @@
     jHueTableExtenderNavigator.appendTo($("body"));
 
     $(_this.element).find("tbody").click(function (event) {
-      $(".rowSelected").removeClass("rowSelected");
-      $(".columnSelected").removeClass("columnSelected");
-      $(".cellSelected").removeClass("cellSelected");
-      $(event.target.parentNode).addClass("rowSelected");
-      $(event.target.parentNode).find("td").addClass("rowSelected");
-      jHueTableExtenderNavigator
-          .css("left", (event.clientX + jHueTableExtenderNavigator.width() > $(window).width() - 10 ? event.clientX - jHueTableExtenderNavigator.width() - 10 : event.clientX) + "px")
-          .css("top", (event.clientY + 10) + "px").show();
-      jHueTableExtenderNavigator.find("input").focus();
+      if ($.trim(getSelection()) == "") {
+        window.setTimeout(function () {
+          $(".rowSelected").removeClass("rowSelected");
+          $(".columnSelected").removeClass("columnSelected");
+          $(".cellSelected").removeClass("cellSelected");
+          $(event.target.parentNode).addClass("rowSelected");
+          $(event.target.parentNode).find("td").addClass("rowSelected");
+          jHueTableExtenderNavigator
+              .css("left", (event.clientX + jHueTableExtenderNavigator.width() > $(window).width() - 10 ? event.clientX - jHueTableExtenderNavigator.width() - 10 : event.clientX) + "px")
+              .css("top", (event.clientY + 10) + "px").show();
+          jHueTableExtenderNavigator.find("input").focus();
+        }, 100);
+      }
     });
 
     var source = [];
@@ -179,6 +183,18 @@
 
   };
 
+  function getSelection() {
+    var t = '';
+    if (window.getSelection) {
+      t = window.getSelection();
+    } else if (document.getSelection) {
+      t = document.getSelection();
+    } else if (document.selection) {
+      t = document.selection.createRange().text;
+    }
+    return t.toString();
+  }
+
   $.fn[pluginName] = function (options) {
     return this.each(function () {
       if (!$.data(this, 'plugin_' + pluginName)) {