diff --git a/dist/js/joomla-alert-es5.js b/dist/js/joomla-alert-es5.js index 23ae7214..ff043972 100644 --- a/dist/js/joomla-alert-es5.js +++ b/dist/js/joomla-alert-es5.js @@ -266,7 +266,7 @@ function _getPrototypeOf(o) { _this.dispatchCustomEvent('joomla.alert.closed'); if (element) { - element.remove(); + element.parentNode.removeChild(element); } else { _this.remove(); } @@ -363,7 +363,7 @@ function _getPrototypeOf(o) { if (button) { button.removeEventListener('click', this); - button.remove(); + button.parentNode.removeChild(button); } } /* Method to get the translated text */ diff --git a/dist/js/joomla-alert-es5.min.js b/dist/js/joomla-alert-es5.min.js index 3dc4efa4..1d2d1183 100644 --- a/dist/js/joomla-alert-es5.min.js +++ b/dist/js/joomla-alert-es5.min.js @@ -1 +1 @@ -!function(){return function t(e,o,n){function r(s,u){if(!o[s]){if(!e[s]){var a="function"==typeof require&&require;if(!u&&a)return a(s,!0);if(i)return i(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=o[s]={exports:{}};e[s][0].call(c.exports,function(t){return r(e[s][1][t]||t)},c,c.exports,t,e,o,n)}return o[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&void 0!==arguments[0]?arguments[0]:null;this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",function(){t.dispatchCustomEvent("joomla.alert.closed"),e?e.remove():t.remove()},!1),this.classList.remove("joomla-alert--show")}},{key:"dispatchCustomEvent",value:function(t){var e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}},{key:"appendCloseButton",value:function(){if(!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close")){var t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}}},{key:"autoDismiss",value:function(){var t=this;setTimeout(function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}},{key:"removeCloseButton",value:function(){var t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.remove())}},{key:"getText",value:function(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}},{key:"type",get:function(){return this.getAttribute("type")},set:function(t){return this.setAttribute("type",t)}},{key:"role",get:function(){return this.getAttribute("role")},set:function(t){return this.setAttribute("role",t)}},{key:"dismiss",get:function(){return this.getAttribute("dismiss")}},{key:"autodismiss",get:function(){return this.getAttribute("auto-dismiss")}},{key:"acknowledge",get:function(){return this.getAttribute("acknowledge")}},{key:"href",get:function(){return this.getAttribute("href")}}])&&i(o.prototype,n),r&&i(o,r),e}(),customElements.define("joomla-alert",f)},{}]},{},[1]); \ No newline at end of file +!function(){return function t(e,o,n){function r(s,u){if(!o[s]){if(!e[s]){var a="function"==typeof require&&require;if(!u&&a)return a(s,!0);if(i)return i(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=o[s]={exports:{}};e[s][0].call(c.exports,function(t){return r(e[s][1][t]||t)},c,c.exports,t,e,o,n)}return o[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&void 0!==arguments[0]?arguments[0]:null;this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",function(){t.dispatchCustomEvent("joomla.alert.closed"),e?e.parentNode.removeChild(e):t.remove()},!1),this.classList.remove("joomla-alert--show")}},{key:"dispatchCustomEvent",value:function(t){var e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}},{key:"appendCloseButton",value:function(){if(!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close")){var t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}}},{key:"autoDismiss",value:function(){var t=this;setTimeout(function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}},{key:"removeCloseButton",value:function(){var t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.parentNode.removeChild(t))}},{key:"getText",value:function(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}},{key:"type",get:function(){return this.getAttribute("type")},set:function(t){return this.setAttribute("type",t)}},{key:"role",get:function(){return this.getAttribute("role")},set:function(t){return this.setAttribute("role",t)}},{key:"dismiss",get:function(){return this.getAttribute("dismiss")}},{key:"autodismiss",get:function(){return this.getAttribute("auto-dismiss")}},{key:"acknowledge",get:function(){return this.getAttribute("acknowledge")}},{key:"href",get:function(){return this.getAttribute("href")}}])&&i(o.prototype,n),r&&i(o,r),e}(),customElements.define("joomla-alert",f)},{}]},{},[1]); \ No newline at end of file diff --git a/dist/js/joomla-alert.js b/dist/js/joomla-alert.js index da0613ed..09840b08 100644 --- a/dist/js/joomla-alert.js +++ b/dist/js/joomla-alert.js @@ -97,7 +97,7 @@ this.addEventListener('transitionend', () => { this.dispatchCustomEvent('joomla.alert.closed'); if (element) { - element.remove(); + element.parentNode.removeChild(element) } else { this.remove(); } @@ -181,7 +181,7 @@ const button = this.querySelector('button'); if (button) { button.removeEventListener('click', this); - button.remove(); + button.parentNode.removeChild(button) } } diff --git a/dist/js/joomla-alert.min.js b/dist/js/joomla-alert.min.js index 559ba7c5..cee69a99 100644 --- a/dist/js/joomla-alert.min.js +++ b/dist/js/joomla-alert.min.js @@ -1 +1 @@ -(()=>{customElements.define("joomla-alert",class extends HTMLElement{static get observedAttributes(){return["type","role","dismiss","acknowledge","href"]}get type(){return this.getAttribute("type")}set type(t){return this.setAttribute("type",t)}get role(){return this.getAttribute("role")}set role(t){return this.setAttribute("role",t)}get dismiss(){return this.getAttribute("dismiss")}get autodismiss(){return this.getAttribute("auto-dismiss")}get acknowledge(){return this.getAttribute("acknowledge")}get href(){return this.getAttribute("href")}connectedCallback(){this.classList.add("joomla-alert--show"),this.type&&-1!==["info","warning","danger","success"].indexOf(this.type)||this.setAttribute("type","info"),this.role&&-1!==["alert","alertdialog"].indexOf(this.role)||this.setAttribute("role","alert"),(this.hasAttribute("dismiss")||this.hasAttribute("acknowledge")||this.hasAttribute("href")&&""!==this.getAttribute("href")&&!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close"))&&this.appendCloseButton(),this.hasAttribute("auto-dismiss")&&this.autoDismiss(),this.dispatchCustomEvent("joomla.alert.show")}disconnectedCallback(){this.removeEventListener("joomla.alert.show",this),this.removeEventListener("joomla.alert.close",this),this.removeEventListener("joomla.alert.closed",this),this.firstChild.tagName&&"button"===this.firstChild.tagName.toLowerCase()&&this.firstChild.removeEventListener("click",this)}attributeChangedCallback(t,e,s){switch(t){case"type":(!s||s&&-1===["info","warning","danger","success"].indexOf(s))&&(this.type="info");break;case"role":(!s||s&&-1===["alert","alertdialog"].indexOf(s))&&(this.role="alert");break;case"dismiss":case"acknowledge":s&&"true"!==s?this.removeCloseButton():this.appendCloseButton();break;case"auto-dismiss":this.autoDismiss();break;case"href":s&&""!==s?this.querySelector("button.joomla-alert-button--close")||this.appendCloseButton():this.removeCloseButton()}}close(t=null){this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",()=>{this.dispatchCustomEvent("joomla.alert.closed"),t?t.remove():this.remove()},!1),this.classList.remove("joomla-alert--show")}dispatchCustomEvent(t){const e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}appendCloseButton(){if(this.querySelector("button.joomla-alert--close")||this.querySelector("button.joomla-alert-button--close"))return;const t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}autoDismiss(){const t=this;setTimeout(()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}removeCloseButton(){const t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.remove())}getText(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}})})(); \ No newline at end of file +(()=>{customElements.define("joomla-alert",class extends HTMLElement{static get observedAttributes(){return["type","role","dismiss","acknowledge","href"]}get type(){return this.getAttribute("type")}set type(t){return this.setAttribute("type",t)}get role(){return this.getAttribute("role")}set role(t){return this.setAttribute("role",t)}get dismiss(){return this.getAttribute("dismiss")}get autodismiss(){return this.getAttribute("auto-dismiss")}get acknowledge(){return this.getAttribute("acknowledge")}get href(){return this.getAttribute("href")}connectedCallback(){this.classList.add("joomla-alert--show"),this.type&&-1!==["info","warning","danger","success"].indexOf(this.type)||this.setAttribute("type","info"),this.role&&-1!==["alert","alertdialog"].indexOf(this.role)||this.setAttribute("role","alert"),(this.hasAttribute("dismiss")||this.hasAttribute("acknowledge")||this.hasAttribute("href")&&""!==this.getAttribute("href")&&!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close"))&&this.appendCloseButton(),this.hasAttribute("auto-dismiss")&&this.autoDismiss(),this.dispatchCustomEvent("joomla.alert.show")}disconnectedCallback(){this.removeEventListener("joomla.alert.show",this),this.removeEventListener("joomla.alert.close",this),this.removeEventListener("joomla.alert.closed",this),this.firstChild.tagName&&"button"===this.firstChild.tagName.toLowerCase()&&this.firstChild.removeEventListener("click",this)}attributeChangedCallback(t,e,s){switch(t){case"type":(!s||s&&-1===["info","warning","danger","success"].indexOf(s))&&(this.type="info");break;case"role":(!s||s&&-1===["alert","alertdialog"].indexOf(s))&&(this.role="alert");break;case"dismiss":case"acknowledge":s&&"true"!==s?this.removeCloseButton():this.appendCloseButton();break;case"auto-dismiss":this.autoDismiss();break;case"href":s&&""!==s?this.querySelector("button.joomla-alert-button--close")||this.appendCloseButton():this.removeCloseButton()}}close(t=null){this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",()=>{this.dispatchCustomEvent("joomla.alert.closed"),t?t.parentNode.removeChild(t):this.remove()},!1),this.classList.remove("joomla-alert--show")}dispatchCustomEvent(t){const e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}appendCloseButton(){if(this.querySelector("button.joomla-alert--close")||this.querySelector("button.joomla-alert-button--close"))return;const t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}autoDismiss(){const t=this;setTimeout(()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}removeCloseButton(){const t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.parentNode.removeChild(t))}getText(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}})})(); \ No newline at end of file diff --git a/docs/_media/js/joomla-alert-es5.js b/docs/_media/js/joomla-alert-es5.js index 23ae7214..ff043972 100644 --- a/docs/_media/js/joomla-alert-es5.js +++ b/docs/_media/js/joomla-alert-es5.js @@ -266,7 +266,7 @@ function _getPrototypeOf(o) { _this.dispatchCustomEvent('joomla.alert.closed'); if (element) { - element.remove(); + element.parentNode.removeChild(element); } else { _this.remove(); } @@ -363,7 +363,7 @@ function _getPrototypeOf(o) { if (button) { button.removeEventListener('click', this); - button.remove(); + button.parentNode.removeChild(button); } } /* Method to get the translated text */ diff --git a/docs/_media/js/joomla-alert-es5.min.js b/docs/_media/js/joomla-alert-es5.min.js index 3dc4efa4..1d2d1183 100644 --- a/docs/_media/js/joomla-alert-es5.min.js +++ b/docs/_media/js/joomla-alert-es5.min.js @@ -1 +1 @@ -!function(){return function t(e,o,n){function r(s,u){if(!o[s]){if(!e[s]){var a="function"==typeof require&&require;if(!u&&a)return a(s,!0);if(i)return i(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=o[s]={exports:{}};e[s][0].call(c.exports,function(t){return r(e[s][1][t]||t)},c,c.exports,t,e,o,n)}return o[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&void 0!==arguments[0]?arguments[0]:null;this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",function(){t.dispatchCustomEvent("joomla.alert.closed"),e?e.remove():t.remove()},!1),this.classList.remove("joomla-alert--show")}},{key:"dispatchCustomEvent",value:function(t){var e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}},{key:"appendCloseButton",value:function(){if(!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close")){var t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}}},{key:"autoDismiss",value:function(){var t=this;setTimeout(function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}},{key:"removeCloseButton",value:function(){var t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.remove())}},{key:"getText",value:function(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}},{key:"type",get:function(){return this.getAttribute("type")},set:function(t){return this.setAttribute("type",t)}},{key:"role",get:function(){return this.getAttribute("role")},set:function(t){return this.setAttribute("role",t)}},{key:"dismiss",get:function(){return this.getAttribute("dismiss")}},{key:"autodismiss",get:function(){return this.getAttribute("auto-dismiss")}},{key:"acknowledge",get:function(){return this.getAttribute("acknowledge")}},{key:"href",get:function(){return this.getAttribute("href")}}])&&i(o.prototype,n),r&&i(o,r),e}(),customElements.define("joomla-alert",f)},{}]},{},[1]); \ No newline at end of file +!function(){return function t(e,o,n){function r(s,u){if(!o[s]){if(!e[s]){var a="function"==typeof require&&require;if(!u&&a)return a(s,!0);if(i)return i(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=o[s]={exports:{}};e[s][0].call(c.exports,function(t){return r(e[s][1][t]||t)},c,c.exports,t,e,o,n)}return o[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&void 0!==arguments[0]?arguments[0]:null;this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",function(){t.dispatchCustomEvent("joomla.alert.closed"),e?e.parentNode.removeChild(e):t.remove()},!1),this.classList.remove("joomla-alert--show")}},{key:"dispatchCustomEvent",value:function(t){var e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}},{key:"appendCloseButton",value:function(){if(!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close")){var t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}}},{key:"autoDismiss",value:function(){var t=this;setTimeout(function(){t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}},{key:"removeCloseButton",value:function(){var t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.parentNode.removeChild(t))}},{key:"getText",value:function(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}},{key:"type",get:function(){return this.getAttribute("type")},set:function(t){return this.setAttribute("type",t)}},{key:"role",get:function(){return this.getAttribute("role")},set:function(t){return this.setAttribute("role",t)}},{key:"dismiss",get:function(){return this.getAttribute("dismiss")}},{key:"autodismiss",get:function(){return this.getAttribute("auto-dismiss")}},{key:"acknowledge",get:function(){return this.getAttribute("acknowledge")}},{key:"href",get:function(){return this.getAttribute("href")}}])&&i(o.prototype,n),r&&i(o,r),e}(),customElements.define("joomla-alert",f)},{}]},{},[1]); \ No newline at end of file diff --git a/docs/_media/js/joomla-alert.js b/docs/_media/js/joomla-alert.js index da0613ed..09840b08 100644 --- a/docs/_media/js/joomla-alert.js +++ b/docs/_media/js/joomla-alert.js @@ -97,7 +97,7 @@ this.addEventListener('transitionend', () => { this.dispatchCustomEvent('joomla.alert.closed'); if (element) { - element.remove(); + element.parentNode.removeChild(element) } else { this.remove(); } @@ -181,7 +181,7 @@ const button = this.querySelector('button'); if (button) { button.removeEventListener('click', this); - button.remove(); + button.parentNode.removeChild(button) } } diff --git a/docs/_media/js/joomla-alert.min.js b/docs/_media/js/joomla-alert.min.js index 559ba7c5..cee69a99 100644 --- a/docs/_media/js/joomla-alert.min.js +++ b/docs/_media/js/joomla-alert.min.js @@ -1 +1 @@ -(()=>{customElements.define("joomla-alert",class extends HTMLElement{static get observedAttributes(){return["type","role","dismiss","acknowledge","href"]}get type(){return this.getAttribute("type")}set type(t){return this.setAttribute("type",t)}get role(){return this.getAttribute("role")}set role(t){return this.setAttribute("role",t)}get dismiss(){return this.getAttribute("dismiss")}get autodismiss(){return this.getAttribute("auto-dismiss")}get acknowledge(){return this.getAttribute("acknowledge")}get href(){return this.getAttribute("href")}connectedCallback(){this.classList.add("joomla-alert--show"),this.type&&-1!==["info","warning","danger","success"].indexOf(this.type)||this.setAttribute("type","info"),this.role&&-1!==["alert","alertdialog"].indexOf(this.role)||this.setAttribute("role","alert"),(this.hasAttribute("dismiss")||this.hasAttribute("acknowledge")||this.hasAttribute("href")&&""!==this.getAttribute("href")&&!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close"))&&this.appendCloseButton(),this.hasAttribute("auto-dismiss")&&this.autoDismiss(),this.dispatchCustomEvent("joomla.alert.show")}disconnectedCallback(){this.removeEventListener("joomla.alert.show",this),this.removeEventListener("joomla.alert.close",this),this.removeEventListener("joomla.alert.closed",this),this.firstChild.tagName&&"button"===this.firstChild.tagName.toLowerCase()&&this.firstChild.removeEventListener("click",this)}attributeChangedCallback(t,e,s){switch(t){case"type":(!s||s&&-1===["info","warning","danger","success"].indexOf(s))&&(this.type="info");break;case"role":(!s||s&&-1===["alert","alertdialog"].indexOf(s))&&(this.role="alert");break;case"dismiss":case"acknowledge":s&&"true"!==s?this.removeCloseButton():this.appendCloseButton();break;case"auto-dismiss":this.autoDismiss();break;case"href":s&&""!==s?this.querySelector("button.joomla-alert-button--close")||this.appendCloseButton():this.removeCloseButton()}}close(t=null){this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",()=>{this.dispatchCustomEvent("joomla.alert.closed"),t?t.remove():this.remove()},!1),this.classList.remove("joomla-alert--show")}dispatchCustomEvent(t){const e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}appendCloseButton(){if(this.querySelector("button.joomla-alert--close")||this.querySelector("button.joomla-alert-button--close"))return;const t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}autoDismiss(){const t=this;setTimeout(()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}removeCloseButton(){const t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.remove())}getText(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}})})(); \ No newline at end of file +(()=>{customElements.define("joomla-alert",class extends HTMLElement{static get observedAttributes(){return["type","role","dismiss","acknowledge","href"]}get type(){return this.getAttribute("type")}set type(t){return this.setAttribute("type",t)}get role(){return this.getAttribute("role")}set role(t){return this.setAttribute("role",t)}get dismiss(){return this.getAttribute("dismiss")}get autodismiss(){return this.getAttribute("auto-dismiss")}get acknowledge(){return this.getAttribute("acknowledge")}get href(){return this.getAttribute("href")}connectedCallback(){this.classList.add("joomla-alert--show"),this.type&&-1!==["info","warning","danger","success"].indexOf(this.type)||this.setAttribute("type","info"),this.role&&-1!==["alert","alertdialog"].indexOf(this.role)||this.setAttribute("role","alert"),(this.hasAttribute("dismiss")||this.hasAttribute("acknowledge")||this.hasAttribute("href")&&""!==this.getAttribute("href")&&!this.querySelector("button.joomla-alert--close")&&!this.querySelector("button.joomla-alert-button--close"))&&this.appendCloseButton(),this.hasAttribute("auto-dismiss")&&this.autoDismiss(),this.dispatchCustomEvent("joomla.alert.show")}disconnectedCallback(){this.removeEventListener("joomla.alert.show",this),this.removeEventListener("joomla.alert.close",this),this.removeEventListener("joomla.alert.closed",this),this.firstChild.tagName&&"button"===this.firstChild.tagName.toLowerCase()&&this.firstChild.removeEventListener("click",this)}attributeChangedCallback(t,e,s){switch(t){case"type":(!s||s&&-1===["info","warning","danger","success"].indexOf(s))&&(this.type="info");break;case"role":(!s||s&&-1===["alert","alertdialog"].indexOf(s))&&(this.role="alert");break;case"dismiss":case"acknowledge":s&&"true"!==s?this.removeCloseButton():this.appendCloseButton();break;case"auto-dismiss":this.autoDismiss();break;case"href":s&&""!==s?this.querySelector("button.joomla-alert-button--close")||this.appendCloseButton():this.removeCloseButton()}}close(t=null){this.dispatchCustomEvent("joomla.alert.close"),this.addEventListener("transitionend",()=>{this.dispatchCustomEvent("joomla.alert.closed"),t?t.parentNode.removeChild(t):this.remove()},!1),this.classList.remove("joomla-alert--show")}dispatchCustomEvent(t){const e=new CustomEvent(t);e.relatedTarget=this,this.dispatchEvent(e),this.removeEventListener(t,this)}appendCloseButton(){if(this.querySelector("button.joomla-alert--close")||this.querySelector("button.joomla-alert-button--close"))return;const t=this,e=document.createElement("button");this.hasAttribute("dismiss")?(e.classList.add("joomla-alert--close"),e.innerHTML='',e.setAttribute("aria-label",this.getText("JCLOSE","Close"))):(e.classList.add("joomla-alert-button--close"),this.hasAttribute("acknowledge")?e.innerHTML=this.getText("JOK","ok"):e.innerHTML=this.getText("JOPEN","Open")),this.firstChild?this.insertBefore(e,this.firstChild):this.appendChild(e),e&&(this.href?e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),window.location.href=t.href,t.close()}):e.addEventListener("click",()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.getAttribute("data-callback")?(window[t.getAttribute("data-callback")](),t.close()):t.close()}))}autoDismiss(){const t=this;setTimeout(()=>{t.dispatchCustomEvent("joomla.alert.buttonClicked"),t.hasAttribute("data-callback")?window[t.getAttribute("data-callback")]():t.close(t)},parseInt(t.getAttribute("auto-dismiss"),10)?t.getAttribute("auto-dismiss"):3e3)}removeCloseButton(){const t=this.querySelector("button");t&&(t.removeEventListener("click",this),t.parentNode.removeChild(t))}getText(t,e){return window.Joomla&&Joomla.JText&&Joomla.JText._&&"function"==typeof Joomla.JText._&&Joomla.JText._(t)?Joomla.JText._(t):e}})})(); \ No newline at end of file diff --git a/src/js/alert/alert.js b/src/js/alert/alert.js index da0613ed..5aeaa8a5 100644 --- a/src/js/alert/alert.js +++ b/src/js/alert/alert.js @@ -97,7 +97,7 @@ this.addEventListener('transitionend', () => { this.dispatchCustomEvent('joomla.alert.closed'); if (element) { - element.remove(); + element.parentNode.removeChild(element); } else { this.remove(); } @@ -181,7 +181,7 @@ const button = this.querySelector('button'); if (button) { button.removeEventListener('click', this); - button.remove(); + button.parentNode.removeChild(button); } }