-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent.js
executable file
·59 lines (46 loc) · 1.34 KB
/
content.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
class Content {
static objs = {}
static show(ref, li) {
if (! Object.keys(Content.objs).includes(ref)) {
throw "Invalid Content ref: " + ref
}
Object.keys(Content.objs).forEach((key) => {
Content.objs[key].content_div.classList.add("hidden")
})
Content.objs[ref].content_div.classList.remove("hidden")
const nav_children = li.parentElement.children
for (let i = 0; i < nav_children.length; i++) {
const child = nav_children[i]
child.classList.remove('selected')
}
li.classList.add('selected')
}
/*
static update_src(ref) {
let elements = document.getElementsByClassName("src-race")
for (let i = 0; i < elements.length; i++) {
let element = elements[i]
let keys = Object.keys(Race.objs)
for (let j = 0; j < keys.length; j++) {
let key = keys[j]
let option = document.createElement("option")
option.value = j
option.innerText = key
element.appendChild(option)
}
}
}
*/
constructor (ref, content) {
Content.objs[ref] = this
this.ref = ref
this.content = content
let content_container = document.getElementById("content-container")
let content_div = document.createElement("div")
content_div.id = "content-" + ref
content_div.classList.add("hidden")
content_div.innerHTML = content
content_container.appendChild(content_div)
this.content_div = content_div
}
}