blob: 535a9567fade9ca9856b0095d7519212251cc1c9 (
plain)
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
|
class Error {
constructor(elt) {
this.elt = elt
this._boundClickHandler = this.clickHandler.bind(this)
this.button.addEventListener('click', this._boundClickHandler)
}
get errorElt() {
if (this._errorElt === undefined) {
this._errorElt = this.elt.querySelector('p')
}
return this._errorElt
}
get button() {
if (this._button === undefined) {
this._button = this.elt.querySelector('button')
}
return this._button
}
get innerHTML() {
return this.errorElt.tinnerHTML
}
set innerHTML(html) {
this.errorElt.innerHTML = html
}
get onClick() {
if (this._onClick !== undefined) {
return this._onClick
}
return () => {}
}
set onClick(fn) {
this._onClick = fn
}
show() {
this.elt.classList.remove('hidden')
}
hide() {
this.elt.classList.add('hidden')
}
clickHandler() {
this.onClick()
}
}
export default Error
|