推进 INI 面板 shell handoff workflow DOM mount helper

This commit is contained in:
2026-06-15 14:28:22 +08:00
parent e1e0c7f6d2
commit 6b6629ce73
9 changed files with 530 additions and 4 deletions

View File

@@ -99,6 +99,10 @@
<p data-handoff-mount-status>Checking shell handoff mount readiness.</p>
<dl data-handoff-mount-rows></dl>
</section>
<section class="handoff-status" aria-label="Shell handoff workflow summary" data-handoff-workflow>
<p data-handoff-workflow-status>Checking shell handoff workflow summary.</p>
<dl data-handoff-workflow-rows></dl>
</section>
</section>
</main>
<script type="module">
@@ -114,6 +118,10 @@
createIniPanelShellSessionHandoffWorkflowSummary,
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
createIniPanelShellSessionHandoffWorkflowRenderState,
createIniPanelShellSessionHandoffWorkflowDomContract,
createIniPanelShellSessionHandoffWorkflowDomReadiness,
renderIniPanelShellSessionHandoffWorkflowState,
mountIniPanelShellSessionHandoffWorkflow,
renderIniPanelShellSessionHandoffMountState,
} from "./ui-shell.js";
@@ -145,6 +153,8 @@
}
const handoffMountRenderState = shellViewModel.shellSessionHandoffPackageMountRenderState;
renderIniPanelShellSessionHandoffMountState(handoffMountRenderState, { documentRef: document });
const handoffWorkflowRenderState = shellViewModel.shellSessionHandoffWorkflowRenderState;
renderIniPanelShellSessionHandoffWorkflowState(handoffWorkflowRenderState, { documentRef: document });
window.linuxCncIniPanelLaunchApi = {
isSupportedLaunchApiManifest: isSupportedIniPanelLaunchApiManifest,
@@ -244,6 +254,21 @@
options ?? shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
)
),
getShellSessionHandoffWorkflowDomContract: (options) => (
createIniPanelShellSessionHandoffWorkflowDomContract(options)
),
getShellSessionHandoffWorkflowDomReadiness: (options) => (
createIniPanelShellSessionHandoffWorkflowDomReadiness(options ?? { documentRef: document })
),
renderShellSessionHandoffWorkflowState: (renderState, options) => (
renderIniPanelShellSessionHandoffWorkflowState(renderState, options ?? { documentRef: document })
),
mountShellSessionHandoffWorkflow: (options) => (
mountIniPanelShellSessionHandoffWorkflow(options ?? {
renderState: shellViewModel.shellSessionHandoffWorkflowRenderState,
documentRef: document,
})
),
isSupportedShellSessionHandoffPackage: shellViewModel.isSupportedShellSessionHandoffPackage,
getLauncherLinks: () => shellViewModel.launcherLinks,
getControlPageApiMethods: () => shellViewModel.controlPage.browserApiMethods,