{#
 # ---------------------------------------------------------------------
 #
 # GLPI - Gestionnaire Libre de Parc Informatique
 #
 # http://glpi-project.org
 #
 # @copyright 2015-2025 Teclib' and contributors.
 # @licence   https://www.gnu.org/licenses/gpl-3.0.html
 #
 # ---------------------------------------------------------------------
 #
 # LICENSE
 #
 # This file is part of GLPI.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 #
 # ---------------------------------------------------------------------
 #}

{% import 'components/form/fields_macros.html.twig' as fields %}

{% extends 'pages/admin/form/question_type/base_advanced_configuration.html.twig' %}

{% set rand = random() %}

{% block dropdown_content %}
    <div data-glpi-form-editor-item-dropdown-advanced-configuration="{{ rand }}">
        {{ fields.dropdownField(
            itemtype,
            'extra_data[root_items_id]',
            root_items_id|default(0),
            __('Subtree root'),
            {
                'full_width'         : true,
                'is_horizontal'      : false,
                'init'               : question is not null ? true : false,
                'display_emptychoice': false,
                'toadd'              : {
                    '-1': constant('Dropdown::EMPTY_VALUE')
                }
            }
        ) }}
        {{ fields.numberField(
            'extra_data[subtree_depth]',
            subtree_depth|default(0),
            __('Limit subtree depth'),
            {
                'full_width'   : true,
                'is_horizontal': false,
                'min'          : 0,
                'max'          : 16,
                'step'         : 1,
            }
        ) }}
        {{ fields.sliderField(
            'extra_data[selectable_tree_root]',
            selectable_tree_root|default(false) ? 1 : 0,
            __('Make tree root selectable'),
            {
                'full_width'           : false,
                'is_horizontal'        : true,
                'align_label_right'    : false,
                'inline_add_field_html': true,
                'field_class'          : 'col-12 ms-0 me-0',
                'label_class'          : 'col-10 p-0',
                'input_class'          : 'col-2 p-0 justify-content-end',
                'mb'                   : 'mb-0',
            }
        ) }}

        <script>
            import("/js/modules/Forms/ItemAdvancedConfig.js").then((m) => {
                new m.GlpiFormItemAdvancedConfig({{ common_tree_dropdowns|keys|json_encode|raw }}).updateAdvancedConfigVisibility(
                    $('[data-glpi-form-editor-item-dropdown-advanced-configuration="{{ rand }}"]'),
                    '{{ itemtype }}'
                );
            });
        </script>
    </div>
{% endblock %}
