diff --git a/packages/common/src/button.js b/packages/common/src/button.js index 14814be031ea66aa1538f3e02d2cf9a8af76d44d..acbbf483f4fe6abc024882c1e9007b8850d5861f 100644 --- a/packages/common/src/button.js +++ b/packages/common/src/button.js @@ -88,6 +88,12 @@ export class LoadingButton extends ScopedElementsMixin(LitElement) { this.type = ""; this.loading = false; this.disabled = false; + + this.addEventListener('click', (e) => { + if (this.disabled) { + e.stopImmediatePropagation(); + } + }); } static get scopedElements() { @@ -155,8 +161,8 @@ export class LoadingButton extends ScopedElementsMixin(LitElement) { render() { return html` - <button class="button ${this.type} loading-container ${!this.loading ? "is-not-loading" : ""}" ?disabled="${this.disabled}"> - <div class="label">${this.value}</div> <dbp-mini-spinner class="spinner" style="display: ${this.loading ? "inline" : "none"}"></dbp-mini-spinner> + <button class="button ${this.type} loading-container ${!this.loading ? "is-not-loading" : ""}" ?disabled="${this.disabled}"> + <div class="label"><slot>${this.value}</slot></div> <dbp-mini-spinner class="spinner" style="display: ${this.loading ? "inline" : "none"}"></dbp-mini-spinner> </button> `; }