9b6103be7485ef3fd43b3f2ce8d67a86e73e409d
braney
  Wed May 22 10:46:04 2024 -0700
Revert "Revert "Better fix for broken drag select. The map click code that now tries to open up hgc needs to first check whether we are currently allowed to click to begin with. Then we can try to open up the details pages. If we aren't doing a details page, then we need to submit the form like we would do before I added hgc pop ups, refs #33584""

This reverts commit c1824ffc854245b1ab7f72a8e8afedf2d37f8edb.

diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index 94ef80a..74ff24e 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -722,50 +722,57 @@
         let parsedUrl = parseUrl(this.href);
         let cgi = parsedUrl.cgi;
         let id = parsedUrl.queryArgs.g;
         if (parsedUrl.queryArgs.i === "mergedItem") {
             updateObj={};
             updateObj[id+".doMergeItems"] = 0;
             hgTracks.trackDb[id][id+".doMergeItems"] = 0;
             cart.setVarsObj(updateObj,null,false);
             imageV2.requestImgUpdate(id, id + ".doMergeItems=0");
             return false;
         }
 
         if (done)
             return false;
         else {
-            if (cgi === "hgGene") {
+            // first check if we are allowed to click, we could be in the middle
+            // of a drag select
+            if (posting.blockUseMap === true) {
+                return false;
+            } else if (cgi === "hgGene") {
                 id = parsedUrl.queryArgs.hgg_type;
                 popUpHgcOrHgGene.hgc(id, this.href);
                 return false;
             } else if (cgi === "hgTrackUi") {
                 rec = hgTracks.trackDb[id];
                 if (rec && tdbIsLeaf(rec)) {
                     popUp.hgTrackUi(id, false);
                 } else {
                     location.assign(href);
                 }
             } else if (cgi === "hgc") {
                 if (id.startsWith("multiz")) {
                     // multiz tracks have a form that lets you change highlighted bases
                     // that does not play well in a pop up
                     location.assign(href);
                     return false;
                 }
                 popUpHgcOrHgGene.hgc(id, this.href);
                 return false;
+            } else {
+                // must be changing the density of a track, save the settings and post the form:
+                return posting.saveSettings(this);
             }
         }
     },
 
     saveSettings: function (obj)
     {
         if (posting.blockUseMap === true) {
             return false;
         }
         if (!obj || !obj.href) // called directly with obj
             obj = this;                               // and from callback without obj
 
         if ($(obj).hasClass('noLink'))  // TITLE_BUT_NO_LINK
             return false;