Skip to content
Snippets Groups Projects

Issue #3498889: Add component source plugin

1 file
+ 7
3
Compare changes
  • Side-by-side
  • Inline
@@ -89,7 +89,7 @@ experience_builder.js_component.*:
type: mapping
mapping:
title:
type: string
type: required_label
label: 'Name'
type:
type: string
@@ -284,6 +284,9 @@ experience_builder.component_source_settings.sdc:
PluginExists:
manager: plugin.manager.sdc
interface: 'Drupal\Core\Plugin\PluginBase'
prop_field_definitions:
constraints:
KeyForEverySdcProp: "%parent.plugin_id"
# The structure that all ComponentSource-specific per-Component config entity settings MUST adhere to. (Because
# the `experience_builder.component_source_settings.*` type's `id` key-value pair assumes `settings.plugin_id` to exist
@@ -316,8 +319,6 @@ experience_builder.generated_field_explicit_input_ux:
prop_field_definitions:
type: sequence
orderby: key
constraints:
KeyForEverySdcProp: "%parent.plugin_id"
sequence:
type: mapping
# For each SDC prop, first a field type must be picked from the list of possible choices provided by \Drupal\experience_builder\ShapeMatcher\FieldForComponentSuggester
@@ -378,6 +379,9 @@ experience_builder.component_source_settings.js:
constraints:
ConfigExists:
prefix: experience_builder.js_component.
prop_field_definitions:
# @todo There must be a key for every `prop` in the corresponding \Drupal\experience_builder\Entity\JavaScriptComponent::$props
constraints: {}
# This is similar to Block config entities, but different:
# - Block config entities are tied to a particular theme + region (and have a weight to convey position in a region), Block-Plugins-as-XB-Components are not
Loading