← Files DataARCHIVED FILE

templates/data-app/base/src/charting/chart-mark-interactions.js

773 Bytes · Sep 30, 2026 · 23:19 UTC

↓ Download file

/** Reviewed heatmap cells can be selected; absent or unobserved cells cannot. */
export function canSelectHeatmapCell(row) {
  return row != null && !row.__unknown && !row.__missing;
}

export function exploreMarkKey(event, select) {
  if (["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"].includes(event.key)) {
    event.preventDefault(); event.stopPropagation();
    const marks = [...event.currentTarget.closest(".chart-frame").querySelectorAll(".chart-explore-mark")];
    const direction = ["ArrowLeft", "ArrowUp"].includes(event.key) ? -1 : 1;
    marks[(marks.indexOf(event.currentTarget) + direction + marks.length) % marks.length]?.focus();
  } else if (["Enter", " "].includes(event.key)) { event.preventDefault(); event.stopPropagation(); select(event); }
}

SHA-256: d93877eb6ef8324f0109277754e04affac135769a18f2d2d99d51d8382abb726