-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp1.js
73 lines (51 loc) · 1.67 KB
/
app1.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
// Budget Controller
var budgetControlller = (function() {
})();
// UI Controller
var UIController = (function() {
var DOMStrings = {
inputType : '.add__type',
inputDescription : '.add__description',
inputValue : '.add__value',
inputBtn : '.add__btn'
}
return{
getInput : function(){
return{
type : document.querySelector(DOMStrings.inputType).value, //will be either inc or exp
description : document.querySelector(DOMStrings.inputDescription).value,
value : document.querySelector(DOMStrings.inputValue).value
}
},
getDOMStrings : function(){
return DOMStrings;
}
}
})();
//Global Controller
var controller = (function(budgetCtrl,UICtrl) {
var setupEventListener = function(){
var DOMStrings = UICtrl.getDOMStrings();
document.querySelector(DOMStrings.inputBtn).addEventListener('click',ctrlAddItem);
document.addEventListener('keypress', function(event){
if(event.keyCode==13 || event.which==13){
ctrlAddItem();
}
});
};
var ctrlAddItem = function(){
var input = UICtrl.getInput();
console.log(input);
// 1. get input data
// 2. add item to budget controller
// 3. add item to UI
// 4. calculate the budget
// 5. display budget on UI
};
return{
init : function(){
setupEventListener();
}
}
})(budgetControlller,UIController);
controller.init();