philomena/assets/js/graph.ts
2024-05-31 20:18:21 +02:00

30 lines
659 B
TypeScript

/**
* Graph Logic
*
* Scales graphs, makes graphs resizable, and stuff like that
*/
import { $, $$ } from './utils/dom';
function resizeGraphs() {
$$<SVGSVGElement>('#js-sparkline-svg').forEach(el => {
const parent: HTMLElement | null = el.parentElement;
if (parent) {
el.viewBox.baseVal.width = parent.clientWidth;
const graph: SVGPathElement | null = $<SVGPathElement>('#js-barline-graph', el);
if (graph) {
graph.style.transform = `scale(${parent.clientWidth / 375})`;
}
}
});
}
function sizeGraphs() {
resizeGraphs();
window.addEventListener('resize', resizeGraphs);
}
export { sizeGraphs };