Copy and paste (or move) StreamField blocks into different pages/fields.
Is your proposal related to a problem?
There is currently a "Duplicate" which allows duplicating content of a StreamField blocks into the same hierarchy. It would be nice if it was possible to "copy" a StreamField block data into another page.. Or extract it from a page into a snippet. obviously the target StreamField would have to support the same block types.
I often have the problem that a user worked on some content for a while and I later want to introduce a different nesting or extract it into a separate snippet. Right now the only solution would be to manually recreate all the content. I guess I could just extract the JSON data from the database. But it would be nice if there would be a UI.
Describe the solution you'd like
In addition to a "Duplicate" button a "Copy" button which would copy the json data from one field, and allows to paste it into a different StreamField which has the same blocks configuration.
Working on this
This requires a fair bit of UI expertise. The block chooser itself is built with React. View our contributing guidelines, add a comment to the issue once you’re ready to start.
Tasks
- Complete feedback process in #12354
- Final decision between modern Clipboard API and execCommand (1h)
- Implement a first UX prototype with basic copy-paste support (3h)
- Review overlap with client-side validation rules (block counts min/max, possibly required blocks) (1h)
- Implement production-ready version with UX changes and SF data model (8h)
- Release notes (TBC feature sponsor?) (1h)
Source: wagtail/wagtail