eca-1.0.x-dev/eca.services.yml
eca.services.yml
services:
eca.state:
class: Drupal\eca\EcaState
parent: state
arguments:
- '@datetime.time'
eca.processor:
class: Drupal\eca\Processor
arguments:
- '@entity_type.manager'
- '@logger.channel.eca'
- '@event_dispatcher'
- '@plugin.manager.eca.event'
- '@state'
- '%eca.max_recursion_level%'
logger.channel.eca:
parent: logger.channel_base
arguments:
- 'eca'
eca.configurable_logger_channel:
class: Drupal\eca\ConfigurableLoggerChannel
decorates: logger.channel.eca
arguments:
- 'eca'
- '@eca.configurable_logger_channel.inner'
- '@config.factory'
- '@module_handler'
eca.dynamic_subscriber:
class: Drupal\eca\EventSubscriber\DynamicSubscriber
plugin.manager.eca.event:
class: Drupal\eca\PluginManager\Event
parent: default_plugin_manager
plugin.manager.eca.condition:
class: Drupal\eca\PluginManager\Condition
parent: default_plugin_manager
plugin.manager.eca.action:
decorates: plugin.manager.action
parent: plugin.manager.action
class: Drupal\eca\PluginManager\Action
calls:
- [setDecoratedActionManager, ['@plugin.manager.eca.action.inner']]
- [setEntityTypeManager, ['@entity_type.manager']]
eca.service.action:
class: Drupal\eca\Service\Actions
arguments:
- '@plugin.manager.eca.action'
- '@logger.channel.eca'
- '@entity_type.manager'
- '@eca.token_services'
- '@extension.list.module'
eca.service.condition:
class: Drupal\eca\Service\Conditions
arguments:
- '@plugin.manager.eca.condition'
- '@logger.channel.eca'
- '@entity_type.manager'
- '@language_manager'
- '@eca.service.token'
- '@extension.list.module'
eca.service.event:
class: Drupal\eca\Service\Events
arguments:
- '@plugin.manager.eca.event'
- '@logger.channel.eca'
- '@extension.list.module'
eca.service.yaml_parser:
class: Drupal\eca\Service\YamlParser
arguments:
- '@eca.token_services'
eca.service.content_entity_types:
class: Drupal\eca\Service\ContentEntityTypes
arguments:
- '@entity_type.manager'
- '@entity_type.bundle.info'
eca.service.dependency_calculation:
class: Drupal\eca\Service\DependencyCalculation
arguments:
- '@entity_type.manager'
- '@entity_type.bundle.info'
- '@entity_field.manager'
- '@eca.token_services'
- '@config.factory'
eca.trigger_event:
class: Drupal\eca\Event\TriggerEvent
arguments:
- '@plugin.manager.eca.event'
- '@event_dispatcher'
eca.token_services:
class: Drupal\eca\Token\TokenServices
arguments:
- '@eca.service.token'
- '@token'
eca.service.token:
decorates: token
parent: token
class: Drupal\eca\Token\CoreToken
calls:
- [setDecoratedToken, ['@eca.service.token.inner']]
- [setEventDispatcher, ['@event_dispatcher']]
tags:
- { name: service_collector, tag: eca.token_data_provider, call: addTokenDataProvider }
eca.execution.subscriber_parent:
class: Drupal\eca\EventSubscriber\EcaExecutionSubscriberBase
arguments:
- '@entity_type.manager'
- '@eca.service.token'
abstract: true
eca.execution.token_subscriber:
class: Drupal\eca\EventSubscriber\EcaExecutionTokenSubscriber
parent: eca.execution.subscriber_parent
tags:
- { name: event_subscriber }
eca.execution.general_subscriber:
class: Drupal\eca\EventSubscriber\EcaExecutionGeneralSubscriber
parent: eca.execution.subscriber_parent
tags:
- { name: event_subscriber }
eca.execution.form_subscriber:
class: Drupal\eca\EventSubscriber\EcaExecutionFormSubscriber
parent: eca.execution.subscriber_parent
tags:
- { name: event_subscriber }
eca.execution.switch_account_subscriber:
class: Drupal\eca\EventSubscriber\EcaExecutionSwitchAccountSubscriber
parent: eca.execution.subscriber_parent
calls:
- [setAccountSwitcher, ['@account_switcher']]
- [setLoggerChannel, ['@logger.channel.eca']]
- [initializeUser, ['@config.factory', '@current_user']]
tags:
- { name: event_subscriber }
eca.token_data.current_user:
class: Drupal\eca\Token\CurrentUserDataProvider
arguments:
- '@current_user'
- '@entity_type.manager'
tags:
- { name: eca.token_data_provider, priority: -100 }
eca.token_data.context:
class: Drupal\eca\Token\ContextDataProvider
tags:
- { name: eca.token_data_provider, priority: -50 }
# Fix autowiring for Hooks.
Drupal\Core\Logger\LoggerChannelInterface: '@logger.channel.eca'
Drupal\eca\Event\TriggerEvent: '@eca.trigger_event'
Drupal\eca\PluginManager\Action: '@plugin.manager.eca.action'
Drupal\eca\Service\Actions: '@eca.service.action'
Drupal\eca\Service\Conditions: '@eca.service.condition'
Drupal\eca\Service\ContentEntityTypes: '@eca.service.content_entity_types'
Drupal\eca\Token\TokenServices: '@eca.token_services'
parameters:
eca.max_recursion_level: 1
# Override following parameter as blank to disable documentation links at all.
eca.default_documentation_domain: "https://ecaguide.org"
eca.skip_procedural_hook_scan: true
