FIO-9217 Fix: allow moment.js datetime custom default values in calendar widget-text field components #5907
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Link to Jira Ticket
https://formio.atlassian.net/browse/FIO-9217
Description
When attempting to populate a text field component with a calendar widget with a custom default value that is a moment.js datetime the value eventually renders as empty string after initially rendering as the correct value. For some reason the default mask in component.js was being set to an empty array in this scenario.
What changed?
Check for empty array in component.js to avoid erroneously setting the default value to an empty string.
Why have you chosen this solution?
It was minimally invasive and is a check that should be in place already. If we don't have any masks in the default masks array, we don't want to treat it like we do have a mask. Empty arrays in JS evaluate as true, but we only want to execute the code if we actually have a mask. It's also worth noting that I believe the empty default mask array was being created in
TextField.js
'ssetInputMask
method.Breaking Changes / Backwards Compatibility
n/a
Dependencies
n/a
How has this PR been tested?
Manual + automated
Checklist: