Skip to content

Commit 18ab333

Browse files
nielslyngsoeAndyButland
authored andcommitted
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
1 parent fd91f88 commit 18ab333

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-items.manager.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
8888
) {
8989
const items = this.#items.getValue();
9090
this.#items.setValue(this.#sortByUniques(items));
91-
this.#statuses.setValue(this.#sortByUniques(statuses));
91+
this.#statuses.setValue(this.#sortStatusByUniques(statuses));
9292
} else {
9393
// We need to load new items, so ...
9494
this.#requestItems();
@@ -260,7 +260,7 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
260260
}
261261
}
262262

263-
#sortByUniques<T extends Pick<ItemType, 'unique'>>(data?: Array<T>): Array<T> {
263+
#sortByUniques(data?: Array<ItemType>): Array<ItemType> {
264264
if (!data) return [];
265265
const uniques = this.getUniques();
266266
return [...data].sort((a, b) => {
@@ -270,6 +270,17 @@ export class UmbRepositoryItemsManager<ItemType extends { unique: string }> exte
270270
});
271271
}
272272

273+
/** Just needed for the deprecation implementation to work, do not bring this into 17.0 [NL] */
274+
#sortStatusByUniques(data?: Array<UmbRepositoryItemsStatus>): Array<UmbRepositoryItemsStatus> {
275+
if (!data) return [];
276+
const uniques = this.getUniques();
277+
return [...data].sort((a, b) => {
278+
const aIndex = uniques.indexOf(a.unique ?? '');
279+
const bIndex = uniques.indexOf(b.unique ?? '');
280+
return aIndex - bIndex;
281+
});
282+
}
283+
273284
#onEntityUpdatedEvent = (event: UmbEntityUpdatedEvent) => {
274285
const eventUnique = event.getUnique();
275286

0 commit comments

Comments
 (0)