Select Git revision
EStaticMenuView.js
-
Amanda Ghassaei authoredAmanda Ghassaei authored
EStaticMenuView.js 1.99 KiB
/**
* Created by aghassaei on 6/30/15.
*/
define(['jquery', 'underscore', 'menuParent', 'eSimPlist', 'text!eStaticMenuTemplate', 'eSim', 'latticeESim'],
function($, _, MenuParentView, eSimPlist, template, eSim, lattice){
return MenuParentView.extend({
events: {
"click #calcCapacitance": "_calcCapacitance",
"click #calcInductance": "_calcInductance",
"click #calcEField": "_calcEField"
},
_initialize: function(){
this.listenTo(eSim, "change", this.render);
},
getPropertyOwner: function($target){
if ($target.hasClass("eSim")) return eSim;
if ($target.hasClass("eSimGroup")) return eSim.get("conductorGroups")[$target.data("id")];
return null;
},
_calcEField: function(e){
e.preventDefault();
console.log("here");
lattice.calcEField(eSim.get("conductorGroups"), eSim.get("simulationRes"), eSim.get("numRelaxationSteps"));
},
_calcCapacitance: function(e){
e.preventDefault();
if (this._checkGroupData("voltage") && !isNaN(parseFloat(eSim.get("dielectricConst")))) lattice.calcCapacitance();
else console.warn("voltage data missing");
},
_calcInductance: function(e){
e.preventDefault();
if (this._checkGroupData("current")) lattice.calcInductance();
else console.warn("current data missing");
},
_checkGroupData: function(property){
var missingGroups = _.filter(eSim.get("conductorGroups"), function(group){
return group[property] === null;
});
return missingGroups.length == 0;
},
_makeTemplateJSON: function(){
return _.extend(this.model.toJSON(), eSim.toJSON(), eSimPlist);
},
template: _.template(template)
});
});