diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 7c3e7ffe2890b3076b9ad106348af4f568397296..cac5ebe1cb7cb3ced1debc127ce8a35e15773b89 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -29,10 +29,25 @@ Assembler = Backbone.Model.extend({ this.set("editsMadeToProgram", true); }, + _getExporter: function(){ + var currentExporter = this.get("exporter"); + if (this.get("camProcess") == "shopbot") { + if (currentExporter && currentExporter.constructor == ShopbotExporter){ + return currentExporter; + } else { + return new ShopbotExporter(); + } + } else if (this.get("camProcess") == "gcode") { + if (currentExporter && currentExporter.constructor == GCodeExporter){ + return currentExporter; + } else { + return new GCodeExporter(); + } + } + }, + postProcess: function(){ - var exporter; - if (this.get("camProcess") == "shopbot") exporter = new ShopbotExporter(); - else if (this.get("camProcess") == "gcode") exporter = new GCodeExporter(); + var exporter = this._getExporter(); if (exporter) { var data = ""; data += exporter.makeHeader(); diff --git a/js/menus/SendMenuView.js b/js/menus/SendMenuView.js index 15fe73834bed6919e6fda2af97b493e30f539087..765e48efa65f878b0dcab46a4f651540ae04541d 100644 --- a/js/menus/SendMenuView.js +++ b/js/menus/SendMenuView.js @@ -7,11 +7,14 @@ SendMenuView = Backbone.View.extend({ el: "#menuContent", events: { - "click #saveSendMenu": "_save" + "click #saveSendMenu": "_save", + "click #overrideEdits": "_postProcess" }, initialize: function(){ + //bind events + this.listenTo(dmaGlobals.assembler, "change", this.render); _.bindAll(this, "render"); }, @@ -21,6 +24,11 @@ SendMenuView = Backbone.View.extend({ dmaGlobals.assembler.save(); }, + _postProcess: function(e){ + e.preventDefault(); + dmaGlobals.assembler.postProcess(); + }, + render: function(){ if (this.model.get("currentTab") != "send") return; if (dmaGlobals.assembler.get("needsPostProcessing")) dmaGlobals.assembler.postProcess(); @@ -30,6 +38,7 @@ SendMenuView = Backbone.View.extend({ template: _.template('\ <a href="#" id="saveSendMenu" class=" btn btn-block btn-lg btn-default">Save</a><br/>\ <textarea id="gcodeEditor"><%= dataOut %></textarea>\ + <a href="#" id="overrideEdits" class=" btn btn-block btn-lg btn-default">Undo Changes</a><br/>\ ') }); \ No newline at end of file