1 import {fadeIn, fadeOut} from "../services/animations";
7 elem.addEventListener('click', event => {
8 if (event.target === elem) return this.hide();
11 window.addEventListener('keyup', event => {
12 if (event.key === 'Escape') {
17 let closeButtons = elem.querySelectorAll('.popup-header-close');
18 for (let i=0; i < closeButtons.length; i++) {
19 closeButtons[i].addEventListener('click', this.hide.bind(this));
23 hide(onComplete = null) { this.toggle(false, onComplete); }
24 show(onComplete = null) { this.toggle(true, onComplete); }
26 toggle(show = true, onComplete) {
28 fadeIn(this.container, 240, onComplete);
30 fadeOut(this.container, 240, onComplete);
35 const body = this.container.querySelector('.popup-body');
43 export default Overlay;