From c5537f8d6514baa1616f704d649c7491bbee7612 Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Thu, 1 Feb 2018 22:34:53 -0800 Subject: [PATCH] Fixed fieldset field outdated rendering (fixes #1313) --- CHANGELOG.md | 1 + .../forms/fields/fieldset/fieldset.html.twig | 45 +++++++++++++------ 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea9aa4e2..c8721afa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * Rolled back JS to known working versions [#1323](https://github.com/getgrav/grav-plugin-admin/issues/1323) * Fixed missing translation in order field [#1324](https://github.com/getgrav/grav-plugin-admin/issues/1324) * Fixed UI issue with last drop-down in button group [1325](https://github.com/getgrav/grav-plugin-admin/issues/1325) + * Fixed fieldset field outdated rendering [#1313](https://github.com/getgrav/grav-plugin-admin/issues/1313) # v1.7.0-rc.2 ## 01/24/2018 diff --git a/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig b/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig index 289bae98..089b455d 100644 --- a/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig +++ b/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig @@ -54,21 +54,38 @@ {% endif %} {% if field.fields %} - {%- for childName, child in field.fields -%} - {%- if childName starts with '.' -%} - {%- set childKey = childName|trim('.') -%} - {%- set childName = itemName ~ childName -%} - {%- else %} - {%- set childKey = childName -%} - {%- set childName = childName|replace({'*': key}) -%} - {%- endif %} - {%- set child = child|merge({ name: childName }) -%} + {% for childName, child in field.fields %} + {%- if childName == 'value' -%} + {% set childKey = '' %} + {% set childName = itemName -%} + {%- elseif childName starts with '.' -%} + {% set childKey = childName|trim('.') %} + {% set childName = itemName ~ childName %} + {% else %} + {% set childKey = childName %} + {% set childName = childName|replace({'*': key}) %} + {% endif %} + {% set child = child|merge({ name: childName }) %} - {% if field.type %} - {%- include [ - "forms/fields/#{child.type}/#{child.type}.html.twig", - 'forms/fields/text/text.html.twig' - ] with { field: child, value: data.value(child.name) } -%} + {% if child.type == 'key' %} + {% + 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 = data.value(child.name) %} + {% + include [ + "forms/fields/#{child.type}/#{child.type}.html.twig", + 'forms/fields/text/text.html.twig' + ] with { field: child, value: data.value(child.name) } + %} {% endif %} {% endfor %} {% endif %}