172 lines
6.3 KiB
HTML
172 lines
6.3 KiB
HTML
<!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,
|
|
createIniPanelShellWorkflowOverviewContract,
|
|
createIniPanelShellWorkflowOverviewReadiness,
|
|
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDisplayViewModel,
|
|
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomContract,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomReadiness,
|
|
mountIniPanelShellWorkflowOverviewEmbedding,
|
|
renderIniPanelShellWorkflowOverviewEmbeddingState,
|
|
mountIniPanelShellWorkflowOverviewEmbeddingState,
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDisplayViewModel,
|
|
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,
|
|
getWorkflowOverviewContract: () => createIniPanelShellWorkflowOverviewContract(),
|
|
getWorkflowOverviewReadinessFromApi: () => createIniPanelShellWorkflowOverviewReadiness({
|
|
overviewApi: window.linuxCncIniPanelWorkflowOverviewApi,
|
|
}),
|
|
mountWorkflowOverviewEmbedding: (options) => (
|
|
mountIniPanelShellWorkflowOverviewEmbedding({
|
|
overviewApi: window.linuxCncIniPanelWorkflowOverviewApi,
|
|
...(options ?? {}),
|
|
})
|
|
),
|
|
getWorkflowOverviewEmbeddingReport: (embeddingResult, contract) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingReport(embeddingResult, contract)
|
|
),
|
|
getWorkflowOverviewEmbeddingDisplayViewModel: (report) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingDisplayViewModel(report)
|
|
),
|
|
getWorkflowOverviewEmbeddingRenderState: (displayViewModel) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingRenderState(displayViewModel)
|
|
),
|
|
getWorkflowOverviewEmbeddingDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomContract(options)
|
|
),
|
|
getWorkflowOverviewEmbeddingDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomReadiness(options ?? { documentRef: document })
|
|
),
|
|
renderWorkflowOverviewEmbeddingState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewEmbeddingState(renderState, options ?? { documentRef: document })
|
|
),
|
|
mountWorkflowOverviewEmbeddingState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewEmbeddingState(options ?? {
|
|
documentRef: document,
|
|
})
|
|
),
|
|
getWorkflowOverviewEmbeddingMountDisplayViewModel: (mountResult) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDisplayViewModel(mountResult)
|
|
),
|
|
};
|
|
</script>
|
|
</body>
|
|
</html>
|