summaryrefslogtreecommitdiffstats
path: root/error.mjs
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