From f34a9d7638fd86d9be129b8b9fb37f85dd341ea8 Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Wed, 30 Dec 2015 20:39:37 +0100 Subject: [PATCH] More changes for pagemediaselect to avoid double inclusion of `data-grav-field`, and to disable when no files are found --- .../fields/pagemediaselect/pagemediaselect.html.twig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig b/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig index 47a77441..9d8bd13e 100644 --- a/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig +++ b/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig @@ -1,7 +1,8 @@ {% extends "forms/field.html.twig" %} {% set options = {'': 'No file'} %} -{% for index, media in admin.page.media.all %} +{% set files = admin.page.media.all %} +{% for index, media in files %} {% set option = {(index): index} %} {% set options = options|merge(option) %} {% endfor %} @@ -9,11 +10,11 @@ {% block global_attributes %} data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}" data-grav-field="select" - {{ parent() }} + data-grav-disabled="{{ files is empty ? 'true' : 'false' }}" + data-grav-default="{{ field.default|json_encode()|e('html_attr') }}" {% endblock %} {% block input %} - {% if theme or plugin %} The "pagemediaselect" field cannot be used in Themes or Plugins Blueprints. It's intended to be used for Pages blueprints. Use the "file" type instead. @@ -23,7 +24,7 @@ {% if field.classes is defined %}class="{{ field.classes }}" {% endif %} {% if field.id is defined %}id="{{ field.id|e }}" {% endif %} {% if field.style is defined %}style="{{ field.style|e }}" {% endif %} - {% if field.disabled %}disabled="disabled"{% endif %} + {% if field.disabled or files is empty %}disabled="disabled"{% endif %} {% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %} {% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %} {% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %} @@ -35,6 +36,6 @@ {% endfor %} - {% if admin.page.media.all is empty %}Add files through the page media, or by dropping them in the page folder{% endif %} + {% if files is empty %}Add files through the page media, or by dropping them in the page folder{% endif %} {% endif %} {% endblock %}