推进 INI 面板 readonly status API

This commit is contained in:
2026-06-15 05:40:41 +08:00
parent deb8b7cdd3
commit 3280f3a53e
11 changed files with 302 additions and 1 deletions

View File

@@ -15,6 +15,8 @@ import {
getIniPanelEntryByHref,
getVisibleIniPanelEntries,
createMachineSessionControlPageController,
createMachineSessionReadonlyStatus,
readMachineSessionReadonlyStatus,
loadMachineSessionForControlPageWorkflow,
createControlPageSessionLoadState,
refreshMachineSessionControlPage,
@@ -24,7 +26,8 @@ import {
```
`ui-shell.js` re-exports the entry manifest, the read-only control-page
controller, and the control-view renderer. It does not implement CNC behavior.
controller, the unified read-only status API, and the control-view renderer. It
does not implement CNC behavior.
## Pages
@@ -50,6 +53,9 @@ and `label`.
Outer shells can call `createIniPanelShellViewModel()` when they need one
read-only model with `pages`, `launcherLinks`, and `controlPage` helpers for
mounting the existing control-page controller, refresh workflow, and renderer.
Use `controlPage.readStatus` or `readMachineSessionReadonlyStatus()` when an
outer shell needs one stable read of `stateBundle`, `workflowStatus`,
`overview`, `controlView`, `session`, `runReadiness`, and `run`.
The control-page refresh workflow lives in
`runtime/ui/ini-panel/control-page-refresh-workflow.js`. Use