elf
elf copied to clipboard
Add Entity Actions to listen for any store action
@ngneat/elf-entities
No response
Description
Add entity action as they are in Akita: https://datorama.github.io/akita/docs/entities/query-entity/#entity-actions
Proposed solution
import { selectEntityAction, EntityActions } from '@ngneat/elf-entities';
// Listen for a specific action
store.query(selectEntityAction(EntityActions.Set)).subscribe(newIds => {})
store.query(selectEntityAction(EntityActions.Add)).subscribe(addedIds => {});
store.query(selectEntityAction(EntityActions.Update)).subscribe(updatedIds => {});
store.query(selectEntityAction(EntityActions.Remove)).subscribe(removedIds => {});
// listen for a subset of actions
store.query(selectEntityAction([EntityActions.Add, EntityActions.Remove])).subscribe(action => {});
// listen for all actions
store.query(selectEntityAction()).subscribe(action => {});
Alternatives considered
🤔
@NetanelBasal, what do you suggest to implements this new feature ?
In Akita an observable is used to propagate entities event.
However in Elf every mutation functions is a pure function.
Yes. We can exclude the core entity mutations for this benefit and emit the action in each.
import { ofType } from '@ngneat/elf';
import { EntityActions } from '@ngneat/elf-entites';
store.actions$.pipe(ofType(EntityActions.Add)).subscribe()
hi, is there any progress with this issue? it sounds like a very useful addition
This is def a must for us in my current company
https://ngneat.github.io/elf/docs/miscellaneous/entity-events