From f9a23b504fc04371b9be7427eb3936b3f9de07d6 Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Sun, 1 Feb 2015 13:42:59 -0500 Subject: [PATCH] default connection types and part types --- js/menus/LatticeMenuView.js | 37 +++++++++++++++++++++++++++++++++---- js/menus/PartMenuView.js | 10 +++++++++- js/models/Lattice.js | 5 +++-- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js index 690230ee..1347e678 100644 --- a/js/menus/LatticeMenuView.js +++ b/js/menus/LatticeMenuView.js @@ -42,17 +42,46 @@ LatticeMenuView = Backbone.View.extend({ _changeCellType: function(e){ e.preventDefault(); var cellType = $(e.target).data("type"); - var currentCellType = this.model.get("cellType"); - if (cellType != currentCellType){ - if (currentCellType == "cube") this.model.set("connectionType", "face", {silent:true}); - else if (currentCellType == "octa") this.model.set("connectionType", "face", {silent:true}); + + //reset everything to defaults silently + if (cellType != this.model.get("cellType")){ + this._setLatticeToDefaultsSilently(cellType); } this.model.set("cellType", cellType); }, + _setLatticeToDefaultsSilently: function(newCellType, newConnectionType){ + if (newCellType == "cube") { + if (!newConnectionType){ + newConnectionType = "face"; + this.model.set("connectionType", newConnectionType, {silent:true}); + } + this.model.set("connectionType", newConnectionType, {silent:true}); + if (newConnectionType == "face"){ + this.model.set("partType", null, {silent:true}); + } + } + else if (newCellType == "octa") { + if (!newConnectionType){ + newConnectionType = "face"; + this.model.set("connectionType", newConnectionType, {silent:true}); + } + if (newConnectionType == "face"){ + this.model.set("partType", "triangle", {silent:true}); + } else if (newConnectionType == "edge"){ + this.model.set("partType", "triangle", {silent:true}); + } else if (newConnectionType == "vertex"){ + this.model.set("partType", "square", {silent:true}); + } + } + }, + _changeConnectionType: function(e){ e.preventDefault(); var connectionType = $(e.target).data("type"); + if (connectionType != this.model.get("connectionType")){ + this._setLatticeToDefaultsSilently(this.model.get("cellType"), connectionType); + } this.model.set("connectionType", connectionType); }, diff --git a/js/menus/PartMenuView.js b/js/menus/PartMenuView.js index 664db085..50f28204 100644 --- a/js/menus/PartMenuView.js +++ b/js/menus/PartMenuView.js @@ -24,7 +24,15 @@ PartMenuView = Backbone.View.extend({ }, template: _.template('\ - Part Type: <%= partType %><br/>\ + Part Type: \ + <div class="btn-group">\ + <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allPartTypes[cellType][connectionType][partType] %><span class="caret"></span></button>\ + <ul role="menu" class="dropdown-menu">\ + <% _.each(_.keys(allPartTypes[cellType][connectionType]), function(key){ %>\ + <li><a class="partType" data-type="<%= key %>" href="#"><%= allPartTypes[cellType][connectionType][key] %></a></li>\ + <% }); %>\ + </ul>\ + </div><br/><br/>\ Column Separation:<br/>\ ') diff --git a/js/models/Lattice.js b/js/models/Lattice.js index 5bf88bd9..1deb9964 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -17,8 +17,8 @@ Lattice = Backbone.Model.extend({ allPartTypes:{ octa:{ face: {triangle:"Triangle"}, - edge: {traingle:"Triangle"}, - vertex:{square:"Square", x:"X"} + edge: {triangle:"Triangle"}, + vertex:{square:"Square", xShape:"X"} }, cube:{ face: null @@ -229,6 +229,7 @@ Lattice = Backbone.Model.extend({ }, _changeLatticeStructure: function(){ + console.log("amanda"); this.clearCells(); this.get("basePlane").updateGeometry(this.get("cellType"), this.get("connectionType"), this.get("scale")); }, -- GitLab