exlab_wizard.ui.pages.wizard_project#
New Project Wizard (Frontend Spec §4).
Seven steps in a ui.stepper:
LIMS Project picker (Backend §7.2 cache or offline catalogue).
Template Selection.
Equipment Selection.
Variable Form (auto-generated from
copier.yml).README Form (mandatory core fields pinned at top).
Preview (validator gate; Frontend §4 step 6).
Confirm & Create (progress bar, error pane, success card).
The page is split into render-time-only logic (this module) and the controller-side validation, which is delegated to the FastAPI session endpoints. The UI’s per-step validation is for UX immediacy; the backend remains authoritative.
Functions
|
Return |
Return a copy-ready message when disk space is low; else |
|
|
Pre-flight checks for the Preview step (Frontend §10.5.4). |
|
Render the seven-step project wizard. |
Classes
|
Mutable state for the in-flight wizard. |
- class exlab_wizard.ui.pages.wizard_project.ProjectWizardState(active_step='lims_project', selected_lims_short_id=None, selected_template=None, selected_equipment=None, template_variables=<factory>, readme_fields=<factory>, validator_findings=<factory>, free_disk_bytes=None, plugin_host_ok=True)[source]#
Bases:
objectMutable state for the in-flight wizard.
- Parameters:
- exlab_wizard.ui.pages.wizard_project.can_advance(state)[source]#
Return
Truewhen the active step’s preconditions are satisfied.Centralised here so the Next button enablement and any
Cmd/Ctrl+Entershortcut share a single rule set.- Parameters:
state (
ProjectWizardState)- Return type:
- exlab_wizard.ui.pages.wizard_project.disk_space_pre_flight_message(state)[source]#
Return a copy-ready message when disk space is low; else
None.- Parameters:
state (
ProjectWizardState)- Return type:
- exlab_wizard.ui.pages.wizard_project.preview_step_clear(state)[source]#
Pre-flight checks for the Preview step (Frontend §10.5.4).
- Parameters:
state (
ProjectWizardState)- Return type:
- exlab_wizard.ui.pages.wizard_project.render_project_wizard(*, state=None, on_submit=None)[source]#
Render the seven-step project wizard.
Returns the NiceGUI dialog (or, in tests, a payload describing the rendered steps).
- Parameters:
state (
ProjectWizardState|None)on_submit (
Callable[[ProjectWizardState],None] |None)
- Return type: