/
app.ko.js
76 lines (67 loc) · 2.36 KB
/
app.ko.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
$().ready(function() {
var nameModel = {
element: function() {
return $('#fullNameView')[0];
},
firstName: ko.observable('Axel'),
lastName: ko.observable('Nitzschner')
};
nameModel.fullName = ko.dependentObservable(function() {
return this.firstName() + ' ' + this.lastName();
}, nameModel);
var formModel = {
element: function() {
return $('#formView')[0];
}
};
formModel.items = ko.observableArray([]);
formModel.itemToAdd = ko.observable('');
formModel.addItem = function (e) {
if (formModel.itemToAdd() != "") {
//for ajax loader
formModel.items.push(formModel.itemToAdd());
formModel.itemToAdd('');
} else {
//for manually passed in items
//formModel.itemToAdd(formModel.multiSelectedOptionValues())
formModel.items.push(formModel.multiSelectedOptionValues());
formModel.multiSelectedOptionValues('');
formModel.itemToAdd('');
}
};
formModel.multiSelectedOptionValues = ko.observable("");
formModel.getModus = ko.dependentObservable( function() {
//console.log(formModel.multiSelectedOptionValues().length)
return formModel.itemToAdd().length > 0 ? formModel.itemToAdd() : formModel.multiSelectedOptionValues();
}, formModel)
var tmplModel = {
element: function() {
return $('#templateView')[0];
},
name: ko.observable('Bert'),
age: ko.observable(78),
makeOlder: function() {
this.age(this.age() + 1);
}
};
ko.applyBindings(nameModel, nameModel.element());
ko.applyBindings(formModel, formModel.element());
ko.applyBindings(tmplModel, tmplModel.element());
myApp = {};
myApp.loadSystems = function() {
$.ajax({
url: base_url+'tests/index',
dataType: 'json',
success: function(json) {
$.each(json.value, function(i, item) {
console.log(item)
formModel.addItem(formModel.itemToAdd(item));
})
},
complete: function() {
console.log('I\'m here')
//$('#loader').attr('disabled', 'disabled');
}
})
};
})