推进 INI 面板 shell handoff workflow overview surface
This commit is contained in:
124
wasm-port/runtime/ui/ini-panel/workflow-overview.html
Normal file
124
wasm-port/runtime/ui/ini-panel/workflow-overview.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>LinuxCNC INI Workflow Overview</title>
|
||||
<style>
|
||||
:root {
|
||||
color-scheme: light;
|
||||
--bg: #f2f5f8;
|
||||
--panel: #ffffff;
|
||||
--border: #cfd8e1;
|
||||
--text: #17212b;
|
||||
--muted: #5a6875;
|
||||
--accent: #1366a6;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Segoe UI", "Noto Sans", sans-serif;
|
||||
background: var(--bg);
|
||||
color: var(--text);
|
||||
}
|
||||
main {
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
}
|
||||
.panel {
|
||||
background: var(--panel);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 30px rgba(17, 34, 51, 0.06);
|
||||
padding: 16px;
|
||||
display: grid;
|
||||
gap: 14px;
|
||||
}
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
font: 13px/1.5 "Segoe UI", "Noto Sans", sans-serif;
|
||||
}
|
||||
.overview-status {
|
||||
border-top: 1px solid var(--border);
|
||||
padding-top: 12px;
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
}
|
||||
.overview-status dl {
|
||||
margin: 0;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(120px, 180px) 1fr;
|
||||
gap: 6px 12px;
|
||||
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
||||
}
|
||||
.overview-status dt {
|
||||
color: var(--muted);
|
||||
}
|
||||
.overview-status dd {
|
||||
margin: 0;
|
||||
color: var(--text);
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<section class="panel">
|
||||
<h1>LinuxCNC INI Workflow Overview</h1>
|
||||
<p>Read-only shell handoff overview for mount, readonly status, and overall workflow readiness.</p>
|
||||
<section class="overview-status" aria-label="Shell handoff workflow overview" 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">
|
||||
import {
|
||||
createIniPanelShellViewModel,
|
||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||
createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||
renderIniPanelShellSessionHandoffWorkflowState,
|
||||
mountIniPanelShellSessionHandoffWorkflow,
|
||||
} from "./ui-shell.js";
|
||||
|
||||
const shellViewModel = createIniPanelShellViewModel();
|
||||
const workflowRenderState = shellViewModel.shellSessionHandoffWorkflowRenderState;
|
||||
renderIniPanelShellSessionHandoffWorkflowState(workflowRenderState, { documentRef: document });
|
||||
|
||||
window.linuxCncIniPanelWorkflowOverviewApi = {
|
||||
getWorkflowOverviewRenderState: () => shellViewModel.shellSessionHandoffWorkflowRenderState,
|
||||
getWorkflowOverviewDisplayViewModel: () => shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
|
||||
getWorkflowOverviewSummary: () => shellViewModel.shellSessionHandoffWorkflowSummary,
|
||||
getWorkflowOverviewDomContract: (options) => (
|
||||
createIniPanelShellSessionHandoffWorkflowDomContract(options)
|
||||
),
|
||||
getWorkflowOverviewDomReadiness: (options) => (
|
||||
createIniPanelShellSessionHandoffWorkflowDomReadiness(options ?? { documentRef: document })
|
||||
),
|
||||
renderWorkflowOverview: (renderState, options) => (
|
||||
renderIniPanelShellSessionHandoffWorkflowState(
|
||||
renderState ?? shellViewModel.shellSessionHandoffWorkflowRenderState,
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
mountWorkflowOverview: (options) => (
|
||||
mountIniPanelShellSessionHandoffWorkflow(options ?? {
|
||||
renderState: shellViewModel.shellSessionHandoffWorkflowRenderState,
|
||||
documentRef: document,
|
||||
})
|
||||
),
|
||||
createWorkflowOverviewRenderState: createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user