Migrates Angular constructor-based dependency injection to the
`inject()` function. The initial pass used the Angular schematic;
manual follow-up handled abstract classes, inheritance-sensitive
constructors, and call sites that still instantiate services
directly.
Schematic command:
cd frontend && npx ng generate @angular/core:inject-migration \
--path ./ \
--migrate-abstract-classes \
--backwards-compatible-constructors=false \
--non-nullable-optional=false
https://community.openproject.org/wp/74950
Trying to get it slightly more aligned with expectable content:
* one large box with a blank slate
* two small boxes that are collapsed
This is essentially a default assumption. It might be wrong in
some setups, but it's better than the previous skeleton that didn't
match the eventual layout slightly.
- needed to tell IDEs to lookup the lookup paths
- doesn't affect build, as the `tsconfig.json` in the module directory
should be ignored by esbuild of the core app.
Effectively we only want to allow disabling the internal wiki
for now, but we'll have to answer certain usability questions
on what happens when a provider is deleted/disabled anyways, so
we'll make it technically possible to disable any provider, even
if we might not offer it for all of them out of the box.
The most likely starting scenario to have no wikis tab is that
the internal wikis are disabled and no external wiki is configured.