From e8e37702ba1c06f2c9e2725a5b39d8099b3647ca Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Mon, 17 Mar 2025 04:49:52 +0300 Subject: [PATCH] Create heatmap links using elements --- app/assets/javascripts/heatmap.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/heatmap.js b/app/assets/javascripts/heatmap.js index 0670480d3..09013ae5a 100644 --- a/app/assets/javascripts/heatmap.js +++ b/app/assets/javascripts/heatmap.js @@ -70,17 +70,19 @@ document.addEventListener("DOMContentLoaded", () => { }] ]); - cal.on("mouseover", (event, _timestamp, value) => { - if (value) event.target.style.cursor = "pointer"; - }); + cal.on("mouseover", (event, timestamp, value) => { + if (!displayName || !value) return; + if (event.target.parentElement.nodeName === "a") return; - cal.on("click", (_event, timestamp) => { - if (!displayName) return; for (const { date, max_id } of heatmapData) { if (!max_id) continue; if (timestamp !== Date.parse(date)) continue; + const params = new URLSearchParams([["before", max_id + 1]]); - location = `/user/${encodeURIComponent(displayName)}/history?${params}`; + const a = document.createElementNS("http://www.w3.org/2000/svg", "a"); + a.setAttribute("href", `/user/${encodeURIComponent(displayName)}/history?${params}`); + $(event.target).wrap(a); + break; } }); } -- 2.39.5