推进 INI 面板 workflow status helper

This commit is contained in:
2026-06-14 22:28:44 +08:00
parent a1c34e454e
commit f537a8fa42
6 changed files with 194 additions and 2 deletions

View File

@@ -49,6 +49,7 @@ import {
createMachineSessionStateSnapshot,
createMachineSessionStateReport,
createMachineSessionStateReportExport,
createMachineSessionWorkflowStatus,
} from "./panel-state-summary.js";
const SAMPLE_PATH =
@@ -161,6 +162,10 @@ function getMachineSessionStateReportExport() {
return createMachineSessionStateReportExport(window.linuxCncIniPanelMachineSessionState);
}
function getMachineSessionWorkflowStatus() {
return createMachineSessionWorkflowStatus(window.linuxCncIniPanelMachineSessionState);
}
function updatePanelMachineSessionState(patch = {}) {
panelMachineSessionState = createMachineSessionStateSnapshot({
...panelMachineSessionState,
@@ -177,9 +182,11 @@ function updatePanelMachineSessionState(patch = {}) {
window.linuxCncIniPanelApi = {
getMachineSessionStateReport,
getMachineSessionStateReportExport,
getMachineSessionWorkflowStatus,
};
window.getMachineSessionStateReport = getMachineSessionStateReport;
window.getMachineSessionStateReportExport = getMachineSessionStateReportExport;
window.getMachineSessionWorkflowStatus = getMachineSessionWorkflowStatus;
window.linuxCncIniPanelMachineSessionState = panelMachineSessionState;
function setBadge(node, text, className = "badge") {

View File

@@ -118,3 +118,14 @@ export function createMachineSessionStateReportExport(state = {}, options = {})
text: `${JSON.stringify(report, null, 2)}\n`,
};
}
export function createMachineSessionWorkflowStatus(state = {}) {
const report = createMachineSessionStateReport(state);
return {
readiness: report.readiness,
lastAction: report.status.lastAction,
error: report.status.error,
session: report.session,
run: report.run,
};
}