]> BookStack Code Mirror - bookstack/blobdiff - resources/assets/js/components/notification.js
Updated 'Spanish Argentina' translation.
[bookstack] / resources / assets / js / components / notification.js
index 4b809c9351bf545f7e8f1cee257f70695abd4d4b..f7edb08aa1327fda20c76728f2fb8add65119b60 100644 (file)
@@ -6,17 +6,24 @@ class Notification {
         this.type = elem.getAttribute('notification');
         this.textElem = elem.querySelector('span');
         this.autohide = this.elem.hasAttribute('data-autohide');
-        window.Events.listen(this.type, text => {
-            console.log('show', text);
+        this.elem.style.display = 'grid';
+
+        window.$events.listen(this.type, text => {
             this.show(text);
         });
         elem.addEventListener('click', this.hide.bind(this));
-        if (elem.hasAttribute('data-show')) this.show(this.textElem.textContent);
+
+        if (elem.hasAttribute('data-show')) {
+            setTimeout(() => this.show(this.textElem.textContent), 100);
+        }
+
+        this.hideCleanup = this.hideCleanup.bind(this);
     }
 
     show(textToShow = '') {
+        this.elem.removeEventListener('transitionend', this.hideCleanup);
         this.textElem.textContent = textToShow;
-        this.elem.style.display = 'block';
+        this.elem.style.display = 'grid';
         setTimeout(() => {
             this.elem.classList.add('showing');
         }, 1);
@@ -26,15 +33,14 @@ class Notification {
 
     hide() {
         this.elem.classList.remove('showing');
+        this.elem.addEventListener('transitionend', this.hideCleanup);
+    }
 
-        function transitionEnd() {
-            this.elem.style.display = 'none';
-            this.elem.removeEventListener('transitionend', transitionEnd);
-        }
-
-        this.elem.addEventListener('transitionend', transitionEnd.bind(this));
+    hideCleanup() {
+        this.elem.style.display = 'none';
+        this.elem.removeEventListener('transitionend', this.hideCleanup);
     }
 
 }
 
-module.exports = Notification;
\ No newline at end of file
+export default Notification;
\ No newline at end of file