{% if customizableTabs is not defined %}{% set customizableTabs = true %}{% endif %} {% if not customizableTabs and pretendTabName is not defined %} {% set pretendTabName = 'Content' %} {% endif %} {% set groups = blx.fields.getAllGroups('id') %} {% set fields = blx.fields.getAllFields('id') %} {% includeTranslations "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.getField().name }} {% if field.required %}{% endif %}
{% endfor %}
{% endmacro %}

{{ "Design your field layout" }}

{% 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 }}

…Or use one of your field groups as a starting point:

{% endif %}
{% for group in groups %} {% set totalUnselected = 0 %} {% for field in group.fields %} {% if not fieldLayout or field.id not in fieldLayout.getFields()|keys %} {% set totalUnselected = totalUnselected + 1 %} {% endif %} {% endfor %}
{{ group.name }}
{% for field in group.fields %} {% set selected = fieldLayout and field.id in fieldLayout.getFields()|keys %}
{{ field.name }}
{% endfor %}
{% endfor %}
{% set js %} var initFLD = function() { new Blocks.FieldLayoutDesigner('#fieldlayoutform', { customizableTabs: {{ customizableTabs ? 'true' : 'false' }} }); }; {% if tab is defined %} var $fldTab = $('#tab-{{ tab }}'); if ($fldTab.hasClass('sel')) { initFLD(); } else { $fldTab.on('activate.fld', function() { initFLD(); $fldTab.off('activate.fld'); }); } {% else %} initFLD(); {% endif %} {% endset %} {% includeJs js %}