-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Preamble
Changes to this library (which I'll refer to as ngx-formentry for clarity here) must be kept in lockstep with changes to:
- File uploader - an Angular library that the Form Engine consumes to leverage image and PDF upload capabilities.
- Form entry app - an Angular library in the O3 Patient Chart that consumes this library.
Housekeeping
ngx-formentry
Per Angular's version compatibility guide, v14 is currently the oldest supported version. Beyond leveraging potential API improvements, migrating Angular to v14 would offer us several immediate benefits, including support for newer TypeScript versions. Most things in the Patient Chart rely on TypeScript versions newer than v4.7. Angular v14.2.x depends on TypeScript versions between the >=4.6.2 <4.9.0 range. Bumping to v14 should help us get closer to a point where we don't need to manage different versions of TypeScript or rely on having resolutions in our manifest files.
- Upgrade Angular
- Bump Angular to v14 (chore) Bump Angular to v14 #88
- Bump Angular to v15
- Bump Angular to v16
- Bump Angular to v17
- Update type annotations.
- Review the validation engine.
- Evaluate the feasibility of leveraging Lit Element components as embedded components.
- Figure out how to optimally leverage the module federation capabilities of the ModuleFederationPlugin we're using in Patient Chart. The custom webpack config we're using should also be optimized in line with the latest API changes.
Form entry app
- Upgrade Angular
- Bump Angular to v15
- Bump Angular to v16
- Bump Angular to v17
- Bump single-spa-angular to v9
File uploader
Updates to the form entry library must be kept in lockstep with the file uploader library.
- Move the library to the OpenMRS organization on GitHub https://github.com/openmrs/openmrs-ngx-file-uploader
- Publish to NPM under the @openmrs scope https://www.npmjs.com/package/@openmrs/ngx-file-uploader
- Angular upgrades
- Upgrade Angular to v14
- Upgrade Angular to v15
- Upgrade Angular to v16
- Bump Angular to v17
Feature work
ngx-formentry
- Migrate from @carbon/styles to carbon-components-angular.
- Autoscroll to the top of the viewport after clicking on a page in the form UI.
- Evaluate the possibility of adding an alternative renderer to the Form Builder that leverages this library.
- Develop the next iteration of designs for the form UI.
File uploader
- Fix UI issues
- Leverage Carbon components
Bug fixes
ngx-formentry
- Fix an issue where the custom webpack config in the
esm-form-entryapp in the Patient chart won't let you run a dev server usingyarn serve - Fix an issue where the Combobox / Select and DatePicker Carbon components don't render correctly.
Performance
- Investigate issues leading to slow initial load times in the Patient Chart - it appears that these apparent slow downs are primarily owing to network latency.
Testing
- Protractor is deprecated. Evaluate Cypress as a replacement. Ultimately, feature work should be backed by a reliable end-to-end test suite.
a11y
- Form labels should be accessible.
i18n
- Integrate Transifex resources