prime-map-generator/src/main/js/Main.ts

49 lines
1.3 KiB
TypeScript

// @ts-ignore
const {$, doAfterLoad, footer, header, nav} = window.fwdekker;
import {Display, GridPainter} from "./Display";
// Set up template
doAfterLoad(() => {
$("#nav").appendChild(nav("/Tools/Prime Map Generator/"));
$("#header").appendChild(header({
title: "Prime Map Generator",
description: "Visualizes prime numbers"
}));
$("#footer").appendChild(footer({
vcsURL: "https://git.fwdekker.com/tools/prime-map-generator/",
version: "v%%VERSION_NUMBER%%"
}));
$("main").classList.remove("hidden");
});
doAfterLoad(async () => {
const canvas = $("#canvas");
canvas.classList.remove("invisible");
const display = new Display(canvas);
const gridPainter = new GridPainter();
display.painter = gridPainter;
display.startDrawLoop();
const gridCols = $("#gridCols");
gridCols.addEventListener("change", () => {
gridPainter.cols = gridCols.value;
display.reloadPainter();
});
const gridMax = $("#gridMax");
gridMax.addEventListener("change", () => {
gridPainter.max = gridMax.value;
display.reloadPainter();
});
const gridScale = $("#gridScale");
gridScale.addEventListener("change", () => {
gridPainter.scale = gridScale.value;
display.reloadPainter();
});
});