blob: 91ec0dc8d38ad1db36eb380ca42f00febe7073a6 (
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
|
/**
* @author Victor Häggqvist
* @since 2016-01-14
*/
export default class CloseButton {
constructor(closeOnDocumentClick=false) {
this.closeOnDocumentClick = closeOnDocumentClick;
this.element = document.createElement('a');
this.element.id = 'imagelightbox-close';
this.element.innerHTML = 'Close';
}
register(lightbox) {
this.lightbox = lightbox;
lightbox.addOnStartListener(this.showButton.bind(this));
lightbox.addOnEndListener(this.hideButton.bind(this));
}
showButton() {
this.lightbox.options.quitOnDocClick = this.closeOnDocumentClick;
['click', 'touchend'].forEach(name => {
this.element.addEventListener(name, this.exitLightbox.bind(this));
});
document.body.appendChild(this.element);
}
hideButton() {
document.body.removeChild(this.element);
}
exitLightbox() {
this.lightbox.quitLightbox();
}
}
|