{% form_theme form with ['Parts/edit/edit_form_styles.html.twig', "bootstrap_4_layout.html.twig"] %}

<table class="table table-striped table-sm table-bordered table-responsive-md" id="specifications_table" data-prototype="{% if form.parameters.vars.prototype is defined %}{{ form_widget(form.parameters.vars.prototype)|e('html_attr') }}{% endif %}">
    <thead>
        <tr>
            <th>{% trans %}specifications.property{% endtrans %}</th>
            <th>{% trans %}specifications.symbol{% endtrans %}</th>
            <th>{% trans %}specifications.value_min{% endtrans %}</th>
            <th>{% trans %}specifications.value_typ{% endtrans %}</th>
            <th>{% trans %}specifications.value_max{% endtrans %}</th>
            <th>{% trans %}specifications.unit{% endtrans %}</th>
            <th>{% trans %}specifications.text{% endtrans %}</th>
            <th>{% trans %}specifications.group{% endtrans %}</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
    {% for param in form.parameters %}
        {{ form_widget(param) }}
    {% endfor %}
    </tbody>
</table>

<button type="button" class="btn btn-success" onclick="create_specification_entry(this)" {% if not is_granted('parameters.create', part) %}disabled{% endif %}>
    <i class="fas fa-plus-square fa-fw"></i>
    {% trans %}specification.create{% endtrans %}
</button>

<script>
    function delete_specification_entry(btn) {
        window.bootbox.confirm('{% trans %}parameter.delete.confirm{% endtrans %}', function (result) {
            if(result) {
                $(btn).closest("tr").remove();
            }
        });
    }

    function create_specification_entry(btn) {
        //Determine the table, so we can determine, how many entries there are already.
        $holder = $(btn).siblings("table");

        var index = $holder.children("tbody").children("tr").length;
        var newForm = $holder.data("prototype");

        //Increase the index
        newForm = newForm.replace(/__name__/g, index);

        $holder.children("tbody").append(newForm);

        //Reinit the selectpickers
        //$(".selectpicker").selectpicker();

    }
</script>