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_form plugin
  • ViewFooterSource: views/areas plugin(s)
  • ViewHeaderSource: views/areas plugin(s)
  • ViewMoreSource: views/pager plugin
  • ViewPagerSource: views/pager plugin
  • ViewRowsSource: views/style plugin

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})

Command icon 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

pdureau created an issue. See original summary.

pdureau’s picture