Problem/Motivation
We have a source plugins in display_builder_views:
- ViewAttachmentAfterSource
- ViewAttachmentBeforeSource
- ViewExposedSource
- ViewFeedIconsSource
- ViewFooterSource
- ViewHeaderSource
- ViewMoreSource
- ViewPagerSource
- ViewRowsSource
However, they are not configurable and ViewsUiPatternsSourceBase::settingsForm() displays this message in InstanceFormPanel:
This element must be configured in the corresponding view.
Proposed resolution
Make them configurable (not in the way of #3529067: Make Island plugins configurable, we are talking about Source plugins here, not island plugins), by loading the form from the original plugin:
- ViewExposedSource:
views/exposed_formplugin - ViewFooterSource:
views/areasplugin(s) - ViewHeaderSource:
views/areasplugin(s) - ViewMoreSource:
views/pagerplugin - ViewPagerSource:
views/pagerplugin - ViewRowsSource:
views/styleplugin
Other source plugins can be kept non-configurable because calculated from other view displays:
- ViewAttachmentAfterSource
- ViewAttachmentBeforeSource
- ViewFeedIconsSource
So, for the plugins we are dealing with, do we:
- expose the configuration form of the plugin(s) we have already selected?
- or also allow to select the plugin(s) in the Island form?
The difficulty is to store the config data in the view display itself, so we are staying in sync with what is happening in the "usual" view admin page (/admin/structure/views/view/{view_id}/edit/{display_id})
Issue fork display_builder-3533043
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
pdureau commented