UI: Update to Angular 16
This PR targets the version update to Angular 16. Relevant documents:
- https://update.angular.io/?v=15.0-16.0
- https://angular.io/guide/update-to-version-16
- https://ionicframework.com/docs/updating/7-0 (optional)
Current blockers are:
-
ngx-spinner - but that will change soon https://github.com/Napster2210/ngx-spinner/issues/258
-
ng2-charts - we are still on 2.9.4, which is incompatible with Angular Ivy https://www.chartjs.org/docs/latest/migration/v3-migration.html
- PR: #2392
-
angular-mydatepicker - is also not compatible with Ivy and seems to be unmaintained: https://github.com/kekeh/angular-mydatepicker/issues/116
-
Refactoring of widgets before going to migrate:
- Consumption
- Grid
- FixDigitaloutput
- SingleThreshold
- Storage ....
Features:
- https://github.com/OpenEMS/openems/pull/2287#issuecomment-1695747282
TODO
- ng2-charts update to version 5 necessary Compatibility
@lukasrgr: FYI. Will use this PR to join efforts
@sfeilmeier we could have saved some resources and time, if you had told me earlier, that you wanted it to do like this =)
@sfeilmeier the best procedure would be updating chartjs and ng2 charts seperately from this PR, what do you think?
@lukasrgr Sometimes I just still like to write some code myself :-). I agree, the other tasks (chartjs + replacement for datepicker) should be done in separate PRs. Just started this PR to track the general process.
Before updating angular, first whole history has to be refactored, to make the transition easier.
Angular 16 currently does not support chartjs
Referencing this helpful comment by @Byonnem
https://community.openems.io/t/recommended-angular-version-date-19-06-2023/1677