From 17c65675b934698a61a2c80435f532e5a77f0c97 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 17 Nov 2021 18:03:31 +0200 Subject: [PATCH] replace multiple entities once --- src/lib/listing/services/entities.service.ts | 10 +++++----- src/lib/sorting/sorting.service.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/listing/services/entities.service.ts b/src/lib/listing/services/entities.service.ts index 90a241f..6904d40 100644 --- a/src/lib/listing/services/entities.service.ts +++ b/src/lib/listing/services/entities.service.ts @@ -79,10 +79,10 @@ export class EntitiesService extends GenericService< return this.all.some(entity => entity.id === id); } - replace(newEntity: E): void { - const all = this.all.filter(item => item.id !== newEntity.id); - all.push(newEntity); - this.setEntities(all); - this.entityChanged$.next(newEntity); + replace(newEntities: E[]): void { + const ids = newEntities.map(entity => entity.id); + const all = this.all.filter(item => !ids.includes(item.id)); + this.setEntities([...all, ...newEntities]); + newEntities.forEach(entity => this.entityChanged$.next(entity)); } } diff --git a/src/lib/sorting/sorting.service.ts b/src/lib/sorting/sorting.service.ts index 1afd604..2d94067 100644 --- a/src/lib/sorting/sorting.service.ts +++ b/src/lib/sorting/sorting.service.ts @@ -29,7 +29,7 @@ export class SortingService { return order === SortingOrders.asc ? result : result.reverse(); } - return orderBy(values, [column], [order]) as T[]; + return orderBy(values, [column], [order]) ; } setSortingOption(value: SortingOption): void {