MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / bindEvents

Function bindEvents

tests/loadtest/tools/dashboard/app.js:40–92  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

38}
39
40function bindEvents() {
41 elements.refreshButton.addEventListener("click", () => {
42 refreshRuns().catch(handleError);
43 });
44
45 elements.compareButton.addEventListener("click", () => {
46 toggleCompareMode().catch(handleError);
47 });
48
49 elements.fileButton.addEventListener("click", () => {
50 elements.fileInput.click();
51 });
52
53 elements.fileInput.addEventListener("change", async (event) => {
54 const [file] = event.target.files || [];
55 if (file) {
56 await loadUploadedFile(file);
57 }
58 event.target.value = "";
59 });
60
61 ["dragenter", "dragover"].forEach((eventName) => {
62 elements.dropZone.addEventListener(eventName, (event) => {
63 event.preventDefault();
64 elements.dropZone.classList.add("drag-active");
65 });
66 });
67
68 ["dragleave", "dragend", "drop"].forEach((eventName) => {
69 elements.dropZone.addEventListener(eventName, (event) => {
70 event.preventDefault();
71 elements.dropZone.classList.remove("drag-active");
72 });
73 });
74
75 elements.dropZone.addEventListener("drop", async (event) => {
76 const [file] = event.dataTransfer?.files || [];
77 if (file) {
78 await loadUploadedFile(file);
79 }
80 });
81
82 elements.dropZone.addEventListener("click", () => {
83 elements.fileInput.click();
84 });
85
86 elements.dropZone.addEventListener("keydown", (event) => {
87 if (event.key === "Enter" || event.key === " ") {
88 event.preventDefault();
89 elements.fileInput.click();
90 }
91 });
92}
93
94async function refreshRuns() {
95 const response = await fetch("/api/runs", { cache: "no-store" });

Callers 1

initFunction · 0.85

Calls 3

refreshRunsFunction · 0.85
toggleCompareModeFunction · 0.85
loadUploadedFileFunction · 0.85

Tested by

no test coverage detected