We've started some work in making a more simplified version of Form.jsx, right now it's a reusable component in the @eeacms/volto-blocks-form addon.
Ideally I'd like to see the following structure:
Form - used by Edit, makes use of metadata form and BlocksForm
BlocksForm - only the "visual" form, split out of Form. It can only edit blocks. This would be a reusable component that can be used in other blocks, such as a "tabs block" or a "columns block" or a "section block". We already have addons like this built on top of this
The drag/drop part would be extracted as a separate reusable component.
All block manipulation bits and buttons should be separate to a "Edit block wrapper" component, so that it can be passed and customized as needed. I see here as candidates: drag handler, block delete button and the block mutation
the block mutation (chooser) should be extracted from the Text block and moved to the Edit block wrapper.
We've started some work in making a more simplified version of Form.jsx, right now it's a reusable component in the
@eeacms/volto-blocks-form
addon.Ideally I'd like to see the following structure: