entityChanged$ emit after updating entities
This commit is contained in:
parent
6c49e67da1
commit
b46bfd3fa6
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user