diff --git a/js/menus/navbar.js b/js/menus/navbar.js index 0e5177e598505d4014d7c445f6571eb425021273..d8d1fe6e3d8fed6bf45541fe54805e8ea335a65f 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 829ff8965221720df40eab01b7b2d054ad012840..ddc65582aea1b42bcddfbe8f9970646512ed78e0 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