import { getCellMetadata } from "./metadata.js"; import { getAtlasIndexFromMetadata, makeAtlasImage } from "./atlas.js"; export function processCellOverlays(node, key = null, added = null) { if (key) { node.replaceChildren(...node.querySelectorAll(`:scope > *:not([data-overlay="${key}"])`)); const metadata = getCellMetadata(node, key); const atlasIndex = getAtlasIndexFromMetadata(metadata); if (atlasIndex && atlasIndex !== -1) { const overlayNode = makeAtlasImage(atlasIndex); overlayNode.dataset.overlay = key; overlayNode.classList.add("planner--overlay"); node.appendChild(overlayNode); } if (key === "active" && added) { const overlayNode = makeAtlasImage(-1); overlayNode.dataset.overlay = key; overlayNode.dataset.active = metadata ? "true" : "false"; overlayNode.classList.add("planner--overlay"); node.appendChild(overlayNode); } // FIXME: handle remove } // TODO: handle generic update } export function clearCellOverlays(node) { // TODO }