-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.js
57 lines (43 loc) · 1.66 KB
/
app.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
// TODO(you): Modify the class in whatever ways necessary to implement
// the flashcard app behavior.
//
// You may need to do things such as:
// - Changing the constructor parameters
// - Changing the code in the constructor
// - Adding methods
// - Adding additional fields
class App {
constructor() {
const menuElement = document.querySelector('#menu');
this.menu = new MenuScreen(menuElement);
const mainElement = document.querySelector('#main');
this.mainElement = mainElement;
const resultElement = document.querySelector('#results');
this.results = new ResultsScreen(resultElement);
this._onSelectMenuCSS = this._onSelectMenuCSS.bind(this);
this._onSelectMenuBasic = this._onSelectMenuBasic.bind(this);
this._onSelectFood = this._onSelectFood.bind(this);
this._onAllCardsFinish = this._onAllCardsFinish.bind(this);
document.addEventListener('css-menu-selected', this._onSelectMenuCSS);
document.addEventListener('basic-menu-selected', this._onSelectMenuBasic);
document.addEventListener('food-menu-selected', this._onSelectFood);
document.addEventListener('all-cards-finish', this._onAllCardsFinish);
}
_onSelectMenuCSS(){
this.flashcards = new FlashcardScreen(this.mainElement, 0);
this.flashcards.show();
}
_onSelectMenuBasic(){
this.flashcards = new FlashcardScreen(this.mainElement, 1);
this.flashcards.show();
}
_onSelectFood(){
this.flashcards = new FlashcardScreen(this.mainElement, 2);
this.flashcards.show();
}
_onAllCardsFinish(){
this.menu.hide();
this.flashcards.hide();
this.results.show(this.flashcards.numRight, this.flashcards.numWrong);
}
}