services:
    _defaults:
        autoconfigure: true
    overpass.api:
        class: Violution\MaterialMap\Classes\Input\OverpassApi
    Violution\MaterialMap\Classes\Controller\MapServiceController:
        public: true
        arguments:
            - '@contao.framework'
            - '@?logger'
    Violution\MaterialMap\Classes\Controller\CoordinatesServiceController:
        public: true
        arguments:
            - '@overpass.api'
    Violution\MaterialMap\EventListener\CoordinatesOptionsListener:
        tags:
            - {name: contao.callback, table: tl_tu_kartendaten, target: fields.coordinates.options, priority: 100 }
        arguments:
            - '@overpass.api'
    Violution\MaterialMap\EventListener\VioMaterialGroupSaveCallback:
        tags:
            - { name: contao.callback, table: tl_tu_materialgruppe, target: fields.pid.save,  priority: 100 }
    Violution\MaterialMap\EventListener\VioMaterialGroupOptionsCallback:
        tags:
            - { name: contao.callback, table: tl_tu_produkt, target: fields.materialgruppe.options,  priority: 100 }
            - { name: contao.callback, table: tl_tu_produkt, target: fields.materialgruppe_2.options,  priority: 100 }
            - { name: contao.callback, table: tl_tu_produkt, target: fields.materialgruppe_3.options,  priority: 100 }
    Violution\MaterialMap\EventListener\VioMaterialGroupOnLoadCallback:
        tags:
            - { name: contao.callback, table: tl_tu_materialgruppe, target: config.onload,  priority: 100 }
    Violution\MaterialMap\EventListener\VioProductLabelCallbackListener:
        tags:
            - { name: contao.callback, table: tl_tu_produkt, target: list.label.label,  priority: 100 }
    Violution\MaterialMap\Module\FrontendKarte:
        tags:
            - { name: contao.content_element, category: vio_tu_material_map, template: 'mod_frontendkarte' }