Commit 82ba2887 authored by Amanda Ghassaei's avatar Amanda Ghassaei

new plist structure, in progress of updating ui and logic

parent 32b79837
......@@ -15,6 +15,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
cellType: "cube",
connectionType: "gik",
latticeType: "willGik",
partType: null,
denseCellsMin: null,
......@@ -28,7 +29,8 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
__initialize: function(){
this.listenTo(this, "change:partType", this._updatePartType);
//todo change latticeType
this.listenTo(this, "change:partType change:latticeType", this._updatePartType);
this.listenTo(this, "change:cellType change:connectionType", function(){
this._updateLatticeType();//pass no params
});
......@@ -53,17 +55,35 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
_setToDefaultsSilently: function(){
var newCellType = this.get("cellType");
var newConnectionType = this.get("connectionType");
if (newConnectionType == this.previous("connectionType")){
newConnectionType = _.keys(plist["allConnectionTypes"][newCellType])[0];
newConnectionType = _.keys(plist.allLattices[newCellType].connection)[0];
this.set("connectionType", newConnectionType, {silent:true});
}
var partType = _.keys(plist["allPartTypes"][newCellType][newConnectionType])[0];
this.set("partType", partType, {silent:true});
appState.set("materialClass", plist.allMaterialTypes[newCellType][newConnectionType]);
var newLatticeType = this.get("latticeType");
if (newLatticeType === this.previous("latticeType")){
newLatticeType = _.keys(plist.allLattices[newCellType].connection[newConnectionType].type)[0];
this.set("latticeType", newLatticeType, {silent:true});
}
var latticeData = this._getLatticePlistData();
var newPartType = null;
if (latticeData.parts) newPartType = _.keys(latticeData.parts)[0];
this.set("partType", newPartType, {silent:true});
var newMaterialClass = (latticeData.materialClasses || plist.allMaterialClasses)[0];
appState.set("materialClass", newMaterialClass);
},
_getLatticePlistData: function(){
return plist.allLattices[this.get("cellType")].connection[this.get("connectionType")].type[this.get("latticeType")];
},
_setDefaultCellMode: function(){//if no part associated with this lattice type
if (!plist["allPartTypes"][this.get("cellType")][this.get("connectionType")]){
var latticeData = this._getLatticePlistData();
if (latticeData.parts === null){
var currentMode = appState.get("cellMode");
if (currentMode == "cell" || currentMode == "supercell") return;
appState.set("cellMode", "cell");
......@@ -73,7 +93,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
_getSubclassForLatticeType: function(){
var cellType = this.get("cellType");
var connectionType = this.get("connectionType");
var subclass = plist.allLatticeSubclasses[cellType][connectionType];
var subclass = plist.allLattices[cellType].connection[connectionType].subclass;
if (subclass === undefined){
console.warn("unrecognized cell type " + cellType);
return null;
......
Cell Type:   
<div class="btn-group">
<button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allCellTypes[cellType] %><span class="caret"></span></button>
<button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allLattices[cellType].name %><span class="caret"></span></button>
<ul role="menu" class="dropdown-menu">
<% _.each(_.keys(allCellTypes), function(key){ %>
<li><a class="lattice dropdownSelector" data-property="cellType" data-value="<%= key %>" href="#"><%= allCellTypes[key] %></a></li>
<% _.each(allLattices, function(cellTypeData, key){ %>
<li><a class="lattice dropdownSelector" data-property="cellType" data-value="<%= key %>" href="#"><%= cellTypeData.name %></a></li>
<% }); %>
</ul>
</div><br/><br/>
Cell Connection:&nbsp;&nbsp;
<div class="btn-group">
<button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allConnectionTypes[cellType][connectionType] %>-Connected<span class="caret"></span></button>
<button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allLattices[cellType].connection[connectionType].name %>-Connected<span class="caret"></span></button>
<ul role="menu" class="dropdown-menu">
<% _.each(_.keys(allConnectionTypes[cellType]), function(key){ %>
<li><a class="lattice dropdownSelector" data-property="connectionType" data-value="<%= key %>" href="#"><%= allConnectionTypes[cellType][key] %></a></li>
<% _.each(allLattices[cellType].connection, function(connectionTypeData, key){ %>
<li><a class="lattice dropdownSelector" data-property="connectionType" data-value="<%= key %>" href="#"><%= connectionTypeData.name %></a></li>
<% }); %>
</ul>
</div><br/><br/>
Type:&nbsp;&nbsp;
<div class="btn-group">
<button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allLattices[cellType].connection[connectionType].type[latticeType].name %><span class="caret"></span></button>
<ul role="menu" class="dropdown-menu">
<% _.each(allLattices[cellType].connection[connectionType].type, function(latticeTypeData, key){ %>
<li><a class="lattice dropdownSelector" data-property="latticeType" data-value="<%= key %>" href="#"><%= latticeTypeData.name %></a></li>
<% }); %>
</ul>
</div><br/><br/>
......
<ul class="nav nav-tabs nav-justified">
<% _.each(allMenus[currentNav].tabs, function(tabName, key){
if (key == "part" && !(allPartTypes[cellType][connectionType])) return; %>
if (key == "part" && allLattices[cellType].connection[connectionType].type[latticeType].parts === null) return; %>
<li role="presentation" class="menuWrapperTab" data-name="<%= key %>"><a href="#"><%= tabName %></a></li>
<% }); %>
</ul>
\ No newline at end of file
......@@ -3,7 +3,7 @@
<div class="btn-group">
<a data-type="supercell" class="btn btn-primary btn-ribbon ribbonCellMode<% if (cellMode == "supercell"){ %> ribbon-selected<% } %>" href="#"><img data-type="supercell" src="assets/imgs/super-sm.png"></a>
<a data-type="cell" class="btn btn-primary btn-ribbon ribbonCellMode<% if (cellMode == "cell"){ %> ribbon-selected<% } %>" href="#"><img data-type="cell" src="assets/imgs/cell-sm.png"></a>
<% if (allPartTypes[cellType][connectionType]){ %>
<% if (allLattices[cellType].connection[connectionType].type[latticeType].parts){ %>
<a data-type="part" class="btn btn-primary btn-ribbon ribbonCellMode<% if (cellMode == "part"){ %> ribbon-selected<% } %>" href="#"><img data-type="part" src="assets/imgs/part-sm.png"></a>
<% } %>
<!--<a data-type="beam" class="btn btn-primary btn-ribbon ribbonCellMode<% if (cellMode == "beam"){ %> ribbon-selected<% } %>" href="#">Beam</a>-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment