services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  B13\Container\:
    resource: '../Classes/*'
    exclude:
      - '../Classes/Domain/Model/*'
      - '../Classes/Backend/Grid/*'
      - '../Classes/Integrity/Error/*'
      - '../Classes/Tca/ContainerConfiguration.php'
      - '../Classes/**/Exception.php'

  B13\Container\Tca\Registry:
    public: true
  B13\Container\Backend\Preview\GridRenderer:
    arguments:
      $runtimeCache: '@cache.runtime'
  B13\Container\Backend\Preview\ContainerPreviewRenderer:
    public: true
    arguments:
      $runtimeCache: '@cache.runtime'
  B13\Container\Hooks\UsedRecords:
    public: true
  B13\Container\Hooks\Datahandler\CommandMapAfterFinishHook:
    public: true
  B13\Container\Hooks\Datahandler\CommandMapBeforeStartHook:
    public: true
  B13\Container\Hooks\Datahandler\CommandMapPostProcessingHook:
    public: true
  B13\Container\Hooks\Datahandler\DatamapBeforeStartHook:
    public: true
  B13\Container\Hooks\Datahandler\DatamapPreProcessFieldArrayHook:
    public: true
  B13\Container\Hooks\Datahandler\DeleteHook:
    public: true
  B13\Container\ContentDefender\Hooks\ColumnConfigurationManipulationHook:
    public: true
  B13\Container\DataProcessing\ContainerProcessor:
    public: true
    tags:
      - { name: 'data.processor', identifier: 'container' }
  B13\Container\Updates\ContainerMigrateSorting:
    public: true
  B13\Container\Updates\ContainerDeleteChildrenWithWrongPid:
    public: true
  B13\Container\Tca\ItemProcFunc:
    public: true

  B13\Container\Listener\RecordSummaryForLocalization:
    tags:
      - name: event.listener
        identifier: 'tx-container-record-summary-for-localization'
  B13\Container\Listener\ContentUsedOnPage:
    tags:
      - name: event.listener
        identifier: 'tx-container-content-used-on-page'
  B13\Container\Listener\ModifyNewContentElementWizardItems:
    tags:
      - name: event.listener
        identifier: 'tx-container-new-content-element-wizard'
  B13\Container\Listener\LegacyPageTsConfig:
    tags:
      - name: event.listener
        identifier: 'tx-container-legacy-page-ts-config'
  B13\Container\Listener\PageTsConfig:
    tags:
      - name: event.listener
        identifier: 'tx-container-page-ts-config'
  B13\Container\Listener\BootCompleted:
    tags:
      - name: event.listener
        identifier: 'tx-container-boot-completed'
  B13\Container\Listener\PageContentPreviewRendering:
    tags:
      - name: event.listener
        identifier: 'tx-container-page-content-preview-rendering'
        before: 'typo3-backend/fluid-preview/content'
  B13\Container\Command\FixLanguageModeCommand:
    tags:
      - name: 'console.command'
        command: 'container:fixLanguageMode'
        schedulable: false
        description: connect children of connected container if possible, else disconnect container
  B13\Container\Command\FixContainerParentForConnectedModeCommand:
    tags:
      - name: 'console.command'
        command: 'container:fixContainerParentForConnectedMode'
        schedulable: false
        description: tx_container_parent of children in connected mode should point to default language container
  B13\Container\Command\DeleteChildrenWithWrongPidCommand:
    tags:
      - name: 'console.command'
        command: 'container:deleteChildrenWithWrongPid'
        schedulable: false
        description: delete all child records with pid neq containers pid
  B13\Container\Command\DeleteChildrenWithNonExistingParentCommand:
    tags:
      - name: 'console.command'
        command: 'container:deleteChildrenWithNonExistingParent'
        schedulable: false
        description: delete all child records with a non existing parent record (they are displayed as unsued)
  B13\Container\Command\IntegrityCommand:
    tags:
      - name: 'console.command'
        command: 'container:integrity'
        schedulable: true
        description: Checks integrity of containers
  B13\Container\Command\SortingCommand:
    tags:
      - name: 'console.command'
        command: 'container:sorting'
        schedulable: false
        description: Resort Content Elements
  B13\Container\Command\SortingInPageCommand:
    tags:
      - name: 'console.command'
        command: 'container:sorting-in-page'
        schedulable: false
        description: Resort Content Elements
