services:
  _defaults:
    autoconfigure: true

  wem.form_data_manager.data_container.form:
    class: WEM\ContaoFormDataManagerBundle\DataContainer\Form
    public: true

  wem.form_data_manager.data_container.form_storage:
    class: WEM\ContaoFormDataManagerBundle\DataContainer\FormStorage
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.data_container.form_storage_data:
    class: WEM\ContaoFormDataManagerBundle\DataContainer\FormStorageData
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.classes.dca.field.callback.load.tl_wem_form_storage_data.value:
    class: WEM\ContaoFormDataManagerBundle\Classes\Dca\Field\Callback\LoadConditionnal
    arguments:
      $pdmCallback: '@wem.personal_data_manager.dca.field.callback.load'
      $frontendField: 'value'
      $table: 'tl_wem_form_storage_data'
    public: true

  wem.form_data_manager.classes.dca.field.callback.save.tl_wem_form_storage_data.value:
    class: WEM\ContaoFormDataManagerBundle\Classes\Dca\Field\Callback\SaveConditionnal
    arguments:
      $pdmCallback: '@wem.personal_data_manager.dca.field.callback.save'
      $frontendField: 'value'
      $table: 'tl_wem_form_storage_data'
    public: true

  wem.form_data_manager.listener.personal_data_ui:
    class: WEM\ContaoFormDataManagerBundle\EventListener\PersonalDataManager\UiListener
    arguments:
      $translator: '@contao.translation.translator'
      $personalDataManagerUi: '@wem.personal_data_manager.service.personal_data_manager_ui'
    public: true

  wem.form_data_manager.listener.personal_data_csv_formatter:
    class: WEM\ContaoFormDataManagerBundle\EventListener\PersonalDataManager\CsvFormatterListener
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.listener.personal_data_export:
    class: WEM\ContaoFormDataManagerBundle\EventListener\PersonalDataManager\ExportListener
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.listener.personal_data_anonymize:
    class: WEM\ContaoFormDataManagerBundle\EventListener\PersonalDataManager\AnonymizeListener
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.listener.personal_data_manager:
    class: WEM\ContaoFormDataManagerBundle\EventListener\PersonalDataManager\ManagerListener
    arguments:
      $translator: '@contao.translation.translator'
    public: true

  wem.form_data_manager.listener.process_form_data:
    class: WEM\ContaoFormDataManagerBundle\EventListener\ProcessFormDataListener
    arguments:
      $routingCandidates: '@contao.routing.locale_candidates'
    public: true

  wem.form_data_manager.listener.compile_form_fields:
    class: WEM\ContaoFormDataManagerBundle\EventListener\CompileFormFieldsListener
    public: true

  wem.form_data_manager.listener.send_notification_message:
    class: WEM\ContaoFormDataManagerBundle\EventListener\SendNotificationMessageListener
    public: true

  wem.form_data_manager.backend.backend_controller:
    class: WEM\ContaoFormDataManagerBundle\Backend\BackendController
    arguments:
      $translator: '@contao.translation.translator'
    public: true