dev/core#398 FormBuilder: add 'Copy' button #26071
Merged
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.
Overview
Extend the FormBuilder 'repeat' functionality to add a button to create a new item with a copy of the previous item's values.
https://lab.civicrm.org/dev/core/-/issues/3986
The use case here is for creating a set of similar entities where most values are the same.
Before
Can 'Add' a new item
After
Can 'Add' a new item, and also 'Copy' to duplicate the previously entered values:
Click Copy
Then make changes to second entry etc
Technical Details
@colemanw Here's an attempt to produce a 'Copy' button, but it's fairly clueless copy/paste/hack!
This seems to work ok for a simple fieldset as in the screenshots. However, if you create a form for Contact and add the Email block, then the repeat type is 'join' and it fails with duplicates in thengRepeat
, which I think is because ofcloneDeep
Have you come across that before?Also, the 'Copy' button appears whenever the 'Add' one does. Do you think it need separate configuration to allow form builders to specify whether 'Copy' is enabled?
Comments
Anything else you would like the reviewer to note