aboutsummaryrefslogtreecommitdiff
path: root/src/mass-graduation.js
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-08-05 11:58:50 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-08-05 11:59:56 +0200
commitd35e03f0b07d1af3fecd51cd4ca42a76c300db23 (patch)
tree92562e06ade3a2ac30e5ce39b8442d980b2fad08 /src/mass-graduation.js
parent6c2bffd297bdfaf4e95a8f0620cf0349d3d3bb78 (diff)
downloadbycs-sol-d35e03f0b07d1af3fecd51cd4ca42a76c300db23.tar.gz
bycs-sol-d35e03f0b07d1af3fecd51cd4ca42a76c300db23.zip
format: run prettier
Diffstat (limited to 'src/mass-graduation.js')
-rw-r--r--src/mass-graduation.js89
1 files changed, 48 insertions, 41 deletions
diff --git a/src/mass-graduation.js b/src/mass-graduation.js
index b9240f0..48d23ad 100644
--- a/src/mass-graduation.js
+++ b/src/mass-graduation.js
@@ -3,7 +3,7 @@ import {
GraduationChange,
submitGraduationChange,
Observation,
- submitObservation
+ submitObservation,
} from "./graduation-ENV.ts";
import { fetchGroups } from "./group-fetch.ts";
@@ -19,8 +19,7 @@ function toggle(btn, others) {
} else {
btn.innerHTML = "X";
if (others) {
- for (const other of others)
- other.innerHTML = "o";
+ for (const other of others) other.innerHTML = "o";
}
}
@@ -31,7 +30,7 @@ function toggle(btn, others) {
function observationClickHandler(li) {
let observationDiv = li.observationDiv;
// Build the observation container
- if(!observationDiv) {
+ if (!observationDiv) {
li.style.background = "lightgray";
observationDiv = document.createElement("div");
@@ -97,12 +96,11 @@ function observationClickHandler(li) {
obsTbdy.appendChild(obsTr);
}
- // Toggle the observation container visibility
+ // Toggle the observation container visibility
} else {
if (observationDiv.style.display === "none") {
observationDiv.style.display = "block";
li.style.background = "lightgray";
-
} else {
observationDiv.style.display = "none";
li.style.background = "unset";
@@ -148,7 +146,7 @@ async function loadGroup(selected) {
return;
}
ob.innerHTML = "&#128065";
- ob.addEventListener("click", () => observationClickHandler(li) );
+ ob.addEventListener("click", () => observationClickHandler(li));
});
graduationPromises.push(graduationPromise);
@@ -158,7 +156,7 @@ async function loadGroup(selected) {
const b = document.createElement("button");
b.classList.add(`group-member-${col}`);
b.innerHTML = "o";
- b.addEventListener("click", () => toggle(b) );
+ b.addEventListener("click", () => toggle(b));
li.appendChild(b);
}
@@ -169,7 +167,7 @@ async function loadGroup(selected) {
const p = document.createElement("button");
p.classList.add("group-member-print");
p.innerHTML = "🖶";
- p.addEventListener("click", () => printNote(li) );
+ p.addEventListener("click", () => printNote(li));
li.appendChild(p);
ul.appendChild(li);
@@ -177,7 +175,7 @@ async function loadGroup(selected) {
const graduations = await Promise.all(graduationPromises);
const observations = graduations.filter(
- (g) => g.observationRequested || (g.observation && !g.observation.end)
+ (g) => g.observationRequested || (g.observation && !g.observation.end),
);
const observationReuqestsContainer = document.getElementById("observation-requests-container");
@@ -234,7 +232,10 @@ async function loadGroup(selected) {
startBtn.classList.add("start-observation");
} else {
startBtn.addEventListener("click", () => {
- window.open(`/mod/page/view.php?id=93017047&userToLoad=${graduation.student.id}`, '_blank');
+ window.open(
+ `/mod/page/view.php?id=93017047&userToLoad=${graduation.student.id}`,
+ "_blank",
+ );
});
startBtn.innerHTML = `Graduierung abschließen`;
startBtn.classList.add("end-observation");
@@ -256,50 +257,55 @@ function submitMassGraduation() {
// TODO(muhq): await graduation promises
const promises = [];
- for(const li of document.querySelectorAll("li.group-member")) {
+ for (const li of document.querySelectorAll("li.group-member")) {
const reason = li.querySelector(".group-member-point-reason").value;
const student = li.student;
if (li.querySelector(".group-member-green").innerHTML === "X") {
- promises.push(submitGraduationChange(student, GraduationChange.newGreenPointChange(reason, name)));
+ promises.push(
+ submitGraduationChange(student, GraduationChange.newGreenPointChange(reason, name)),
+ );
}
if (li.querySelector(".group-member-orange").innerHTML === "X") {
- promises.push(submitGraduationChange(student, GraduationChange.newOrangePointChange(reason, name)));
+ promises.push(
+ submitGraduationChange(student, GraduationChange.newOrangePointChange(reason, name)),
+ );
}
if (li.querySelector(".group-member-red").innerHTML === "X") {
- promises.push(submitGraduationChange(student, GraduationChange.newRedPointChange(reason, name)));
+ promises.push(
+ submitGraduationChange(student, GraduationChange.newRedPointChange(reason, name)),
+ );
}
if (li.observationDiv) {
const status = [];
for (const row of li.observationDiv.querySelectorAll("tbody > tr")) {
- if (row.querySelector('td[data-yes="true"]').innerHTML === "X")
- status.push("yes");
- else if (row.querySelector('td[data-no="true"]').innerHTML === "X")
- status.push("no");
- else
- status.push("");
+ if (row.querySelector('td[data-yes="true"]').innerHTML === "X") status.push("yes");
+ else if (row.querySelector('td[data-no="true"]').innerHTML === "X") status.push("no");
+ else status.push("");
}
promises.push(submitObservation(student, new Observation(new Date(), status)));
}
}
- Promise.all(promises).then(() => {
- state.style.display = "inline";
- state.innerHTML = "✓";
- state.style.color = "green";
- for (const li of document.querySelectorAll("li.group-member")) {
- if (!li.observationDiv)
- continue;
- li.observationDiv.remove();
- li.observationDiv = null;
- }
- }).catch((error) => {
- state.style.display = "inline";
- state.innerHTML = "X";
- state.style.color = "red";
- console.log(error);
- }).finally(() => {
- state.classList.remove("submit-mass-graduation-inprogress");
- });
+ Promise.all(promises)
+ .then(() => {
+ state.style.display = "inline";
+ state.innerHTML = "✓";
+ state.style.color = "green";
+ for (const li of document.querySelectorAll("li.group-member")) {
+ if (!li.observationDiv) continue;
+ li.observationDiv.remove();
+ li.observationDiv = null;
+ }
+ })
+ .catch((error) => {
+ state.style.display = "inline";
+ state.innerHTML = "X";
+ state.style.color = "red";
+ console.log(error);
+ })
+ .finally(() => {
+ state.classList.remove("submit-mass-graduation-inprogress");
+ });
}
let prePrintBody = null;
@@ -342,7 +348,9 @@ async function init() {
initSelection(
"group-selection",
- async function() { return (await fetchGroups()).values(); },
+ async function () {
+ return (await fetchGroups()).values();
+ },
(group) => `${group.name}`,
loadGroup,
);
@@ -353,4 +361,3 @@ if (document.readyState === "loading") {
} else {
init();
}
-