You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(annotator): add nexuslims_annotate app for dataset annotation (#16)
feat(annotator): add full NexusLIMS annotator app with branding updates
## nexuslims_annotate app
Adds a new `nexuslims_annotate` Django app that allows authorized users
to annotate and manage experiment records directly from the CDCS interface.
Key capabilities:
- Full-page annotator view: card-based layout of all datasets within a
record, with drag-and-drop reordering via SortableJS
- Shift-click range selection for checkboxes, with multi-card drag
(dragging a selected card moves all selected cards together, with
stacked shadow and "N selected" badge on the dragged element)
- Inline editing of record fields via Monaco editor
- Dataset move/reassignment between records and download dropdown
- Annotator side panel (offcanvas) accessible from detail pages
- Guided tour using Shepherd.js + Floating UI
- Permission-gated: requires write permission; toggled via
NX_ENABLE_ANNOTATOR setting; 404s if app not in INSTALLED_APPS
- Robust input validation: rejects negative datasetIndex, guards against
non-list moves JSON, XSS-safe, proper 404 handling
- Full unit test suite with GitHub Actions CI workflow
## Branding
- Replace favicon.png and detail-page loading spinner with the new
NexusLIMS diffraction-pattern icon (icon.png / icon.svg)
- Loading spinner is an inline SVG with two counter-rotating hexagonal
rings of circles, animated via CSS keyframes (nx-cw / nx-ccw)
- XSLT uses xsl:attribute for viewBox to preserve case under HTML
serialization
## Terms of Use
- Add setup_terms_of_use() to init_environment.py (Step 6): inserts a
default Terms of Use page into the WebPage model on first run,
idempotent on subsequent runs
- Template override for the CDCS terms-of-use page with scoped CSS:
centered 720px column, compact heading/paragraph spacing, lead style
for first paragraph
- Document customization path in CUSTOMIZATION.md
0 commit comments