Open
Description
Which @ngrx/* package(s) are the source of the bug?
data
Minimal reproduction of the bug/regression with instructions
Before #3228 @ngrx/data provided an option to query if the local Entity-cache already contains a snapshot of every entity trough the ˙loaded
flag.
Although the naming was a bit off, after #3228 there is no option to determine if every entity is loaded or if the store only contains partial data.
What makes this as a bug: Since V8 (ngrx/data introduced) this property was not changed in the documentation (see: https://v8.ngrx.io/guide/data/entity-collection, https://ngrx.io/guide/data/entity-collection (v16)).
Expected behavior
loaded
flag only gets true when QueryAll successfully executed and the data patched back to the state.
Versions of NgRx, Angular, Node, affected browser(s) and operating system(s)
NgRx: 13.0
Other information
My suggested alternative solution is:
- add a new loadedType: partial / full / not_loaded flag and fill it / introduce a simple boolean allLoaded as smorandi suggested in
getWithQuery
method should setloaded
property to true #3165 in the original issue comments - customize the behavior in EntityDataModuleConfig and create an option to revert to the old behavior for everyone who upgrades from v12 does not have to re-write the whole cache-logic, but make it deprecated to indicate this is not the intended use
- fix the documentation, clearly state what
loaded
flag means in the new context, reflect on the fact that the behaviur was changed in v13 - include the alternative solutions in the docs that replaces / restores the previous functionality and a deprecation notice as it will be removed in the next 1-2-3 version.
I would be willing to submit a PR to fix this issue
- Yes
- No