• last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Replace explicit observer approach for lazy loading with modern HTML features

- images: use the loading attribute to request lazy loading (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)

- audio: use the preload attribute to indicate that only metadata are needed at load time and not the entire media (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#preload)

Checkboxes must be retrieved earlier

Space the save button a bit

Apply the Boostrap classes also to the other buttons for consistency

Be Bootstrap5 friendly on the buttons formerly known as "default"

Fix typo

Modernize JavaScript:

- Be specific about the scope and lifetime of variables via const and let

- Always prefer "for" loops to iterators

- Cleanup obsolete wrappers

- Use single and double quotes consistently

- Use the equals operator consistently

Prefer modal implementation from acs-templating to the various approaches used so far

  1. … 2 more files in changeset.
Support both Bootstrap 3 "Panels" and Bootstrap 5 "Cards"

Many thanks to Monika Andergassen

Prefer a message key in the dependency tree of this package

Filter consistently with the new definition of "reviewed"

Usability improvement: disable the buttons to flag/unflag artifacts when these are already flagged/unflagged (applies also to bulk buttons)

Behavior reform:

now commenting an artifact won't be considered as "OK". To flag an artifact as "OK" or "for review", one has to explicitly click on the green and red buttons.

  1. … 3 more files in changeset.
Apply filters also to new images coming from the websocket

Make the border indicating the status of an artifact's review slightly bigger

Implement buttons to set all artifacts for a user as ok or not ok

  1. … 6 more files in changeset.
Use only ok and flagged as color schemes, so that results can be investigated also while review is in progress

  1. … 1 more file in changeset.
Switch to a select widget to keep a more predictable vertical size in case of many time presets

Generate the fullscreen preview element in javascript and make it a child of the body, so that it can expand to the full page also when the include itself would be rendered in a smaller container

Implement a pre-selection filter for timeframes, which can be extended using downstream specific logics

  1. … 6 more files in changeset.
Various changes on the proctoring artifacts users list:

- display some statistics on the collected artifacts for each user: count, number of reviewed, number of flagged, plus a colored progress bar indicating the review status, orange when in progress, red when completed with flags and green when everything is ok

- switched to a template::list to avoid too much handcrafting

- removed the red delete button from the top of the page, redundant, since we have the bulk actions on the list

- refined the behavior of the bulk-action delete button: it will be disabled when nothing is selected

- now we always trigger a reload when new artifacts are received for this object, but we cap it to 60 seconds

  1. … 5 more files in changeset.
Fix expression

Allow to filters also by timestamp, start or end

Provide an own translation for "All" that considers the specific item (e.g. for gendering)

  1. … 4 more files in changeset.
Changes after review with downstream stakeholders:

- switch "Confirm OK" and "Flag" buttons

- put the two buttons after the comment section

Bonus change: mark unflagged artifacts with comments with a green border

Use a trash can icon, instead of all that yellow

Fix expression again

The flag coming from the ajax endpoint is an actual boolean

Make the position for the fullscreen preview sticky, and ensure the fullscreen element is positioned as the first body child, so it is put on top and can get as big as possible

Improve keyboard usability: focus the comment textarea when the modal opens and focus back on the comment button when the modal closes