结论:完成 evidence-ready / inventory-ready 双层 promotion candidate 管理,release/SDK gate 已纳入 virtual HAL promotion summary,baseline 保持 28/28/131/0,Python remap、tool DB、external user-M hard block 继续 locked。
694 lines
36 KiB
HTML
694 lines
36 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;
|
|
}
|
|
.url-workflow-form {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 10px;
|
|
border-top: 1px solid var(--border);
|
|
padding-top: 12px;
|
|
}
|
|
.url-workflow-form label {
|
|
display: grid;
|
|
gap: 4px;
|
|
color: var(--muted);
|
|
font: 12px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
|
}
|
|
.url-workflow-form input {
|
|
width: 100%;
|
|
min-height: 32px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 4px;
|
|
padding: 6px 8px;
|
|
color: var(--text);
|
|
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
|
}
|
|
.url-workflow-form button {
|
|
justify-self: start;
|
|
min-height: 32px;
|
|
border: 1px solid #0f5f9d;
|
|
border-radius: 4px;
|
|
background: var(--accent);
|
|
color: #fff;
|
|
padding: 6px 12px;
|
|
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
|
cursor: pointer;
|
|
}
|
|
.source-filter-controls {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
gap: 8px;
|
|
}
|
|
.source-filter-controls label {
|
|
color: var(--muted);
|
|
font: 12px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
|
}
|
|
.source-filter-controls select {
|
|
width: 100%;
|
|
min-height: 32px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 4px;
|
|
padding: 6px 8px;
|
|
color: var(--text);
|
|
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
|
}
|
|
</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>
|
|
<form class="url-workflow-form" data-release-artifact-url-workflow-form>
|
|
<label>
|
|
Release artifact URL
|
|
<input type="text" inputmode="url" data-release-artifact-url-input placeholder="../../tests/fixtures/project-release-readiness-ready.json">
|
|
</label>
|
|
<label>
|
|
Browser diagnostics URL
|
|
<input type="text" inputmode="url" data-browser-diagnostics-url-input placeholder="../../tests/fixtures/real-browser-simulation-diagnostics-ready.json">
|
|
</label>
|
|
<button type="submit" data-run-release-artifact-url-workflow>Run URL Workflow</button>
|
|
</form>
|
|
<section class="overview-status" aria-label="Release artifact URL workflow" data-workflow-overview-release-readiness-artifact-url-workflow>
|
|
<p data-workflow-overview-release-readiness-artifact-url-workflow-status>Waiting for release artifact URL workflow.</p>
|
|
<dl data-workflow-overview-release-readiness-artifact-url-workflow-rows></dl>
|
|
</section>
|
|
<section class="overview-status" aria-label="Release artifact URL workflow action plan" data-workflow-overview-release-readiness-artifact-url-workflow-action-plan>
|
|
<p data-workflow-overview-release-readiness-artifact-url-workflow-action-plan-status>Waiting for URL workflow action plan.</p>
|
|
<dl data-workflow-overview-release-readiness-artifact-url-workflow-action-plan-rows></dl>
|
|
</section>
|
|
<section class="overview-status" aria-label="Release artifact URL gate execution summary" data-workflow-overview-release-readiness-artifact-gate-execution-summary>
|
|
<p data-workflow-overview-release-readiness-artifact-gate-execution-summary-status>Waiting for URL workflow gate evidence.</p>
|
|
<dl data-workflow-overview-release-readiness-artifact-gate-execution-summary-rows></dl>
|
|
</section>
|
|
<section class="overview-status" aria-label="Promotion candidate drilldown" data-workflow-overview-promotion-candidate-drilldown>
|
|
<p data-workflow-overview-promotion-candidate-drilldown-status>Waiting for promotion candidate evidence.</p>
|
|
<dl data-workflow-overview-promotion-candidate-drilldown-rows></dl>
|
|
</section>
|
|
<section class="overview-status" aria-label="Promotion family source filter" data-workflow-overview-promotion-family-source-filter>
|
|
<p data-workflow-overview-promotion-family-source-filter-status>Waiting for promotion family source evidence.</p>
|
|
<div class="source-filter-controls" data-workflow-overview-promotion-family-source-filter-controls></div>
|
|
<dl data-workflow-overview-promotion-family-source-filter-rows></dl>
|
|
</section>
|
|
</section>
|
|
</main>
|
|
<script type="module">
|
|
import {
|
|
createIniPanelShellViewModel,
|
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
|
createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
|
createIniPanelShellSessionReadinessWorkflowReport,
|
|
createIniPanelShellWorkflowOverviewContract,
|
|
createIniPanelShellWorkflowOverviewReadiness,
|
|
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDisplayViewModel,
|
|
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomContract,
|
|
createIniPanelShellWorkflowOverviewEmbeddingDomReadiness,
|
|
mountIniPanelShellWorkflowOverviewEmbedding,
|
|
createMachineSessionPersistenceSummary,
|
|
renderIniPanelShellWorkflowOverviewEmbeddingState,
|
|
mountIniPanelShellWorkflowOverviewEmbeddingState,
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDisplayViewModel,
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountRenderState,
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
|
runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState,
|
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
|
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState,
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel,
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract,
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomReadiness,
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan,
|
|
handleIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionChange,
|
|
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls,
|
|
renderIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState,
|
|
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState,
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel,
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState,
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomContract,
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState,
|
|
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
|
|
renderIniPanelShellSessionHandoffWorkflowState,
|
|
mountIniPanelShellSessionHandoffWorkflow,
|
|
} from "./ui-shell.js";
|
|
|
|
const shellViewModel = createIniPanelShellViewModel();
|
|
const workflowRenderState = shellViewModel.shellSessionHandoffWorkflowRenderState;
|
|
renderIniPanelShellSessionHandoffWorkflowState(workflowRenderState, { documentRef: document });
|
|
const releaseArtifactUrlInput = document.querySelector("[data-release-artifact-url-input]");
|
|
const browserDiagnosticsUrlInput = document.querySelector("[data-browser-diagnostics-url-input]");
|
|
const releaseArtifactUrlWorkflowForm = document.querySelector("[data-release-artifact-url-workflow-form]");
|
|
|
|
async function runWorkflowOverviewReleaseReadinessArtifactUrlForm(options = {}) {
|
|
const artifactUrl = String(options.artifactUrl ?? releaseArtifactUrlInput?.value ?? "").trim();
|
|
const diagnosticsUrl = String(options.diagnosticsUrl ?? browserDiagnosticsUrlInput?.value ?? "").trim();
|
|
const workflow = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
|
artifactUrl,
|
|
diagnosticsUrl,
|
|
fetchRef: options.fetchRef,
|
|
mount: options.mount ?? true,
|
|
});
|
|
const summary = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow);
|
|
const renderState = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState(summary);
|
|
const mountResult = mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState({
|
|
renderState,
|
|
documentRef: document,
|
|
});
|
|
const actionPlan = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan(workflow);
|
|
const actionPlanRenderState =
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState(actionPlan);
|
|
const actionPlanMountResult =
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState({
|
|
renderState: actionPlanRenderState,
|
|
documentRef: document,
|
|
});
|
|
const gateExecutionSummary =
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel(workflow);
|
|
const gateExecutionSummaryRenderState =
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState(
|
|
gateExecutionSummary,
|
|
);
|
|
const gateExecutionSummaryMountResult =
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState({
|
|
renderState: gateExecutionSummaryRenderState,
|
|
documentRef: document,
|
|
});
|
|
const promotionCandidateDrilldown =
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel(summary, {
|
|
diagnosticsArtifact: workflow.diagnosticsArtifact,
|
|
});
|
|
const promotionCandidateDrilldownRenderState =
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState(
|
|
promotionCandidateDrilldown,
|
|
);
|
|
const promotionCandidateDrilldownMountResult =
|
|
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState({
|
|
renderState: promotionCandidateDrilldownRenderState,
|
|
documentRef: document,
|
|
});
|
|
const promotionFamilyRowsRenderState =
|
|
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState(summary);
|
|
const promotionFamilySourceFilter =
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel(
|
|
promotionFamilyRowsRenderState,
|
|
);
|
|
const promotionFamilySourceFilterMountResult =
|
|
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState({
|
|
viewModel: promotionFamilySourceFilter,
|
|
documentRef: document,
|
|
});
|
|
const promotionFamilySourceFilterBinding =
|
|
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls({
|
|
renderState: promotionFamilyRowsRenderState,
|
|
viewModel: promotionFamilySourceFilter,
|
|
documentRef: document,
|
|
render: true,
|
|
onChange: (changeResult) => {
|
|
document.body.dataset.promotionFamilySourceFilterFamily =
|
|
changeResult.selectedFamilyId;
|
|
document.body.dataset.promotionFamilySourceFilterSourceKind =
|
|
changeResult.selectedSourceKind;
|
|
document.body.dataset.promotionFamilySourceFilterCount =
|
|
String(changeResult.actionPlan.filteredSourceFileCount);
|
|
},
|
|
});
|
|
document.body.dataset.releaseArtifactUrlWorkflowPhase = workflow.phase;
|
|
document.body.dataset.releaseArtifactUrlWorkflowReady = workflow.ready ? "true" : "false";
|
|
document.body.dataset.promotionCandidateDrilldownReady =
|
|
promotionCandidateDrilldown.ready ? "true" : "false";
|
|
document.body.dataset.promotionFamilySourceFilterReady =
|
|
promotionFamilySourceFilter.ready ? "true" : "false";
|
|
document.body.dataset.promotionFamilySourceFilterCount =
|
|
String(promotionFamilySourceFilter.filteredSourceFileCount);
|
|
return {
|
|
workflow,
|
|
summary,
|
|
renderState,
|
|
mountResult,
|
|
actionPlan,
|
|
actionPlanRenderState,
|
|
actionPlanMountResult,
|
|
gateExecutionSummary,
|
|
gateExecutionSummaryRenderState,
|
|
gateExecutionSummaryMountResult,
|
|
promotionCandidateDrilldown,
|
|
promotionCandidateDrilldownRenderState,
|
|
promotionCandidateDrilldownMountResult,
|
|
promotionFamilyRowsRenderState,
|
|
promotionFamilySourceFilter,
|
|
promotionFamilySourceFilterMountResult,
|
|
promotionFamilySourceFilterBinding,
|
|
};
|
|
}
|
|
|
|
releaseArtifactUrlWorkflowForm?.addEventListener("submit", (event) => {
|
|
event.preventDefault();
|
|
runWorkflowOverviewReleaseReadinessArtifactUrlForm().catch((error) => {
|
|
const status = document.querySelector("[data-workflow-overview-release-readiness-artifact-url-workflow-status]");
|
|
if (status) {
|
|
status.textContent = `Blocked: ${error?.message ?? "release artifact URL workflow failed"}`;
|
|
}
|
|
document.body.dataset.releaseArtifactUrlWorkflowPhase = "blocked";
|
|
document.body.dataset.releaseArtifactUrlWorkflowReady = "false";
|
|
});
|
|
});
|
|
|
|
window.linuxCncIniPanelWorkflowOverviewApi = {
|
|
getWorkflowOverviewRenderState: () => shellViewModel.shellSessionHandoffWorkflowRenderState,
|
|
getWorkflowOverviewDisplayViewModel: () => shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
|
|
getWorkflowOverviewSummary: () => shellViewModel.shellSessionHandoffWorkflowSummary,
|
|
getWorkflowOverviewSessionReadinessReport: (options) => (
|
|
createIniPanelShellSessionReadinessWorkflowReport(options ?? {
|
|
workflowSummary: shellViewModel.shellSessionHandoffWorkflowSummary,
|
|
})
|
|
),
|
|
getWorkflowOverviewApiSurfaceInventory: (options) => (
|
|
shellViewModel.createShellApiSurfaceInventory(options ?? {
|
|
launchApiManifest: shellViewModel.launchApiManifest,
|
|
controlPageApiManifest: shellViewModel.controlPage.browserApiManifest,
|
|
workflowOverviewContract: shellViewModel.shellWorkflowOverviewContract,
|
|
sessionReadinessWorkflowReport: shellViewModel.shellSessionReadinessWorkflowReport,
|
|
})
|
|
),
|
|
getWorkflowOverviewPersistenceSummary: (options) => (
|
|
createMachineSessionPersistenceSummary(options)
|
|
),
|
|
validateWorkflowOverviewReleaseReadinessArtifactJson: (artifactJson) => (
|
|
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson)
|
|
),
|
|
runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow: (options) => (
|
|
runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel: (workflow) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel(workflow)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan: (workflow) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan(workflow)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState: (summaryViewModel) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState(summaryViewModel)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
|
|
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl(options)
|
|
),
|
|
runWorkflowOverviewReleaseReadinessArtifactUrlForm,
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: (workflow) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan: (workflow) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan(workflow)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState: (summaryViewModel) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState(summaryViewModel)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewPromotionFamilyRowsRenderState: (summaryViewModel) => (
|
|
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState(summaryViewModel)
|
|
),
|
|
getWorkflowOverviewPromotionFamilySourceFilterViewModel: (renderState, options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel(renderState, options)
|
|
),
|
|
getWorkflowOverviewPromotionFamilySourceFilterDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract(options)
|
|
),
|
|
getWorkflowOverviewPromotionFamilySourceFilterDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan: (renderState, options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan(renderState, options)
|
|
),
|
|
handleWorkflowOverviewPromotionFamilySourceFilterSelectionChange: (options) => (
|
|
handleIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionChange(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
bindWorkflowOverviewPromotionFamilySourceFilterSelectionControls: (options) => (
|
|
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewPromotionFamilySourceFilterState: (viewModel, options) => (
|
|
renderIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState(
|
|
viewModel,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewPromotionFamilySourceFilterState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewPromotionCandidateDrilldownViewModel: (summaryViewModel, options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel(summaryViewModel, options)
|
|
),
|
|
getWorkflowOverviewPromotionCandidateDrilldownRenderState: (viewModel) => (
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState(viewModel)
|
|
),
|
|
getWorkflowOverviewPromotionCandidateDrilldownDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomContract(options)
|
|
),
|
|
getWorkflowOverviewPromotionCandidateDrilldownDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewPromotionCandidateDrilldownState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewPromotionCandidateDrilldownState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState: (actionPlan) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState(actionPlan)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan: (validation) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan(validation)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState: (actionPlan) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState(actionPlan)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel: (validation) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel(validation)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel: (workflow) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel(workflow)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState: (summaryViewModel) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState(summaryViewModel)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState(
|
|
renderState,
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState(
|
|
options ?? { documentRef: document },
|
|
)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: (validation) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(validation)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactRenderState: (displayViewModel) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(displayViewModel)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract(options)
|
|
),
|
|
getWorkflowOverviewReleaseReadinessArtifactDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness(options ?? { documentRef: document })
|
|
),
|
|
renderWorkflowOverviewReleaseReadinessArtifactState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState(renderState, options ?? { documentRef: document })
|
|
),
|
|
mountWorkflowOverviewReleaseReadinessArtifactState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState(options ?? { documentRef: document })
|
|
),
|
|
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)
|
|
),
|
|
getWorkflowOverviewEmbeddingMountRenderState: (displayViewModel) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountRenderState(displayViewModel)
|
|
),
|
|
getWorkflowOverviewEmbeddingMountDomContract: (options) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract(options)
|
|
),
|
|
getWorkflowOverviewEmbeddingMountDomReadiness: (options) => (
|
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness(options ?? { documentRef: document })
|
|
),
|
|
renderWorkflowOverviewEmbeddingMountState: (renderState, options) => (
|
|
renderIniPanelShellWorkflowOverviewEmbeddingMountState(renderState, options ?? { documentRef: document })
|
|
),
|
|
mountWorkflowOverviewEmbeddingMountState: (options) => (
|
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState(options ?? {
|
|
documentRef: document,
|
|
})
|
|
),
|
|
};
|
|
</script>
|
|
</body>
|
|
</html>
|