From b46bfd3fa65d44d41b54dcbca93c8ea6155e2abf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 13 Dec 2021 15:00:59 +0200 Subject: [PATCH] entityChanged$ emit after updating entities --- src/lib/listing/services/entities.service.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/listing/services/entities.service.ts b/src/lib/listing/services/entities.service.ts index ccb483d..79f7ef4 100644 --- a/src/lib/listing/services/entities.service.ts +++ b/src/lib/listing/services/entities.service.ts @@ -69,6 +69,8 @@ export class EntitiesService extends GenericService< } setEntities(entities: E[]): void { + const changedEntities: E[] = []; + // Keep old object references for unchanged entities const newEntities = entities.map(entity => { const oldEntity = this.find(entity.id); @@ -77,11 +79,17 @@ export class EntitiesService extends GenericService< return oldEntity; } - this.entityChanged$.next(entity); + changedEntities.push(entity); return entity; }); this._all$.next(newEntities); + + // Emit observables only after entities have been updated + + for (const entity of changedEntities) { + this.entityChanged$.next(entity); + } } find(id: string): E | undefined {