Files
onefinity-firmware/src/js/macros.js
2023-12-30 19:38:23 +05:30

104 lines
3.2 KiB
JavaScript

"use strict";
const utils = require("./utils");
module.exports = {
template: "#macros-template",
props: [ "config", "template", "state" ],
data: function (){
return {
toolpath_progress: 0,
}
},
components: {
"axis-control": require("./axis-control"),
"path-viewer": require("./path-viewer"),
"gcode-viewer": require("./gcode-viewer")
},
computed:{
mach_state: function() {
const cycle = this.state.cycle;
const state = this.state.xx;
if (state != "ESTOPPED" && (cycle == "jogging" || cycle == "homing")) {
return cycle.toUpperCase();
}
return state || "";
},
is_ready: function() {
return this.mach_state == "READY";
},
},
methods:{
open: function() {
utils.clickFileInput("gcode-file-input");
},
load: function() {
const file_time = this.state.selected_time;
console.log('file_time',this.state.selected_time);
const file = this.state.selected;
console.log("file: ",this.state.selected);
// if (this.last_file == file && this.last_file_time == file_time) {
// return;
// }
// this.last_file = file;
// this.last_file_time = file_time;
// this.$broadcast("gcode-load", file);
// this.$broadcast("gcode-line", this.state.line);
// this.toolpath_progress = 0;
// this.load_toolpath(file, file_time);
},
upload: function(e) {
const files = e.target.files || e.dataTransfer.files;
if (!files.length) {
return;
}
const file = files[0];
const extension = file.name.split(".").pop();
switch (extension.toLowerCase()) {
case "nc":
case "ngc":
case "gcode":
case "gc":
break;
default:
alert(`Unsupported file type: ${extension}`);
return;
}
SvelteComponents.showDialog("Upload", {
file,
onComplete: () => {
this.last_file_time = undefined; // Force reload
this.$broadcast("gcode-reload", file.name);
}
});
},
saveMacros: function(){
var macrosName = document.getElementById("macros-name").value;
var macrosColor = document.getElementById("macros-color").value;
if(this.config.macros == undefined) {
console.log("macros is undefined");
this.config.macros=[];
return;
}
this.config.macros.push({
id:Math.round(Math.random()*100000),
name:macrosName,
color:macrosColor,
gcode:this.state.selected,
})
console.log("Successfully saved");
console.log(this.config.macros);
},
printConfig: function(){
console.log(this.config);
}
}
}