From 10a915fcdec4a05ec4979a40f89a97869b28d19c Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Fri, 16 May 2025 11:43:36 -0600 Subject: [PATCH] lock export to device filetype --- src/kiri/export.js | 43 ++++++++++++++++++------------------------- web/kiri/index.html | 4 +--- 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/src/kiri/export.js b/src/kiri/export.js index cc546983d..d5ec42b57 100644 --- a/src/kiri/export.js +++ b/src/kiri/export.js @@ -106,38 +106,31 @@ function exportLaserDialog(data, names) { const filename = `${fileroot}-${(printSeq.toString().padStart(3,"0"))}`; const settings = api.conf.get(); const driver = kiri.driver.LASER; - - function download_svg() { - api.util.download( - driver.exportSVG(settings, data), - $('print-filename-laser').value + ".svg" - ); - } - - function download_dxf() { - api.util.download( - driver.exportDXF(settings, data), - $('print-filename-laser').value + ".dxf" - ); - } - - function download_gcode() { + const downloadBtn = $('download-laser') + const fileExt = settings.device.gcodeFExt.toLowerCase() ?? "gcode"; + downloadBtn.innerHTML = fileExt + + function downloadFile(){ + let blob; + if (fileExt === "svg") { + blob = driver.exportSVG(settings, data) + } else if (fileExt === "dxf") { + blob = driver.exportDXF(settings, data) + }else{ + blob = driver.exportGCode(settings, data) + } api.util.download( - driver.exportGCode(settings, data), - $('print-filename-laser').value + ".gcode" + blob, + $('print-filename-laser').value + "." + fileExt ); } - + api.modal.show('xlaser'); - let segments = 0; - data.forEach(layer => { segments += layer.length }); - + let segments = data.reduce((acc, layer) => acc + layer.length, 0); $('print-filename-laser').value = filename; $('print-lines').value = util.comma(segments); - $('print-svg').onclick = download_svg; - $('print-dxf').onclick = download_dxf; - $('print-lg').onclick = download_gcode; + downloadBtn.onclick = downloadFile; } function bindField(field, varname) { diff --git a/web/kiri/index.html b/web/kiri/index.html index 3eb610ab5..de848e74d 100644 --- a/web/kiri/index.html +++ b/web/kiri/index.html @@ -709,9 +709,7 @@
- - - +