From c26502b6db0578690536ff8d890c6a4d3789db65 Mon Sep 17 00:00:00 2001 From: Radoslav Karaivanov Date: Thu, 18 Nov 2021 18:32:32 +0200 Subject: [PATCH] fix: Setting avatar src correctly resets error state --- src/components/avatar/avatar.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/avatar/avatar.ts b/src/components/avatar/avatar.ts index 900f39596..166ba14a5 100644 --- a/src/components/avatar/avatar.ts +++ b/src/components/avatar/avatar.ts @@ -25,9 +25,18 @@ export default class IgcAvatarComponent extends SizableMixin(LitElement) { /** @private */ public static styles = [styles]; + public set src(val: string) { + const oldVal = this._src; + this._src = val; + this.hasError = false; + this.requestUpdate('src', oldVal); + } + /** The image source to use. */ @property() - public src!: string; + public get src() { + return this._src; + } @state() private hasError = false; @@ -44,6 +53,8 @@ export default class IgcAvatarComponent extends SizableMixin(LitElement) { @property({ reflect: true }) public shape: 'circle' | 'rounded' | 'square' = 'square'; + private _src!: string; + private get classes() { const { size, shape } = this; @@ -89,11 +100,6 @@ export default class IgcAvatarComponent extends SizableMixin(LitElement) { } } -// export const avatarDefinition: IgcComponentDefinition = { -// tag: 'igc-avatar', -// component: IgcAvatarComponent, -// }; - declare global { interface HTMLElementTagNameMap { 'igc-avatar': IgcAvatarComponent;