<?php

return gridFilterSchema([
    'query' => [
        'search' => ['type' => 'string'],
        'status' => ['type' => 'string', 'default' => 'all'],
        'category' => ['type' => 'string', 'default' => 'all'],
        'ticket_state' => ['type' => 'string', 'default' => 'all'],
    ],
    'toolbar' => [
        [
            'key' => 'search',
            'type' => 'text',
            'label' => 'Search',
            'placeholder' => 'Search updates...',
            'input_id' => 'helpdesk-updates-search-input',
            'search' => true,
            'query' => ['type' => 'string'],
        ],
        [
            'key' => 'status',
            'type' => 'select',
            'label' => 'Status',
            'input_id' => 'helpdesk-updates-status-filter',
            'default' => 'all',
            'normalize' => 'all_to_empty',
            'allowed' => [
                ['id' => 'all', 'description' => 'All'],
                ['id' => 'open', 'description' => 'Unassigned'],
                ['id' => 'assigned', 'description' => 'Assigned'],
            ],
            'label_attributes' => ['data-filter-optional' => true],
        ],
        [
            'key' => 'category',
            'type' => 'select',
            'label' => 'Type',
            'input_id' => 'helpdesk-updates-category-filter',
            'default' => 'all',
            'normalize' => 'all_to_empty',
            'allowed' => [
                ['id' => 'all', 'description' => 'All'],
                ['id' => 'UPDATE', 'description' => 'Update'],
                ['id' => 'UPDATE-HF', 'description' => 'Hotfix'],
            ],
            'label_attributes' => ['data-filter-optional' => true],
        ],
        [
            'key' => 'ticket_state',
            'type' => 'select',
            'label' => 'Ticket status',
            'input_id' => 'helpdesk-updates-ticket-state-filter',
            'default' => 'all',
            'normalize' => 'all_to_empty',
            'allowed' => [
                ['id' => 'all', 'description' => 'All'],
                ['id' => 'Offen', 'description' => 'Open'],
                ['id' => 'In Bearbeitung', 'description' => 'In progress'],
                ['id' => 'Erledigt', 'description' => 'Resolved'],
                ['id' => 'Geschlossen', 'description' => 'Closed'],
            ],
            'label_attributes' => ['data-filter-optional' => true],
        ],
    ],
]);
