From c3b3ea94325374a10cc25fc4268e35b56cbcdf65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 1 Jul 2024 11:28:52 +0200 Subject: [PATCH 1/2] make mutable array before sorting --- src/libs/observable-api/states/array-state.ts | 4 ++-- .../property-editors/block-list-editor/manifests.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/observable-api/states/array-state.ts b/src/libs/observable-api/states/array-state.ts index c31a4d98a7..9c1e5d8d89 100644 --- a/src/libs/observable-api/states/array-state.ts +++ b/src/libs/observable-api/states/array-state.ts @@ -35,7 +35,7 @@ export class UmbArrayState extends UmbDeepState { */ sortBy(sortMethod?: (a: T, b: T) => number) { this.#sortMethod = sortMethod; - super.setValue(this.getValue().sort(this.#sortMethod)); + super.setValue([...this.getValue()].sort(this.#sortMethod)); return this; } @@ -51,7 +51,7 @@ export class UmbArrayState extends UmbDeepState { */ override setValue(value: T[]) { if (this.#sortMethod) { - super.setValue(value.sort(this.#sortMethod)); + super.setValue([...value].sort(this.#sortMethod)); } else { super.setValue(value); } diff --git a/src/packages/block/block-list/property-editors/block-list-editor/manifests.ts b/src/packages/block/block-list/property-editors/block-list-editor/manifests.ts index c3d07105cc..bbb50aafbc 100644 --- a/src/packages/block/block-list/property-editors/block-list-editor/manifests.ts +++ b/src/packages/block/block-list/property-editors/block-list-editor/manifests.ts @@ -1,5 +1,5 @@ -import { manifest as blockListSchemaManifest } from './Umbraco.BlockList.js'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; +import { manifest as blockListSchemaManifest } from './Umbraco.BlockList.js'; export const UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS = 'Umbraco.BlockList'; From 279279fd3d757ab30e623e770014c03fd0c3d10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 1 Jul 2024 11:29:27 +0200 Subject: [PATCH 2/2] only sort if it has a value --- src/libs/observable-api/states/array-state.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libs/observable-api/states/array-state.ts b/src/libs/observable-api/states/array-state.ts index 9c1e5d8d89..57adf7f0a1 100644 --- a/src/libs/observable-api/states/array-state.ts +++ b/src/libs/observable-api/states/array-state.ts @@ -35,7 +35,10 @@ export class UmbArrayState extends UmbDeepState { */ sortBy(sortMethod?: (a: T, b: T) => number) { this.#sortMethod = sortMethod; - super.setValue([...this.getValue()].sort(this.#sortMethod)); + const value = this.getValue(); + if(value) { + super.setValue([...value].sort(this.#sortMethod)); + } return this; }