推进 INI 面板 shell handoff mount DOM contract helper

This commit is contained in:
2026-06-15 12:12:01 +08:00
parent 22ca6ced3f
commit 94b44c0e73
9 changed files with 331 additions and 29 deletions

View File

@@ -30,7 +30,8 @@ import {
createIniPanelShellSessionHandoffPackageMountDisplayViewModel,
createIniPanelShellSessionHandoffPackageMountRenderState,
createIniPanelShellSessionHandoffPackageMountState,
renderIniPanelShellSessionHandoffMountState,
createIniPanelShellSessionHandoffMountDomContract,
createIniPanelShellSessionHandoffMountDomReadiness,
renderIniPanelShellSessionHandoffMountState,
createIniPanelShellSessionHandoffPackageReport,
createIniPanelShellSessionHandoffPackageRenderState,
@@ -226,11 +227,20 @@ when an outer shell needs mount-state checks as stable read-only label/value
rows. Use `createIniPanelShellSessionHandoffPackageMountRenderState()` or
`linuxCncIniPanelLaunchApi.getShellSessionHandoffPackageMountRenderState()`
when those rows need a status line and `[data-handoff-shell]` style dataset
flags for DOM rendering. Use `renderIniPanelShellSessionHandoffMountState()` or
flags for DOM rendering. Use
`createIniPanelShellSessionHandoffMountDomContract()` or
`linuxCncIniPanelLaunchApi.getShellSessionHandoffMountDomContract()` when an
outer shell needs the required mount/status/rows selectors, mount dataset keys,
row dataset keys, and render-result fields before rendering into shell-owned
DOM. Use `createIniPanelShellSessionHandoffMountDomReadiness()` or
`linuxCncIniPanelLaunchApi.getShellSessionHandoffMountDomReadiness()` to check
that the required document and nodes exist before calling the renderer. Use
`renderIniPanelShellSessionHandoffMountState()` or
`linuxCncIniPanelLaunchApi.renderShellSessionHandoffMountState()` when an outer
shell needs the shared read-only DOM renderer for those rows. The launch page renders the default waiting mount
state into `[data-handoff-mount]`, `[data-handoff-mount-status]`, and
`[data-handoff-mount-rows]` without opening the control page.
shell needs the shared read-only DOM renderer for those rows. The launch page
renders the default waiting mount state into `[data-handoff-mount]`,
`[data-handoff-mount-status]`, and `[data-handoff-mount-rows]` without opening
the control page.
The browser workflow smoke
`tests/browser/ini_panel_shell_integration_workflow_smoke.html` verifies the
same external shell handoff: read integration manifest, pass readiness gate,