2 'knockout', 'text!./radiostack.html', 'kojqui/tooltip', 'kojqui/spinner'
3 ], function(ko, htmlString) {
5 function DualFrequencyViewModel(label, pfx) {
7 self.useKey = pfx + "use";
8 self.sbyKey = pfx + "sby";
9 self.stnKey = pfx + "stn";
11 self.label = ko.observable(label);
12 self.use = ko.observable(188.888).extend({
16 self.stby = ko.observable(188.888).extend({
20 self.stn = ko.observable("").extend({
24 self.swap = function() {
25 ko.utils.knockprops.write(self.useKey, self.stby());
26 ko.utils.knockprops.write(self.sbyKey, self.use());
29 self.onUseBlur = function() {
30 ko.utils.knockprops.write(self.useKey, self.use());
33 self.onUseKey = function(ui,evt) {
34 if( evt.keyCode == 13 )
35 ko.utils.knockprops.write(self.useKey, self.use());
38 self.onStbyKey = function(ui,evt) {
39 if( evt.keyCode == 13 )
40 ko.utils.knockprops.write(self.sbyKey, self.stby());
43 self.onStbyBlur = function() {
44 ko.utils.knockprops.write(self.sbyKey, self.stby());
48 function ViewModel(params) {
49 this.radios = ko.observableArray([
50 new DualFrequencyViewModel("COM1", "com1"), new DualFrequencyViewModel("COM2", "com2"),
51 new DualFrequencyViewModel("NAV1", "nav1"), new DualFrequencyViewModel("NAV2", "nav2"),
52 new DualFrequencyViewModel("ADF", "adf1"),
57 // Return component definition
59 viewModel : ViewModel,