diff options
Diffstat (limited to '')
-rw-r--r-- | .editorconfig | 4 | ||||
-rw-r--r-- | frontend/student.js | 80 | ||||
-rwxr-xr-x | scripts/latexify-source.sh | 2 |
3 files changed, 57 insertions, 29 deletions
diff --git a/.editorconfig b/.editorconfig index c53bf25..2a1ca7c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,6 +11,10 @@ tab_size = 8 tab_size = 4 indent_size = 4 +[*.js] +tab_size = 4 +indent_size = 4 + [*.py] indent_style = space indent_size = 4 diff --git a/frontend/student.js b/frontend/student.js index a215d99..e2684bb 100644 --- a/frontend/student.js +++ b/frontend/student.js @@ -40,9 +40,10 @@ document.addEventListener("DOMContentLoaded", () => { let msg = new String(event?.data) /* - * Standard IRC Message format parsing without IRCv3 tags or prefixes. - * It's a simple enough protocol format suitable for our use-case. - * No need for protobuf or anything else nontrivial. + * Standard IRC Message format parsing without IRCv3 + * tags or prefixes. It's a simple enough protocol + * format suitable for our use-case. No need for + * protobuf or anything else nontrivial. */ let mar = msg.split(" ") for (let i = 0; i < mar.length; i++) { @@ -51,7 +52,8 @@ document.addEventListener("DOMContentLoaded", () => { mar[i] = mar[i].substring(1) break } - mar[i] = mar[i].substring(1) + " " + mar.slice(i + 1).join(" ") + mar[i] = mar[i].substring(1) + " " + + mar.slice(i + 1).join(" ") mar.splice(i + 1) break } @@ -62,17 +64,23 @@ document.addEventListener("DOMContentLoaded", () => { alert(`The server reported an unexpected error, "${ mar[1] }". The system might be in an inconsistent state.`) break case "HI": - document.querySelectorAll(".need-connection").forEach(c => { - c.style.display = "block" - }) - document.querySelectorAll(".before-connection").forEach(c => { - c.style.display = "none" - }) + document.querySelectorAll(".need-connection"). + forEach(c => { + c.style.display = "block" + }) + document.querySelectorAll(".before-connection"). + forEach(c => { + c.style.display = "none" + }) if (mar[1] !== "") { let courseIDs = mar[1].split(",") for (let i = 0; i < courseIDs.length; i++) { - document.getElementById(`tick${ courseIDs[i] }`).checked = true - document.getElementById(`tick${ courseIDs[i] }`).disabled = false + document.getElementById( + `tick${ courseIDs[i] }` + ).checked = true + document.getElementById( + `tick${ courseIDs[i] }` + ).disabled = false } } break @@ -81,31 +89,46 @@ document.addEventListener("DOMContentLoaded", () => { alert("Your session is broken or has expired. You are unauthenticated and the server will reject your commands.") break case "N": - document.getElementById(`tick${ mar[1] }`).checked = false - document.getElementById(`tick${ mar[1] }`).indeterminate = false + document.getElementById(`tick${ mar[1] }`). + checked = false + document.getElementById(`tick${ mar[1] }`). + indeterminate = false break case "M": - document.getElementById(`selected${ mar[1] }`).textContent = mar[2] - if (mar[2] === document.getElementById(`max${ mar[1] }`).textContent && !(document.getElementById(`tick${ mar[1] }`).checked)) { + document.getElementById(`selected${ mar[1] }`). + textContent = mar[2] + if ( + mar[2] === document.getElementById(`max${ mar[1] }`).textContent && + !(document.getElementById(`tick${ mar[1] }`).checked) + ) { document.getElementById(`tick${ mar[1] }`).disabled = true } else { document.getElementById(`tick${ mar[1] }`).disabled = false } break case "R": /* course selection rejected */ - document.getElementById(`coursestatus${ mar[1] }`).textContent = mar[2] - document.getElementById(`coursestatus${ mar[1] }`).style.color = "red" - document.getElementById(`tick${ mar[1] }`).checked = false - document.getElementById(`tick${ mar[1] }`).indeterminate = false + document.getElementById(`coursestatus${ mar[1] }`). + textContent = mar[2] + document.getElementById(`coursestatus${ mar[1] }`). + style.color = "red" + document.getElementById(`tick${ mar[1] }`). + checked = false + document.getElementById(`tick${ mar[1] }`). + indeterminate = false if (mar[2] === "Full") { - document.getElementById(`tick${ mar[1] }`).disabled = true + document.getElementById(`tick${ mar[1] }`). + disabled = true } break case "Y": /* course selection approved */ - document.getElementById(`coursestatus${ mar[1] }`).textContent = "" - document.getElementById(`coursestatus${ mar[1] }`).style.removeProperty("color") - document.getElementById(`tick${ mar[1] }`).checked = true - document.getElementById(`tick${ mar[1] }`).indeterminate = false + document.getElementById(`coursestatus${ mar[1] }`). + textContent = "" + document.getElementById(`coursestatus${ mar[1] }`). + style.removeProperty("color") + document.getElementById(`tick${ mar[1] }`). + checked = true + document.getElementById(`tick${ mar[1] }`). + indeterminate = false break default: alert(`Invalid command ${ mar[0] } received from socket. Something is wrong.`) @@ -116,9 +139,10 @@ document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll(".need-connection").forEach(c => { c.style.display = "none" }) - document.querySelectorAll(".broken-connection").forEach(c => { - c.style.display = "block" - }) + document.querySelectorAll(".broken-connection"). + forEach(c => { + c.style.display = "block" + }) } socket.addEventListener("close", _handleClose) socket.send("HELLO") diff --git a/scripts/latexify-source.sh b/scripts/latexify-source.sh index f5f599c..cdef782 100755 --- a/scripts/latexify-source.sh +++ b/scripts/latexify-source.sh @@ -23,7 +23,7 @@ cd frontend for i in *.js do printf '\\subsection{%s}\n' "$(sed 's/_/\\_/g' <<< "$i")" >> "$targetfile" - printf '\\inputminted[breaklines, tabsize=8]{javascript}{frontend/%s}\n' "$i" >> "$targetfile" + printf '\\inputminted[breaklines, tabsize=4]{javascript}{frontend/%s}\n' "$i" >> "$targetfile" done for i in *.css do |