diff --git a/src/Resolver/LayoutContextEntityResolver.php b/src/Resolver/LayoutContextEntityResolver.php new file mode 100644 index 0000000000000000000000000000000000000000..2f1ecc4afd5c67d494950c31969dd3283149891a --- /dev/null +++ b/src/Resolver/LayoutContextEntityResolver.php @@ -0,0 +1,42 @@ +getContextValue() : NULL; + if ($form_state) { + $form_object = $form_state->getFormObject(); + + if ($form_object instanceof EntityViewDisplayEditForm) { + $entity_view_display = $form_object->getEntity(); + if ($entity_view_display instanceof EntityViewDisplay) { + return $this->sampleEntityGenerator->get($entity_view_display->getTargetEntityTypeId(), $entity_view_display->getTargetBundle()); + } + } + } + + return NULL; + } + +} diff --git a/ui_patterns.services.yml b/ui_patterns.services.yml index 617aff4260b31c560ea1b9509fd2c32ae43641f3..3e9298ffa273a39d9bd374effc2758277eeae58c 100644 --- a/ui_patterns.services.yml +++ b/ui_patterns.services.yml @@ -97,6 +97,12 @@ services: tags: - { name: service_collector, call: addResolver, tag: ui_patterns.context_entity_resolver } + ui_patterns.layout_context_entity_resolver: + class: Drupal\ui_patterns\Resolver\LayoutContextEntityResolver + arguments: ['@ui_patterns.sample_entity_generator'] + tags: + - { name: ui_patterns.context_entity_resolver } + ui_patterns.normalizer: class: Drupal\ui_patterns\UiPatternsNormalizer arguments: ["@renderer"]