Expose view sources forms in SourceInterface::settingsForm()

Created on 29 June 2025, 8 days ago

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 [1.0.0-alpha1] Make Island plugins configurable Active , 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})

Feature request
Status

Active

Version

1.0

Component

display_builder_views

Created by

🇫🇷France pdureau Paris

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024