Overview
-
webclients integrated into monorepo:
- client-axioma (main)
- client-journal ( Bürgerbereich crap which should die )
- client-officevorlagen-addin
-
core: contains legacy components ( not maintained, eol )
-
core-next: angular 17+ with standalone components, signals and all the other cool kinds
The big idea is that the backend ( in wizards and stuff ) creates the html templates.
The angular jit compiles the template during runtime (SSR ?)
NgComponentOutlet performs the rendering
Template Directives
Contains some trackings to autoupdate loaded entities
Outlet pattern
Everything is part of some outlet. LayoutOutlet -> Entity detail pages WidgetOutlet -> Dashboard Widgets TreeOutlet -> Hierarchical trees AssocOutlet -> Assocfield lists PreviewOutlet -> Search result preview
State
- NgRx(core): Global store for security, layout cache, entityCache and stuff
- ComponentStore(core-next): Scoped state ( eg wizard ) which caches only during the lifetime
- Signals: Well angular singals, Form updates and stuff
Questions
pnpm
pnpm should be used for monorepo. Why dont we do this already ?
Check a bit later
-
entity-store-selector can pipe an objguid and receive the whole object which is up-to-date because of push. Abdu showed some very sexy syntax. The entityStore is the single source of truth
-
NgDeepapparently for css overwriting stuff