From bdcfc7800d15bbf6ea4e402f9f2014b5273c8f55 Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Thu, 29 Jan 2015 20:59:27 -0500
Subject: [PATCH] more menu stuff

---
 js/menus/navbar.js    |  6 +++---
 js/models/AppState.js | 16 ++++++++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/js/menus/navbar.js b/js/menus/navbar.js
index 0e5177e5..d8d1fe6e 100644
--- a/js/menus/navbar.js
+++ b/js/menus/navbar.js
@@ -51,9 +51,9 @@ NavBar = Backbone.View.extend({
             return;
         }
         if (navSelection) {
-            if (navSelection=="navDesign") this.model.set("currentTab", "lattice", {silent: true});
-            else if (navSelection=="navSim") this.model.set("currentTab", "physics", {silent: true});
-            else if (navSelection=="navAssemble") this.model.set("currentTab", "assembler", {silent: true});
+            if (navSelection=="navDesign") this.model.set("currentTab", this.model.get("lastDesignTab"), {silent: true});
+            else if (navSelection=="navSim") this.model.set("currentTab", this.model.get("lastSimulationTab"), {silent: true});
+            else if (navSelection=="navAssemble") this.model.set("currentTab", this.model.get("lastAssembleTab"), {silent: true});
             this.model.set("currentNav", navSelection);
         }
     },
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 829ff896..ddc65582 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -10,10 +10,26 @@ AppState = Backbone.Model.extend({
     defaults: {
         currentNav:"navDesign",//design, sim, assemble
         currentTab:"lattice",
+
+        //last tab that one open in each of the main menus
+        lastDesignTab: "lattice",
+        lastSimulationTab: "physics",
+        lastAssembleTab: "assembler",
+
         menuIsVisible: true
     },
 
     initialize: function(){
 
+        this.listenTo(this, "change:currentTab", this._storeTab)
+
+    },
+
+    _storeTab: function(){
+        var currentNav = this.get("currentNav");
+        var currentTab = this.get("currentTab");
+        if (currentNav == "navDesign") this.set("lastDesignTab", currentTab);
+        else if (currentNav == "navSim") this.set("lastSimulationTab", currentTab);
+        else if (currentNav == "navAssemble") this.set("lastAssembleTab", currentTab);
     }
 });
\ No newline at end of file
-- 
GitLab