diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.ts index 8fb946ad0c..4b5ad77a5b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.ts @@ -15,7 +15,7 @@ const SORTER_CONFIG: UmbSorterConfig = { contentUdi: undefined!, urls: {} }; // Set to undefined cause it will be set before we render. + #updateBlockViewProps(incoming: Partial>) { + this._blockViewProps = { ...this._blockViewProps, ...incoming }; + this.requestUpdate('_blockViewProps'); + } + constructor() { super(); @@ -75,19 +80,19 @@ export class UmbBlockGridEntryElement extends UmbLitElement implements UmbProper this._hasSettings = !!settingsElementTypeKey; }); this.observe(this.#context.label, (label) => { - this._blockViewProps.label = label; + this.#updateBlockViewProps({ label }); this._label = label; }); // Data: this.observe(this.#context.layout, (layout) => { - this._blockViewProps.layout = layout; + this.#updateBlockViewProps({ layout }); }); this.observe(this.#context.content, (content) => { - this._blockViewProps.content = content; + this.#updateBlockViewProps({ content }); }); this.observe(this.#context.settings, (settings) => { - this._blockViewProps.settings = settings; + this.#updateBlockViewProps({ settings }); }); // Paths: @@ -98,13 +103,11 @@ export class UmbBlockGridEntryElement extends UmbLitElement implements UmbProper }); this.observe(this.#context.workspaceEditContentPath, (path) => { this._workspaceEditContentPath = path; - this._blockViewProps.urls.editContent = path; - this.requestUpdate('_blockViewProps'); + this.#updateBlockViewProps({ urls: { ...this._blockViewProps.urls, editContent: path } }); }); this.observe(this.#context.workspaceEditSettingsPath, (path) => { this._workspaceEditSettingsPath = path; - this._blockViewProps.urls.editSettings = path; - this.requestUpdate('_blockViewProps'); + this.#updateBlockViewProps({ urls: { ...this._blockViewProps.urls, editSettings: path } }); }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts index 096b9fc2e4..9b6c190afb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts @@ -51,7 +51,8 @@ function destroyIgnorerElements(element: HTMLElement, ignorerSelectors: string) }); } function setupPreventEvent(element: Element) { - (element as HTMLElement).draggable = false; + //(element as HTMLElement).draggable = false; + (element as HTMLElement).setAttribute('draggable', 'false'); } function destroyPreventEvent(element: Element) { element.removeAttribute('draggable'); @@ -277,7 +278,9 @@ export class UmbSorterController