-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathview.js
56 lines (42 loc) · 1.34 KB
/
view.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
'use strict';
const view = {
buttonsSelector: document.getElementById('buttons'),
colorPickerSelector: document.getElementsByClassName('jscolor')[0],
screenSelector: document.getElementById('screen'),
clear() {
this.screenSelector.innerHTML = '';
},
focusScreen() {
this.screenSelector.focus();
},
digitLimitMet() {
octopus.resetModels();
this.renderToScreen('Digit Limit Met');
},
addScreenListener() {
this.screenSelector.addEventListener('keydown', (keydownEvent) => {
keydownEvent.preventDefault();
octopus.inputCheckExpressionUpdate(keydownEvent.key);
})
},
addButtonsListener() {
this.buttonsSelector.addEventListener('click', (clickEvent) => {
octopus.inputCheckExpressionUpdate(clickEvent.target.id);
})
},
addColorPickerListener() {
this.colorPickerSelector.addEventListener('click', (clickEvent) => {
octopus.setWaitingForPick(true);
})
},
getColor() {
return this.colorPickerSelector.style['background-color'];
},
changeColor(id, color) {
let elem = document.getElementById(id);
elem.style['background-color'] = color;
},
renderToScreen(htmlString) {
this.screenSelector.innerHTML = htmlString;
}
}