implement first stages of active mode communication
This commit is contained in:
28
htdocs/lib/Modes.js
Normal file
28
htdocs/lib/Modes.js
Normal file
@ -0,0 +1,28 @@
|
||||
var Modes = {
|
||||
modes: [],
|
||||
features: {},
|
||||
setModes:function(json){
|
||||
this.modes = json.map(function(m){ return new Mode(m); });
|
||||
},
|
||||
setFeatures:function(features){
|
||||
this.features = features;
|
||||
},
|
||||
findByModulation:function(modulation){
|
||||
matches = this.modes.filter(function(m) { return m.modulation === modulation; });
|
||||
if (matches.length) return matches[0]
|
||||
}
|
||||
}
|
||||
|
||||
var Mode = function(json){
|
||||
this.modulation = json.modulation;
|
||||
this.name = json.name;
|
||||
this.requirements = json.requirements;
|
||||
};
|
||||
|
||||
Mode.prototype.isAvailable = function(){
|
||||
return this.requirements.map(function(r){
|
||||
return Modes.features[r];
|
||||
}).reduce(function(a, b){
|
||||
return a && b;
|
||||
}, true);
|
||||
}
|
Reference in New Issue
Block a user