From 43beb9ca94c4860ae59b17cf566b37dc1594fdfe Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Wed, 2 Oct 2024 08:39:54 +0200 Subject: [PATCH] fix: only calculate a new preview element when the 'value' changes --- .../input-upload-field/input-upload-field.element.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-upload-field/input-upload-field.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-upload-field/input-upload-field.element.ts index daadc08235..d328a429cf 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-upload-field/input-upload-field.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-upload-field/input-upload-field.element.ts @@ -74,6 +74,14 @@ export class UmbInputUploadFieldElement extends UmbLitElement { constructor() { super(); + } + + override updated(changedProperties: PropertyValueMap | Map) { + super.updated(changedProperties); + if (changedProperties.has('value')) { + this.#setPreviewAlias(); + } + } async #getManifests() { await new UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, 'fileUploadPreview', null, (exts) => { @@ -92,6 +100,10 @@ export class UmbInputUploadFieldElement extends UmbLitElement { this._extensions = extensions?.map((extension) => `.${extension}`); } + async #setPreviewAlias(): Promise { + this._previewAlias = await this.#getPreviewElementAlias(); + } + async #getPreviewElementAlias() { if (!this.value.src) return; const manifests = await this.#getManifests();