From ac61b22f4b0b688604412360095be093a41e485b Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 10 Feb 2024 01:28:55 -0800 Subject: [PATCH] fix: Fixes commands.html tooltip (#1670) --- Distribution/Data/commands.html | 52 ++++++++++++++++++++++++++------ docs/commands/commands.7z | Bin 11143 -> 11572 bytes 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/Distribution/Data/commands.html b/Distribution/Data/commands.html index 64c94ffd0..f638f41be 100644 --- a/Distribution/Data/commands.html +++ b/Distribution/Data/commands.html @@ -353,7 +353,7 @@ - + @@ -429,7 +429,7 @@ tabData.forEach(item => { table += ` -

${item.name}

+

${item.name}

`; @@ -508,11 +508,47 @@ // Function to show the tooltip function showTooltip(event, content) { - const tooltip = document.getElementById("tooltip"); + const tooltip = document.getElementById('tooltip'); tooltip.innerHTML = content; - tooltip.style.left = `${event.pageX + 15}px`; - tooltip.style.top = `${event.pageY + 15}px`; - tooltip.classList.remove("hidden"); + + // Make it visible to the DOM so we can get size calculations + tooltip.style.visibility = 'hidden'; + tooltip.classList.remove('hidden'); + + const srcRect = event.target.getBoundingClientRect(); + + // Calculate the size of the tooltip for positioning + const tooltipRect = tooltip.getBoundingClientRect(); + const offset = 20; // Offset from the cursor for the tooltip + + const startX = window.scrollX + srcRect.x; + const startY = window.scrollY + srcRect.y; + + // Initial horizontal position (with viewport width check for side overflow) + let leftPosition = startX + offset; + if (leftPosition + tooltipRect.width > document.documentElement.clientWidth) { + leftPosition = document.documentElement.clientWidth - tooltipRect.width - offset; + } + + // Determine vertical position based on available space + let topPosition; + const spaceAbove = startY - window.scrollY; + const spaceBelow = window.innerHeight - spaceAbove; + + // Check if there's enough space below the cursor; otherwise, flip above + if (spaceBelow > tooltipRect.height + offset) { + topPosition = startY + offset; + } else if (spaceAbove > tooltipRect.height + offset) { + topPosition = startY - tooltipRect.height - offset; + } else { + // If neither above nor below has enough space, default to below and adjust to within viewport + topPosition = Math.max(window.scrollY + offset, startY - (tooltipRect.height / 2)); + } + + // Apply the calculated positions + tooltip.style.left = `${leftPosition}px`; + tooltip.style.top = `${topPosition}px`; + tooltip.style.visibility = 'visible'; } // Function to hide the tooltip @@ -521,10 +557,6 @@ tooltip.classList.add("hidden"); } - const escapeHtml = (unsafe) => { - return unsafe.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\"", """).replaceAll("'", "'"); - } - initTabs(); diff --git a/docs/commands/commands.7z b/docs/commands/commands.7z index eea03578afc6f6c32e9256d0ba036826da867bd4..b796c97cff0652a416041b986b51cf1c73b23ce4 100644 GIT binary patch delta 9435 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 QTiO8?1_1yd0000004g