comparison core/modules/layout_builder/src/LayoutBuilderServiceProvider.php @ 18:af1871eacc83

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:33:08 +0100
parents 129ea1e6d783
children
comparison
equal deleted inserted replaced
17:129ea1e6d783 18:af1871eacc83
3 namespace Drupal\layout_builder; 3 namespace Drupal\layout_builder;
4 4
5 use Drupal\Core\DependencyInjection\ContainerBuilder; 5 use Drupal\Core\DependencyInjection\ContainerBuilder;
6 use Drupal\Core\DependencyInjection\ServiceProviderInterface; 6 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
7 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency; 7 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency;
8 use Drupal\layout_builder\Normalizer\LayoutEntityDisplayNormalizer;
9 use Symfony\Component\DependencyInjection\ChildDefinition;
8 use Symfony\Component\DependencyInjection\Definition; 10 use Symfony\Component\DependencyInjection\Definition;
9 use Symfony\Component\DependencyInjection\Reference; 11 use Symfony\Component\DependencyInjection\Reference;
10 12
11 /** 13 /**
12 * Sets the layout_builder.get_block_dependency_subscriber service definition. 14 * Sets the layout_builder.get_block_dependency_subscriber service definition.
13 * 15 *
14 * This service is dependent on the block_content module so it must be provided 16 * This service is dependent on the block_content module so it must be provided
15 * dynamically. 17 * dynamically.
16 * 18 *
17 * @internal 19 * @internal
20 * Service providers are internal.
18 * 21 *
19 * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency 22 * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency
20 */ 23 */
21 class LayoutBuilderServiceProvider implements ServiceProviderInterface { 24 class LayoutBuilderServiceProvider implements ServiceProviderInterface {
22 25
29 $definition = new Definition(SetInlineBlockDependency::class); 32 $definition = new Definition(SetInlineBlockDependency::class);
30 $definition->setArguments([ 33 $definition->setArguments([
31 new Reference('entity_type.manager'), 34 new Reference('entity_type.manager'),
32 new Reference('database'), 35 new Reference('database'),
33 new Reference('inline_block.usage'), 36 new Reference('inline_block.usage'),
37 new Reference('plugin.manager.layout_builder.section_storage'),
34 ]); 38 ]);
35 $definition->addTag('event_subscriber'); 39 $definition->addTag('event_subscriber');
36 $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition); 40 $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition);
37 } 41 }
42 if (isset($modules['serialization'])) {
43 $definition = (new ChildDefinition('serializer.normalizer.config_entity'))
44 ->setClass(LayoutEntityDisplayNormalizer::class)
45 // Ensure that this normalizer takes precedence for Layout Builder data
46 // over the generic serializer.normalizer.config_entity.
47 ->addTag('normalizer', ['priority' => 5]);
48 $container->setDefinition('layout_builder.normalizer.layout_entity_display', $definition);
49 }
38 } 50 }
39 51
40 } 52 }