6d4317bf9b64c4aebc8aae6563287a455e4054cb
chmalee
  Thu Jul 31 15:50:29 2025 -0700
Fixup new gear and x icons to use proper tooltips, refs #36152

diff --git src/hg/js/utils.js src/hg/js/utils.js
index f4620ae5890..5c7d1213d94 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -3848,60 +3848,62 @@
                 imageV2.lastTrack = rightClick.makeMapItem(id);
                 // currentMapItem gets set by mapItemMapOver.   This is just backup
             }
 
             if (typeof greyBarIcons !== 'undefined' && greyBarIcons === true) {
                 // add a gear icon over the grey bar to bring up the context menu
                 let tdBtn = document.getElementById("td_btn_" + id);
                 if (tdBtn) {
                     if (!document.getElementById("gear_btn_" + id)) {
                         let span = document.createElement("span");
                         span.id = "gear_btn_" + id;
                         span.classList.add("hgTracksGearIcon", "ui-icon", "ui-icon-gear");
                         span.title = "Configure track";
                         tdBtn.appendChild(span);
                         tdBtn.style.position = "relative";
+                        addMouseover(span, span.title);
                         span.addEventListener("click", (e) => {
                             // create a contextmenu event that the imgTbl will pick up
                             e.preventDefault();
                             e.stopPropagation();
                             e.stopImmediatePropagation();
                             const rightClickEvent = new MouseEvent("contextmenu", {
                                 bubbles: true,
                                 cancelable: true,
                                 view: window,
                                 clientX: tdBtn.getBoundingClientRect().left + 15,
                                 clientY: tdBtn.getBoundingClientRect().top,
                                 button: 2,
                             });
                             tdBtn.dispatchEvent(rightClickEvent);
                         });
                     }
                 }
 
                 // add an 'x' icon in the label area to hide the track
                 let tdSide = document.getElementById("td_side_" + id);
                 if (tdSide) {
                     // mouseover event fires if you stop moving the mouse while still
                     // hovering the element and then move it again, don't make
                     // duplicate btns in that case
                     if (!document.getElementById("close_btn_" + id)) {
                         let btn = document.createElement("span");
                         btn.id = "close_btn_" + id;
                         btn.classList.add("hgTracksCloseIcon", "ui-icon", "ui-icon-close");
                         btn.title = "Hide track";
                         tdSide.appendChild(btn);
+                        addMouseover(btn, btn.title);
                         tdSide.style.position = "relative";
                         if (hgTracks && hgTracks.revCmplDisp) {
                             // set up 'x' icon to the right
                             btn.classList.add("hgTracksCloseIconRight");
                         } else {
                             // set up 'x' icon to the left
                             btn.classList.add("hgTracksCloseIconLeft");
                         }
                         btn.addEventListener("click", (e) => {
                            rightClick.hideTracks([id]);
                         });
                     }
                 }
             }
         }