aboutsummaryrefslogtreecommitdiff
path: root/src/Plugins/ActivityIndicator.js
blob: 141daa970799f8ff510d293d1a9e60319370ca73 (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
/**
 *
 * @author Victor Häggqvist
 * @since 2016-01-14
 */

export default class ActivityIndicator {

    constructor() {
        this.element = document.createElement('div');
        this.element.id = 'imagelightbox-loading';
        this.element.appendChild(document.createElement('div'))
    }

    /**
     *
     * @param {LightBox} lightbox
     */
    register(lightbox) {
        lightbox.addOnLoadStartListener(this.activityIndicatorOn.bind(this));
        lightbox.addOnLoadEndListener(this.activityIndicatorOff.bind(this));
        lightbox.addOnEndListener(this.activityIndicatorOff.bind(this));
    }

    activityIndicatorOn() {
        document.body.appendChild(this.element);
    }

    activityIndicatorOff() {
        try {
            document.body.removeChild(this.element);
        } catch (e) {}
    }

}