{% extends "forms/field.html.twig" %}
{% block field %}
{% set object = form.object %}
{% set taxonomies = taxonomies ?? field.taxonomies ?? admin.data('config/site').taxonomies ?? [] %}
{% set parentname = field.name %}
{% set options = field.options %}
{% set default = field.default %}
{% for name in taxonomies %}
{% set field_name = parentname ~ '.' ~ name %}
{% set value = form ? form.value(field_name) : data.value(field_name) %}
{% set value = (value ?? default[name] ?? [])|array %}
{% if object %}
{% set can_translate = can_translate ?? (admin.multilang and object.hasFlexFeature('flex-translate')) %}
{% set index = object.getFlexDirectory().getIndex() %}
{% set translated = can_translate ? index.withTranslated(admin.language) : index %}
{% set sub_taxonomies = translated.getDistinctValues(field_name) %}
{% else %}
{% set sub_taxonomies = (attribute(grav.taxonomy.taxonomy, name) ?? [])|keys %}
{% endif %}
{% set list = (options[name] ?? [])|merge(sub_taxonomies)|merge(value)|array_unique %}
{% set field = {
type: 'select',
classes: 'fancy create',
label: name|capitalize,
name: field_name,
multiple: true,
options: list,
style: field.style,
selectize: {
create: true
}
} %}
{% include 'forms/fields/select/select.html.twig' %}
{% endfor %}
{% endblock %}