themeselect.html.twig 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. {% extends "forms/field.html.twig" %}
  2. {% set options = {} %}
  3. {% for slug, package in admin.themes %}
  4. {% set option = {(slug): package.toArray().name} %}
  5. {% set options = options|merge(option) %}
  6. {% endfor %}
  7. {% block global_attributes %}
  8. data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}"
  9. data-grav-field="select"
  10. data-grav-disabled="{{ originalValue is null ? 'true' : 'false' }}"
  11. data-grav-default="{{ field.default|json_encode()|e('html_attr') }}"
  12. {% endblock %}
  13. {% block input %}
  14. <div class="form-select-wrapper {{ field.size }}">
  15. <select class="{{ field.classes }}" name="{{ (scope ~ field.name)|fieldName ~ (field.multiple ? '[]' : '') }}"
  16. {% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
  17. {% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
  18. {% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
  19. {% if field.multiple in ['on', 'true', 1] %}multiple="multiple"{% endif %}
  20. {% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}>
  21. {% for key, text in options %}
  22. <option {% if key == value or text in value %}selected="selected"{% endif %} value="{{ field.multiple ? text : key }}">{{ text }}</option>
  23. {% endfor %}
  24. </select>
  25. </div>
  26. {% endblock %}