Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | main.js: Un-disable already-chosen courses during HELLO/HI | Runxi Yu | 2024-10-02 | 1 | -0/+1 |
| | |||||
* | main.js: Unset indeterminate when receiving N | Runxi Yu | 2024-10-02 | 1 | -0/+1 |
| | |||||
* | main.js: Set checkbox.indeterminate = true when unchecking | Runxi Yu | 2024-10-02 | 1 | -1/+1 |
| | |||||
* | wsm.go, main.js: Use M for number, N for deselect | Runxi Yu | 2024-10-02 | 1 | -0/+3 |
| | | | | | | | Previously both commands used N, and deselection wasn't really implemented on the JavaScript side. It worked and didn't throw an exception but it's technically wrong and the user could see an empty number field for a split second. | ||||
* | main.js: Only try to mark courses as checked if mar[1] !== ""v0.1.1 | Runxi Yu | 2024-10-01 | 1 | -3/+5 |
| | | | | | Otherwise, users may get something like "TypeError: Cannot set properties of null (setting 'checked')" | ||||
* | main.js: Everything should be after DOMContentLoaded | Runxi Yu | 2024-10-01 | 1 | -99/+101 |
| | | | | | | | This is technically a race condition, and users with extremely slow computers and very bad luck might get exceptions from this. I think. | ||||
* | wsm.go, main.js: Display the user's selected courses on first runv0.1.0 | Runxi Yu | 2024-10-01 | 1 | -0/+4 |
| | | | | | It's done in the WebSocket routines rather than in the template maker because it's relatively easier to write the logic this way. | ||||
* | main.js: Move connect(s) to the event listener directly | Runxi Yu | 2024-09-30 | 1 | -6/+2 |
| | |||||
* | *: Change license to AGPL-3.0-or-later | Runxi Yu | 2024-09-30 | 1 | -21/+11 |
| | |||||
* | main.js: Disable boxes when full | Runxi Yu | 2024-09-30 | 1 | -0/+8 |
| | |||||
* | main.js: Fix the IRC-style message parser | Runxi Yu | 2024-09-30 | 1 | -0/+4 |
| | | | | | Previously, if it receives a message like "a b :c", it returns "["a", "b", "c "]" which is erroneous. | ||||
* | index.html, main.js, ws.go: Enhance course selection rejection message | Runxi Yu | 2024-09-30 | 1 | -3/+7 |
| | |||||
* | main.js: Handle "Y" (course selection approved) | Runxi Yu | 2024-09-29 | 1 | -0/+4 |
| | |||||
* | main.js: Handle number updates | Runxi Yu | 2024-09-29 | 1 | -0/+3 |
| | |||||
* | main.js: Relocate a comment and remove a blank line | Runxi Yu | 2024-09-29 | 1 | -2/+1 |
| | |||||
* | main.js: Add stub case "R" for course selection rejected | Runxi Yu | 2024-09-29 | 1 | -0/+5 |
| | |||||
* | main.js: Comments should be /* */ rather than // | Runxi Yu | 2024-09-29 | 1 | -2/+2 |
| | |||||
* | main.js: Remove command "A" (authentication) | Runxi Yu | 2024-09-29 | 1 | -3/+0 |
| | | | | | Authentication is handled during the HTTP request that establishes the WebSocket connection since the cookie is passed there anyway. | ||||
* | main.js: Set checkboxes to indeterminate after selection | Runxi Yu | 2024-09-29 | 1 | -1/+3 |
| | | | | They should be set to "checked" only when a response to "Y" is received. | ||||
* | main.js: event -> _event because it's unused | Runxi Yu | 2024-09-28 | 1 | -1/+1 |
| | |||||
* | main.js: Fix spacing in array indices | Runxi Yu | 2024-09-28 | 1 | -6/+7 |
| | |||||
* | main.js, style.css, index.html: Clear notice by JS instead of using noscript | Runxi Yu | 2024-09-27 | 1 | -0/+7 |
| | |||||
* | index.html, main.js: Display message when connection is closed | Runxi Yu | 2024-09-24 | 1 | -2/+11 |
| | | | | Also fixed some CSS regressions | ||||
* | main.js: Omit semicolons | Runxi Yu | 2024-09-24 | 1 | -36/+36 |
| | |||||
* | main.js, eslint.config.js: Start using eslint | Runxi Yu | 2024-09-24 | 1 | -41/+41 |
| | |||||
* | main.js: Don't indent case in switch | Runxi Yu | 2024-09-24 | 1 | -28/+28 |
| | |||||
* | ws.go, main.js, index.html: Better WS documentation and structure | Runxi Yu | 2024-09-16 | 1 | -4/+11 |
| | |||||
* | ws.go: Split IRC-style messages | Runxi Yu | 2024-09-09 | 1 | -0/+3 |
| | |||||
* | main.js, index.tmpl: Confirmation button | Runxi Yu | 2024-09-08 | 1 | -0/+4 |
| | | | | | In the future we shall the confirmation button to only work when all fields are correctly completed. | ||||
* | main.js: More robust check handling | Runxi Yu | 2024-09-08 | 1 | -1/+15 |
| | |||||
* | main.js: Send message whenever the checkbox changes | Runxi Yu | 2024-09-08 | 1 | -0/+6 |
| | |||||
* | main.js: Send HELLO, not BLOOP | Runxi Yu | 2024-09-08 | 1 | -1/+1 |
| | |||||
* | main.js: Slight reformat and code comments | Runxi Yu | 2024-09-08 | 1 | -0/+7 |
| | |||||
* | main.js: Break after case | Runxi Yu | 2024-09-08 | 1 | -3/+2 |
| | | | | | Go's switch statements break implicitly so I assumed it was the same in JavaScript, but JavaScript's case is actually just like C's. | ||||
* | main.js: Fix WS url and consistently use automatic semicolon insertion | Runxi Yu | 2024-09-08 | 1 | -8/+11 |
| | |||||
* | *: Basic WebSocket connection may be established now | Runxi Yu | 2024-09-08 | 1 | -0/+57 |