Application¶
Textual application shell composed from consumer-owned pages.
OperatorApp ¶
OperatorApp(spec: OperatorAppSpec)
Bases: App[None]
Reusable application frame: header, tabs, mounted pages, and workbench.
on_workbench_selection_highlighted ¶
on_workbench_selection_highlighted(
event: SelectionHighlighted,
) -> None
OperatorAppSpec
dataclass
¶
OperatorAppSpec(
app_id: str,
title: str,
subtitle: str | None,
pages: tuple[PageRegistration, ...],
actions: ActionRegistry = (
lambda: ActionRegistry(())
)(),
operation_policy: OperationPolicy = AllowAllOperationPolicy(),
job_policy: JobPolicy = SingleForegroundJobPolicy(),
result_presenter: ResultPresenter = DefaultResultPresenter(),
workbench_labels: WorkbenchLabels = WorkbenchLabels(),
default_page: str | None = None,
metadata: Mapping[str, object] | None = None,
)
Immutable composition root for a Groundskeeping application.
actions
class-attribute
instance-attribute
¶
actions: ActionRegistry = field(
default_factory=lambda: ActionRegistry(())
)
job_policy
class-attribute
instance-attribute
¶
job_policy: JobPolicy = field(
default_factory=SingleForegroundJobPolicy
)
operation_policy
class-attribute
instance-attribute
¶
operation_policy: OperationPolicy = field(
default_factory=AllowAllOperationPolicy
)
result_presenter
class-attribute
instance-attribute
¶
result_presenter: ResultPresenter = field(
default_factory=DefaultResultPresenter
)
workbench_labels
class-attribute
instance-attribute
¶
workbench_labels: WorkbenchLabels = field(
default_factory=WorkbenchLabels
)