推进 INI 面板 control view renderer helper
This commit is contained in:
@@ -9,6 +9,9 @@ import {
|
||||
createMachineSessionStateReportExport,
|
||||
createMachineSessionWorkflowStatus,
|
||||
} from "../../../runtime/ui/ini-panel/panel-state-summary.js";
|
||||
import {
|
||||
renderMachineSessionControlView,
|
||||
} from "../../../runtime/ui/ini-panel/control-view-renderer.js";
|
||||
|
||||
const summary = createIniPanelStateSummary({
|
||||
badges: {
|
||||
@@ -546,9 +549,52 @@ assert.deepEqual(
|
||||
},
|
||||
);
|
||||
|
||||
function createElement(tagName) {
|
||||
const node = {
|
||||
tagName,
|
||||
children: [],
|
||||
dataset: {},
|
||||
textContent: "",
|
||||
ownerDocument: null,
|
||||
append(...children) {
|
||||
this.children.push(...children);
|
||||
},
|
||||
appendChild(child) {
|
||||
this.children.push(child);
|
||||
return child;
|
||||
},
|
||||
};
|
||||
node.ownerDocument = { createElement };
|
||||
return node;
|
||||
}
|
||||
|
||||
const controlViewContainer = createElement("div");
|
||||
const renderedControlView = renderMachineSessionControlView(
|
||||
controlViewContainer,
|
||||
createMachineSessionControlView({
|
||||
report: expectedBundleReport,
|
||||
workflowStatus: {
|
||||
readiness: expectedBundleReport.readiness,
|
||||
lastAction: "run-gcode",
|
||||
error: null,
|
||||
session: expectedBundleReport.session,
|
||||
run: expectedBundleReport.run,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
assert.equal(renderedControlView.statusNode.textContent, "run-gcode | ok | -");
|
||||
assert.equal(renderedControlView.sectionNodes.length, 3);
|
||||
assert.equal(renderedControlView.sectionNodes[2].dataset.sectionId, "run");
|
||||
assert.equal(
|
||||
renderedControlView.sectionNodes[2].children[1].children[3].textContent,
|
||||
"2",
|
||||
);
|
||||
|
||||
assert.deepEqual(
|
||||
{
|
||||
getMachineSessionControlView: typeof globalThis.window?.linuxCncIniPanelApi?.getMachineSessionControlView,
|
||||
renderMachineSessionControlView: typeof globalThis.window?.linuxCncIniPanelApi?.renderMachineSessionControlView,
|
||||
getMachineSessionStateBundle: typeof globalThis.window?.linuxCncIniPanelApi?.getMachineSessionStateBundle,
|
||||
getMachineSessionStateReport: typeof globalThis.window?.linuxCncIniPanelApi?.getMachineSessionStateReport,
|
||||
getMachineSessionStateReportExport: typeof globalThis.window?.linuxCncIniPanelApi?.getMachineSessionStateReportExport,
|
||||
@@ -556,6 +602,7 @@ assert.deepEqual(
|
||||
},
|
||||
{
|
||||
getMachineSessionControlView: "undefined",
|
||||
renderMachineSessionControlView: "undefined",
|
||||
getMachineSessionStateBundle: "undefined",
|
||||
getMachineSessionStateReport: "undefined",
|
||||
getMachineSessionStateReportExport: "undefined",
|
||||
|
||||
Reference in New Issue
Block a user