- Issue created by @Gรกbor Hojtsy
- ๐ญ๐บHungary Gรกbor Hojtsy Hungary
Postponed on ๐ Make webform blocks (block.webform.block:*) fully validatable so they can be used in Experience Builder Active .
- ๐ญ๐บHungary Gรกbor Hojtsy Hungary
@penyaskito tricked XB to allowing the block with the following:
block.settings.webform_block: type: block_settings label: 'Webforms block' constraints: FullyValidatable: ~
Which is how the block config showed up in XB and the YAML default values storage appeared. Also adding to issue summary.
- ๐ญ๐บHungary Gรกbor Hojtsy Hungary
Added reference to xb transform docs thanks @penyaskito.
- ๐ช๐ธSpain penyaskito Seville ๐, Spain ๐ช๐ธ, UTC+2 ๐ช๐บ
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Added reference to xb transform docs thanks @penyaskito.
That's for Redux-integrated field widgets. See
docs/redux-integrated-field-widgets.md
.XB's
block
ComponentSource
doesn't use field widgets for their input UX; it uses block plugins' existing\Drupal\Core\Block\BlockPluginInterface::blockForm()
.AFAICT this should not need anything else. What exactly is not working?
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Note; there are lots of remaining
@todo
s forblock
-sourced components โ gathered this list by grepping https://www.drupal.org/project/experience_builder/issues/3520484#stable ๐ฑ [META] Production-ready ComponentSource plugins Active for "block":- ๐ ComponentSourceInterface::submitConfigurationForm and validateConfigurationForm are never called Active
- ๐ [PP-1] Implement client-side validation of block settings Active
- ๐ `BlockComponent::validateComponentInput()` allows garbage to pile up Active
- ๐ Auto-saving of blocks needs to handle string-to-bool fixing Active
(all stable blockers, not beta blockers).
Generally speaking, we've only scratched the surface with block plugins, because so few are fully validatable in core. You're likely to run into problems unless the block forms are simple at this time.
- ๐ญ๐บHungary Gรกbor Hojtsy Hungary
@wimleers: the webform block is a generic block. You configure it by setting the webform name in the autocomplete (where the screenshot says "Contact"). Unfortunately while this autocomplete itself works in XB, the data is not stored. If you click away to a different component, click back, it does not persist. Also, the block is not rendered with the webform name picked, so you still have a component that you can only pick out from the layers tab.
I'll try to create a gif or video but while updating to xb 0.4.0, somehow the webform schema fixes do not seem to apply.
- ๐ญ๐บHungary Gรกbor Hojtsy Hungary
@wimleers: video attached. Only schema fixes are applied are ๐ Make webform blocks (block.webform.block:*) fully validatable so they can be used in Experience Builder Active from the current MR.