{% if customizableTabs is not defined %}{% set customizableTabs = true %}{% endif %} {% if not customizableTabs and pretendTabName is not defined %} {% set pretendTabName = "Content"|t('app') %} {% endif %} {% set groups = craft.app.fields.getAllGroups() %} {% do view.registerTranslations('app', [ "Rename", "Delete", "Make required", "Make not required", "Remove", "Give your tab a name.", ]) %} {% macro tab(customizableTabs, tabName, tabFields) %}
{{ tabName }} {% if customizableTabs %} {% endif %}
{% for field in tabFields %}
{{ field.name|t('site') }} {% if field.required %}{% endif %}
{% endfor %}
{% endmacro %}
{% if fieldLayout and fieldLayout.id %} {% endif %}

{{ "Design your field layout"|t('app') }}

{% if instructions is defined %}
{{ instructions|md }}
{% endif %}
{% if fieldLayout %} {% import _self as macros %} {% if customizableTabs %} {% for tab in fieldLayout.getTabs() %} {{ macros.tab(customizableTabs, tab.name, tab.getFields()) }} {% endfor %} {% else %} {{ macros.tab(customizableTabs, pretendTabName, fieldLayout.getFields()) }} {% endif %} {% endif %}
{% if customizableTabs %}
{{ "New Tab"|t('app') }}

{{ "…Or use one of your field groups as a starting point:"|t('app') }}

{% endif %}
{% for group in groups %} {% set totalUnselected = 0 %} {% for field in group.fields %} {% if not fieldLayout or field.id not in fieldLayout.getFieldIds() %} {% set totalUnselected = totalUnselected + 1 %} {% endif %} {% endfor %}
{{ group.name }}
{% for field in group.fields %} {% set selected = fieldLayout and field.id in fieldLayout.getFieldIds() %}
{{ field.name|t('site') }}
{% endfor %}
{% endfor %}
{% js %} var initFLD = function() { new Craft.FieldLayoutDesigner('#{{ "fieldlayoutform"|namespaceInputId }}', { customizableTabs: {{ customizableTabs ? 'true' : 'false' }}, fieldInputName: '{{ "fieldLayout[__TAB_NAME__][]"|namespaceInputName|e("js") }}', requiredFieldInputName: '{{ "requiredFields[]"|namespaceInputName|e("js") }}' }); }; {% if tab is defined %} var $fldTab = $('#{{ ("tab-"~tab)|namespaceInputId }}'); if ($fldTab.hasClass('sel')) { initFLD(); } else { $fldTab.on('activate.fld', function() { initFLD(); $fldTab.off('activate.fld'); }); } {% else %} initFLD(); {% endif %} {% endjs %}