Files
cnc_wams/wasm-port/runtime/ui/ini-panel/panel-state-summary.js

66 lines
1.5 KiB
JavaScript

export function createIniPanelStateSummary({
badges = {},
machine = null,
machineFiles = null,
sessionSnapshot = null,
sessionLoad = null,
run = null,
fiveaxisRemap = null,
} = {}) {
return {
badges: {
ini: badges.ini ?? null,
interp: badges.interp ?? null,
opfs: badges.opfs ?? null,
},
machine,
machineFiles,
sessionSnapshot,
sessionLoad,
run,
fiveaxisRemap: fiveaxisRemap ?? null,
};
}
export function createMachineSessionStateSnapshot({
badges = {},
machine = null,
machineFiles = null,
sessionSnapshot = null,
sessionLoad = null,
selectedProgram = null,
run = null,
fields = {},
lastAction = null,
error = null,
fiveaxisRemap = null,
} = {}) {
return {
...createIniPanelStateSummary({
badges,
machine,
machineFiles,
sessionSnapshot,
sessionLoad,
run,
fiveaxisRemap,
}),
selectedProgram,
fields: {
sessionIni: fields.sessionIni ?? null,
sessionParameters: fields.sessionParameters ?? null,
sessionToolTable: fields.sessionToolTable ?? null,
sessionGcode: fields.sessionGcode ?? null,
sessionSnapshot: fields.sessionSnapshot ?? null,
runStatus: fields.runStatus ?? null,
runSource: fields.runSource ?? null,
runSnapshot: fields.runSnapshot ?? null,
runWorkflow: fields.runWorkflow ?? null,
runOpfsPath: fields.runOpfsPath ?? null,
runWasmPath: fields.runWasmPath ?? null,
},
lastAction: lastAction ?? null,
error: error ?? null,
};
}