{% extends "forms/field.html.twig" %} {% if not grav.admin %} {% do assets.addJs('plugin://form/assets/form.vendor.js', { 'group': 'bottom', 'loading': 'defer' }) %} {% do assets.addJs('plugin://form/assets/form.min.js', { 'group': 'bottom', 'loading': 'defer' }) %} {% endif %} {% block field %}
{% set fields = prepare_form_fields(field.fields, field.name) %} {% if fields|length %} {% set tabs = {} %} {% for tab in fields %} {% if tab.type == 'tab' and not tab.validate.ignore and (tab.security is empty or authorize(array(tab.security))) %} {% set tabs = tabs|merge([tab]) %} {% endif %} {% endfor %} {% set count = tabs|length %} {% if count == 0 %} {# Nothing to display #} {% elseif count == 1 and not admin %} {% set fields = (tabs|first).fields %} {% for field in fields %} {% set value = field.name ? (form ? form.value(field.name) : data.value(field.name)) : data.toArray %} {% set field_templates = include_form_field(field.type, field_layout, 'text') %} {% include field_templates %} {% endfor %} {% else %} {% set tabsKey = form.name ~ '-' ~ fields|keys|join(':')|md5 %} {% set storedValue = grav.admin ? get_cookie('grav-tabs-state')|default('{}')|json_decode : [] %} {% set storedTab = attribute(storedValue, 'tab-' ~ tabsKey) %} {% if storedTab is empty %} {% set active = uri.params.tab ?? field.active ?? 1 %} {% endif %}
{% for tab in tabs %} {% if tab.type == 'tab' and (tab.condition is null or tab.condition == true) %} {{ tab.title|t }} {% endif %} {% endfor %}
{% embed 'forms/default/fields.html.twig' with {name: field.name, fields: fields} %} {% block inner_markup_field_open %}
{% endblock %} {% block inner_markup_field_close %}
{% endblock %} {% endembed %}
{% endif %} {% endif %}
{% endblock %}