entityChanged$ emit after updating entities

This commit is contained in:
Adina Țeudan 2021-12-13 15:00:59 +02:00
parent 6c49e67da1
commit b46bfd3fa6

View File

@ -69,6 +69,8 @@ export class EntitiesService<E extends IListable, I = E> 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<E extends IListable, I = E> 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 {