Hotfix: Implement a specific sorting method for statuses as the existing has … (#20609)

Implement a specific sorting method for statuses as the existing has to support deprecated implementation of custom getUnique method
This commit is contained in:
Niels Lyngsø
2025-10-22 13:57:09 +02:00
committed by GitHub
parent 62c1d44a5d
commit 4a65f56d9d

View File

@@ -88,7 +88,7 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
) {
const items = this.#items.getValue();
this.#items.setValue(this.#sortByUniques(items));
this.#statuses.setValue(this.#sortByUniques(statuses));
this.#statuses.setValue(this.#sortStatusByUniques(statuses));
} else {
// We need to load new items, so ...
this.#requestItems();
@@ -260,7 +260,7 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
}
}
#sortByUniques<T extends Pick<ItemType, 'unique'>>(data?: Array<T>): Array<T> {
#sortByUniques(data?: Array<ItemType>): Array<ItemType> {
if (!data) return [];
const uniques = this.getUniques();
return [...data].sort((a, b) => {
@@ -270,6 +270,17 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
});
}
/** Just needed for the deprecation implementation to work, do not bring this into 17.0 [NL] */
#sortStatusByUniques(data?: Array<UmbRepositoryItemsStatus>): Array<UmbRepositoryItemsStatus> {
if (!data) return [];
const uniques = this.getUniques();
return [...data].sort((a, b) => {
const aIndex = uniques.indexOf(a.unique ?? '');
const bIndex = uniques.indexOf(b.unique ?? '');
return aIndex - bIndex;
});
}
#onEntityUpdatedEvent = (event: UmbEntityUpdatedEvent) => {
const eventUnique = event.getUnique();