From 32a11d85579d88094c84ea2ee70ddba4f352da51 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 31 Oct 2024 18:44:05 +0100 Subject: [PATCH] null check + render correct icon --- ...create-option-action-list-modal.element.ts | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/common/create/modal/entity-create-option-action-list-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/common/create/modal/entity-create-option-action-list-modal.element.ts index 2bdc224261..03360e282c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/common/create/modal/entity-create-option-action-list-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/common/create/modal/entity-create-option-action-list-modal.element.ts @@ -6,7 +6,15 @@ import type { ManifestEntityCreateOptionAction } from '@umbraco-cms/backoffice/e import type { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api'; import { UmbExtensionsApiInitializer } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import { html, customElement, state, repeat, ifDefined, property } from '@umbraco-cms/backoffice/external/lit'; +import { + html, + customElement, + state, + repeat, + ifDefined, + property, + type PropertyValues, +} from '@umbraco-cms/backoffice/external/lit'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; type ManifestType = ManifestEntityCreateOptionAction; @@ -26,25 +34,27 @@ export class UmbEntityCreateOptionActionListModalElement extends UmbModalBaseEle @state() _hrefList: Array = []; - @property({ attribute: false }) - public override set data(value: UmbEntityCreateOptionActionListModalData | undefined) { - super.data = value; + protected override updated(_changedProperties: PropertyValues): void { + super.updated(_changedProperties); - if (value) { + if (_changedProperties.has('data')) { this.#initApi(); } } #initApi() { - if (this._data?.entityType === undefined) throw new Error('No entityType found'); - if (this._data?.unique === undefined) throw new Error('No unique found'); + const data = this.data; + if (!data) throw new Error('No data found'); + + if (data.entityType === undefined) throw new Error('No entityType found'); + if (data.unique === undefined) throw new Error('No unique found'); new UmbExtensionsApiInitializer( this, umbExtensionsRegistry, 'entityCreateOptionAction', (manifest: ManifestType) => { - return [{ entityType: this._data!.entityType, unique: this._data!.unique, meta: manifest.meta }]; + return [{ entityType: data.entityType, unique: data.unique, meta: manifest.meta }]; }, undefined, async (controllers) => { @@ -109,12 +119,13 @@ export class UmbEntityCreateOptionActionListModalElement extends UmbModalBaseEle this.#onClick(event, controller)} href=${ifDefined(href)} target=${this.#getTarget(href)} ?selectable=${!href} - ?readonly=${!href}> + ?readonly=${!href}> + + `; } }