Skip to content
Snippets Groups Projects

Issue #3498889: Add component source plugin

1 file
+ 24
1
Compare changes
  • Side-by-side
  • Inline
@@ -246,7 +246,7 @@ experience_builder.component_tree:
experience_builder.component_source_settings.sdc:
constraints:
FullyValidatable: ~
type: mapping
type: experience_builder.generated_field_explicit_input_ux.sdc
label: 'SDC component settings'
mapping:
# @see \Drupal\Core\Plugin\Component::$machineName
@@ -261,6 +261,14 @@ experience_builder.component_source_settings.sdc:
PluginExists:
manager: plugin.manager.sdc
interface: 'Drupal\Core\Plugin\PluginBase'
# @see \Drupal\experience_builder\Plugin\ExperienceBuilder\ComponentSource\GeneratedFieldExplicitInputUxTrait
experience_builder.generated_field_explicit_input_ux.sdc:
constraints:
FullyValidatable: ~
type: mapping
label: 'Baseline component settings for ComponentSource plugins that use GeneratedFieldExplicitInputUxTrait'
mapping:
prop_field_definitions:
type: sequence
orderby: key
@@ -312,6 +320,21 @@ experience_builder.component_source_settings.sdc:
# @todo Add `StructuredDataPropExpression` validation constraint that fails if StructuredDataPropExpression::fromString() fails
# StructuredDataPropExpression: [field_type]
experience_builder.component_source_settings.js:
constraints:
FullyValidatable: ~
type: experience_builder.generated_field_explicit_input_ux.sdc
label: 'Code component settings'
mapping:
# This is actually not a plugin ID, but the ID of a JavaScriptComponent config entity. But as far as config schema
# validation is concerned, it may as well be.
plugin_id:
type: string
label: 'Component ID'
constraints:
ConfigExists:
prefix: experience_builder.js_component.
# 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
# - Block config entities have visibility conditions that determines the visibility of that particular "placed block", Block-Plugins-as-XB-Components do not
Loading