From a707140bb23362c0ffcfa3ef51637c41c3cdbb5d Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Wed, 11 Mar 2015 15:31:11 -0400
Subject: [PATCH] moved dict of all menu tabs into appstate

---
 js/menus/MenuWrapperView.js | 16 ++--------
 js/models/AppState.js       | 59 ++++++++++++++++++++++++++++++++-----
 2 files changed, 55 insertions(+), 20 deletions(-)

diff --git a/js/menus/MenuWrapperView.js b/js/menus/MenuWrapperView.js
index 4ec03ade..9d09c254 100644
--- a/js/menus/MenuWrapperView.js
+++ b/js/menus/MenuWrapperView.js
@@ -31,11 +31,6 @@ MenuWrapper = Backbone.View.extend({
         this.camMenu = new CamMenuView({model:this.model, lattice:lattice, assembler:dmaGlobals.assembler});
         this.sendMenu = new SendMenuView({model:this.model});
 
-        //data names and titles
-        this.designMenuTabs = {lattice:"Lattice", import:"Import", sketch:"Sketch", part:"Part", script:"Script"};
-        this.simMenuTabs = {physics:"Physics", part:"Part", material:"Material", optimize:"Optimize"};
-        this.assemMenuTabs = {assembler:"Assembler", animate:"Preview", cam: "Process", send: "Send"};
-
         //bind events
         this.listenTo(this.model, "change:currentNav", this.render);
         this.listenTo(lattice, "change:cellType change:connectionType", this._populateAndShow);
@@ -101,11 +96,7 @@ MenuWrapper = Backbone.View.extend({
     },
 
     _populateAndShow: function(){
-        this.$el.html(this.template(_.extend(this.model.toJSON(),
-            {navDesign:this.designMenuTabs,
-            navSim:this.simMenuTabs,
-            navAssemble:this.assemMenuTabs,
-            }, dmaGlobals.lattice.toJSON())));
+        this.$el.html(this.template(_.extend(this.model.toJSON(), dmaGlobals.lattice.toJSON())));
         this._updateCurrentTab();
         this._show();
     },
@@ -130,10 +121,9 @@ MenuWrapper = Backbone.View.extend({
 
     template: _.template('\
         <ul class="nav nav-tabs nav-justified">\
-        <% var dict = eval(currentNav);\
-        _.each(_.keys(dict), function(key){\
+        <% _.each(_.keys(allMenuTabs[currentNav]), function(key){\
             if (key == "part" && !(allPartTypes[cellType][connectionType])) return;  %>\
-          <li role="presentation" class="menuWrapperTab" data-name="<%= key %>"><a href="#"><%= dict[key] %></a></li>\
+          <li role="presentation" class="menuWrapperTab" data-name="<%= key %>"><a href="#"><%= allMenuTabs[currentNav][key] %></a></li>\
         <% }); %>\
         </ul>\
         ')
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 63fe67d5..0f613718 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -8,6 +8,7 @@
 AppState = Backbone.Model.extend({
 
     defaults: {
+
         currentNav:"navDesign",// design, sim, assemble
         currentTab:"lattice",
 
@@ -17,8 +18,37 @@ AppState = Backbone.Model.extend({
         lastAssembleTab: "assembler",
 
         menuWrapper: null,
+        menuIsVisible: true,
+
+        allMenuTabs: {
+            navDesign:{
+                lattice:"Lattice",
+                import:"Import",
+                sketch:"Sketch",
+                part:"Part",
+                script:"Script"
+            },
+            navSim:{
+                physics:"Physics",
+                part:"Part",
+                material:"Material",
+                optimize:"Optimize"
+            },
+            navAssemble:{
+               assembler:"Assembler",
+                animate:"Preview",
+                cam: "Process",
+                send: "Send"
+            }
+        },
 
-        allCellTypes: {octa:"Octahedron", tetra: "Tetrahedron (Coming Soon)", cube:"Cube", truncatedCube:"Cuboctahedron", kelvin:"Truncated Octahedron"},
+        allCellTypes: {
+            octa:"Octahedron",
+            tetra: "Tetrahedron (Coming Soon)",
+            cube:"Cube",
+            truncatedCube:"Cuboctahedron",
+            kelvin:"Truncated Octahedron"
+        },
         allConnectionTypes: {
             octa: {face:"Face", freeformFace:"Freeform Face", edgeRot:"Edge", vertex:"Vertex"},//edge:"Edge",
             tetra: {vertex: "Vertex"},
@@ -28,11 +58,27 @@ AppState = Backbone.Model.extend({
         },
         allPartTypes:{
             octa:{
-                face: {triangle:"Triangle", beam:"Beam", truss:"Truss"},
-                freeformFace: {triangle:"Triangle", beam:"Beam"},
-                edge: {beam:"Beam", triangle:"Triangle"},
-                edgeRot: {beam:"Beam"},
-                vertex: {beam:"Beam", square:"Square", xShape:"X"}
+                face: {
+                    triangle:"Triangle",
+                    beam:"Beam",
+                    truss:"Truss"
+                },
+                freeformFace: {
+                    triangle:"Triangle",
+                    beam:"Beam"
+                },
+                edge: {
+                    beam:"Beam",
+                    triangle:"Triangle"
+                },
+                edgeRot: {
+                    beam:"Beam"
+                },
+                vertex: {
+                    beam:"Beam",
+                    square:"Square",
+                    xShape:"X"
+                }
             },
             tetra: {
                 vertex: {beam: "Beam"}
@@ -57,7 +103,6 @@ AppState = Backbone.Model.extend({
             gcode: "G-Code"
         },
 
-        menuIsVisible: true,
 
         allUnitTypes: {
             mm: "mm",
-- 
GitLab