What's Changed
Breaking changes
- (BREAKING) Migrate from Formik to RHF by @samuelmale in #349
- (BREAKING): Rename form engine to @openmrs/esm-form-engine-lib by @ibacher in #362
- (BREAKING) Adopt OpenMRS' global Expression Runner by @samuelmale in #409
New Features
- (feat) Support for clearing dropdown selection by @samuelmale in #375
- (feat) O3-4137: Add support for nested obsGroup by @usamaidrsk in #427
- (feat) Restore side navigation by @samuelmale in #417
- (feat) O3-4137: Add support for nested
obsGroup
by @usamaidrsk in #421 - (feat) O3-3359: Add ability to clear radio button values by @CynthiaKamau in #344
- (feat) Restore ability to collapse and expand the entire form by @samuelmale in #413
- (feat) Make the label in FormField optional to support Markdown content by @Twiineenock in #411
- (feat) Enhance support for "checkbox" rendering by @samuelmale in #400
- (feat) Implement 'markFormAsDirty' to prompt the user before closing a dirty form by @samuelmale in #364
Bug fixes
- (fix) Update onDateChange function by @NethmiRodrigo in #334
- (fix) O3-3636: Correctly resolve referenced components by @samuelmale in #353
- (fix): Timepicker should have question label by @NethmiRodrigo in #355
- (fix) O3-3397 Fix tooltips alignment in the form by @Art-Ndiema in #351
- (Fix) Ensure clearing slection for ui-extended-select by @ODORA0 in #360
- (fix) O3-3743: Better success message when submitting a form. by @IamMujuziMoses in #363
- (fix) Fix patient banner by @samuelmale in #365
- (fix) Highlight selected options for the multi-select component by @samuelmale in #366
- (fix) parse NumberInput value to Number by @kajambiya in #367
- (fix) Hidden and disabled fields shouldn't be validated on form-submission by @samuelmale in #368
- (fix) Correctly initialise program state fields by @CynthiaKamau in #361
- (fix) Resolve duplicate form registration by @samuelmale in #369
- (fix) Add hide expression condition for number fields by @pirupius in #370
- (fix) Resolve binding issue for the number input by @samuelmale in #372
- (fix) Reactively cascade form field update event by @samuelmale in #373
- (fix) Add hide expression condition for workplace-launcher by @jnsereko in #376
- (fix) fixed bug causing error with repeating render component by @WodPachua in #379
- (fix) O3-3881 - Resolve tooltip not being displayed for the Multicheckbox question by @sainingo in #381
- (fix) O3-3874 Update Filter Logic to Skip Validation for Hidden Fields by @kajambiya in #386
- (fix) Report unhandled form submission errors by @samuelmale in #392
- (fix) Resolve issue with loading previous values by @samuelmale in #378
- (fix) O3-3287: Collapsible Form Pages by @TrevorAntony in #395
- (fix) Throw error when queried form is not found by @samuelmale in #399
- (fix) Propagate Form Context State Changes to the Form Factory Provider by @samuelmale in #402
- (fix) O3-3970 Re-enable readonly fields by @pirupius in #397
- (fix) fixes to formatDate expression and adds tests for built-in expressions helpers by @pirupius in #404
- (fix) Resolve a bug where a NaN value causes an infinite re-render cycle in the Number input by @samuelmale in #406
- (fix) Revive search functionality in "ui-select-ext" components by @samuelmale in #403
- (fix) Evaluate calculate expressions after general form field initialization by @pirupius in #407
- (fix) Use unique React keys in the multi-select component by @samuelmale in #410
- (fix) O3-4064 - Enhance Support for Marking Fields as Unspecified by @samuelmale in #412
- (fix) Await for async calculate expressions to resolve at initialisation by @samuelmale in #415
- (fix) Render date readonly same as view mode by @pirupius in #416
- (fix) Resolve Error in JavaScript Expression Validation by @samuelmale in #418
- (fix) Enable Hiding of Sections and Pages by @samuelmale in #420
- (fix)O3-4137: Remove redundant obs group transformation by @usamaidrsk in #424
- (fix) Validate and transform calculated value(s) by @samuelmale in #425
- (fix) Remove deleted field from the form context by @samuelmale in #428
- (fix) Make extraction of the calculated value null safe by @pirupius in #430
- (fix) Properly sanitize and initialize cloned fields by @samuelmale in #429
- (fix) Historical value extractor should support FHIR obs by @samuelmale in #432
- (fix) Form Context Field Visibility Not Updating Correctly by @samuelmale in #433
- (fix) Update obs group state when a group member changes by @samuelmale in #437
- (fix) Improve Form Field Value Initialization and Performance by @samuelmale in #436
Tests
- (test):Common utils test coverage by @gitcliff in #339
- (test) Fix failing tests by removing partial framework mocks by @denniskigen in #359
- (test) Auto-clear jest mocks by @denniskigen in #414
- (tests) O3-3943: Add test coverage for the useInitialValues hook by @usamaidrsk in #377
- (test) O3-3937 Add test coverage around form readonly mode by @CynthiaKamau in #401
- (tests) O3-3930 Add test coverage for the RadioInput component by @CynthiaKamau in #384
- (test) O3-3925 Add test coverage for the ProgramStateAdapter by @CynthiaKamau in #398
- (test) Enable MultiSelect component test suite by @gabriel090 in #396
- (test) Enable TextInput component test suite by @CynthiaKamau in #388
- (test) Add test coverage for the NumberField component by @gabriel090 in #387
- (test) O3-3922: Enable form-engine component test suite by @usamaidrsk in #383
- (test) Add unit tests for the obs adapter by @samuelmale in #391
Housekeeping
- (chore) Release v3.0.0 by @samuelmale in #434
- (chore) Add invalid and warn props to Timepicker by @NethmiRodrigo in #352
- (chore) Fix cyclic refs in the encounter form processor by @samuelmale in #380
- (chore) Move getFieldControlWithFallback to registry by @samuelmale in #382
- (chore) Bump to Yarn 4.5.0 by @pirupius in #405
New Contributors
- @Art-Ndiema made their first contribution in #351
- @IamMujuziMoses made their first contribution in #363
- @jnsereko made their first contribution in #376
- @sainingo made their first contribution in #381
- @gabriel090 made their first contribution in #387
- @TrevorAntony made their first contribution in #395
- @Twiineenock made their first contribution in #411
Full Changelog: v2.1.0...3.0.0