diff --git a/themes/grav/templates/forms/field.html.twig b/themes/grav/templates/forms/field.html.twig index d766ee62..6f9dbe0e 100644 --- a/themes/grav/templates/forms/field.html.twig +++ b/themes/grav/templates/forms/field.html.twig @@ -50,6 +50,9 @@ {# required attribute structures #} name="{{ field_name }}" value="{{ value|join(', ') }}" + {% if field.key %} + data-key-observe="{{ (scope ~ field_name)|fieldName }}" + {% endif %} {# input attribute structures #} {% block input_attributes %} {% if field.classes is defined %}class="{{ field.classes }}" {% endif %} diff --git a/themes/grav/templates/forms/fields/list/list.html.twig b/themes/grav/templates/forms/fields/list/list.html.twig index e8a19f4d..8ec16c63 100644 --- a/themes/grav/templates/forms/fields/list/list.html.twig +++ b/themes/grav/templates/forms/fields/list/list.html.twig @@ -80,6 +80,12 @@ include 'forms/fields/key/key.html.twig' with { field: child, value: key } %} + {% elseif child.key == true %} + {% include [ + "forms/fields/#{child.type}/#{child.type}.html.twig", + 'forms/fields/key/key.html.twig' + ] with { field: child, value: key } + %} {% elseif child.type %} {% set originalValue = childValue %} {% @@ -136,6 +142,13 @@ include 'forms/fields/key/key.html.twig' with { field: child, value: null } -%} + {%- elseif child.key == true -%} + {%- + include [ + "forms/fields/#{child.type}/#{child.type}.html.twig", + 'forms/fields/key/key.html.twig' + ] with { field: child, value: null } + -%} {%- elseif child.type -%} {%- include [