From 8429cfe1fb971442e9687e006cadbe1526a8d409 Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Wed, 11 Mar 2015 17:55:56 -0400 Subject: [PATCH] don't init a bunch of exporters --- js/cam/Assembler.js | 21 ++++++++++++++++++--- js/menus/SendMenuView.js | 11 ++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 7c3e7ffe..cac5ebe1 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 15fe7383..765e48ef 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 -- GitLab