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 4b5ad77a5b..fb61775397 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 @@ -17,7 +17,7 @@ const SORTER_CONFIG: UmbSorterConfig { const oldValue = this._layoutEntries; - this._layoutEntries = layoutEntries; this.#sorter.setModel(layoutEntries); + this._layoutEntries = layoutEntries; this.requestUpdate('layoutEntries', oldValue); }); @@ -68,6 +68,7 @@ export class UmbBlockGridEntriesElement extends UmbLitElement { this.observe( manager.layoutStylesheet, (stylesheet) => { + if (this._styleElement && this._styleElement.href === stylesheet) return; this._styleElement = document.createElement('link'); this._styleElement.setAttribute('rel', 'stylesheet'); this._styleElement.setAttribute('href', stylesheet); 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 9b6c190afb..7ee0ee42c0 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,11 +51,12 @@ function destroyIgnorerElements(element: HTMLElement, ignorerSelectors: string) }); } function setupPreventEvent(element: Element) { - //(element as HTMLElement).draggable = false; - (element as HTMLElement).setAttribute('draggable', 'false'); + (element as HTMLElement).draggable = false; + //(element as HTMLElement).setAttribute('draggable', 'false'); } function destroyPreventEvent(element: Element) { - element.removeAttribute('draggable'); + element.draggable = false; + //element.removeAttribute('draggable'); } type INTERNAL_UmbSorterConfig = { @@ -277,10 +278,9 @@ export class UmbSorterController ' + this.#config.disabledItemSelector)) { + // Idea: to make sure on does not get initialized twice: if ((element as HTMLElement).draggable === true) return; + (element as HTMLElement).draggable = true; element.addEventListener('dragstart', this.#handleDragStart); element.addEventListener('dragend', this.#handleDragEnd); }