bootstrap_italia-8.x-0.x-dev/components/field/field-reference--format-label--component-chip.html.twig

components/field/field-reference--format-label--component-chip.html.twig
{#
/**
 * @file
 * Default theme implementation for a field.
 *
 * To override output, copy the "field.html.twig" from the templates directory
 * to your theme's directory and customize it, just like customizing other
 * Drupal templates such as page.html.twig or node.html.twig.
 *
 * Instead of overriding the theming for all fields, you can also just override
 * theming for a subset of fields using
 * @link themeable Theme hook suggestions. @endlink For example,
 * here are some theme hook suggestions that can be used for a field_foo field
 * on an article node type:
 * - field--node--field-foo--article.html.twig
 * - field--node--field-foo.html.twig
 * - field--node--article.html.twig
 * - field--field-foo.html.twig
 * - field--text-with-summary.html.twig
 * - field.html.twig
 *
 * Available variables:
 * - attributes: HTML attributes for the containing element.
 * - label_hidden: Whether to show the field label or not.
 * - title_attributes: HTML attributes for the title.
 * - label: The label for the field.
 * - multiple: TRUE if a field can contain multiple items.
 * - items: List of all the field items. Each item contains:
 *   - attributes: List of HTML attributes for each item.
 *   - content: The field item's content.
 * - entity_type: The entity type to which the field belongs.
 * - field_name: The name of the field.
 * - field_type: The type of the field.
 * - label_display: The display settings for the label.
 * - field_container_vertical_padding: Automatic vertical padding.
 * - field_container_vertical_margin: Automatic vertical margin.
 * - field_label_tag: choose label tag, default('div').
 * - field_view_mode: View mode.
 *
 * - chip_simple (boolean) (default: false)
 * - chip_icon (string) (default: '')
 *   - options ['it-icon-name']
 * - chip_dismissibile (boolean) (default: false)
 * - chip_large (boolean) (default: false)
 * - chip_color (string) (default: 'primary')
 *   - options ["primary", "secondary", "success", "danger", "warning"]
 * - chip_disabled (boolean) (default: false)
 *
 * @see template_preprocess_field()
 *
 * Examples:
   {% include '@bi-field/field-reference--format-label--component-chip.html.twig' with {
     chip_color: 'primary',
     chip_large: true,
     chip_dismissibile: false,
   } %}
 *
 * @ingroup themeable
 */
#}
{% apply spaceless %}
  {% set _chip_simple = chip_simple ?? false %}
  {% set _chip_icon = chip_icon|default('') %}
  {% set _chip_dismissibile = chip_dismissibile ?? false %}
  {% set _chip_large = chip_large ?? false %}
  {% set _chip_color = chip_color|default('primary') %}
  {% set _chip_disabled = chip_disabled ?? false %}

  {% set container_classes = [
    'field',
    'field--type-' ~ field_type|clean_class,
    'field--name-' ~ field_name|clean_class,
    'field--entity-' ~ entity_type|clean_class,
    multiple ? 'field-multiple',
    'field--label-' ~ label_display|clean_class,
    field_container_vertical_padding is not empty and field_view_mode == 'full' ? field_container_vertical_padding,
    field_container_vertical_margin is not empty and field_view_mode == 'full' ? field_container_vertical_margin,
  ] %}

  {% set container_with_label_classes = [
    label_display == 'inline' ? 'd-flex'
  ]|merge(container_classes) %}

  {% if label_hidden %}
    {% if multiple %}
      <div{{ attributes.addClass(container_classes|merge(['d-flex'])) }}>
        {% for item in items %}
          <div{{ item.attributes }}>
            {%- set item_chip -%}
              {% include '@bi-bcl/chip/chip.html.twig' with {
                chip_label: item.content['#type'] == 'link' ? item.content['#title'] : item.content['#plain_text'],
                chip_simple: _chip_simple,
                chip_icon: _chip_icon,
                chip_dismissibile: _chip_dismissibile,
                chip_large: _chip_large,
                chip_color: _chip_color,
                chip_disabled: _chip_disabled,
              } %}
            {% endset %}
            {% if item.content['#type'] == 'link' %}
              {% if item.content['#options'].attributes is iterable %}
                {{ link(item_chip, item.content['#url'], item.content['#options'].attributes) }}
              {% else %}
                {{ link(item_chip, item.content['#url']) }}
              {% endif %}
            {% else %}
              {{ item_chip }}
            {% endif %}
          </div>
        {% endfor %}
      </div>
    {% else %}
      {% for item in items %}
        <div{{ attributes.addClass(container_classes) }}>
          {%- set item_chip -%}
            {% include '@bi-bcl/chip/chip.html.twig' with {
              chip_label: item.content['#type'] == 'link' ? item.content['#title'] : item.content['#plain_text'],
              chip_simple: _chip_simple,
              chip_icon: _chip_icon,
              chip_dismissibile: _chip_dismissibile,
              chip_large: _chip_large,
              chip_color: _chip_color,
              chip_disabled: _chip_disabled,
            } %}
          {% endset %}
          {% if item.content['#type'] == 'link' %}
            {% if item.content['#options'].attributes is iterable %}
              {{ link(item_chip, item.content['#url'], item.content['#options'].attributes) }}
            {% else %}
              {{ link(item_chip, item.content['#url']) }}
            {% endif %}
          {% else %}
            {{ item_chip }}
          {% endif %}
        </div>
      {% endfor %}
    {% endif %}

  {% else %}
    <div{{ attributes.addClass(container_with_label_classes) }}>

      {% block label %}
        {% include '@bi-field/_partial.field-label.html.twig' %}
      {% endblock %}

      {% if multiple %}
        <div class="d-flex">
      {% endif %}
      {% for item in items %}
        <div{{ item.attributes }}>
          {%- set item_chip -%}
            {% include '@bi-bcl/chip/chip.html.twig' with {
              chip_label: item.content['#type'] == 'link' ? item.content['#title'] : item.content['#plain_text'],
              chip_simple: _chip_simple,
              chip_icon: _chip_icon,
              chip_dismissibile: _chip_dismissibile,
              chip_large: _chip_large,
              chip_color: _chip_color,
              chip_disabled: _chip_disabled,
            } %}
          {% endset %}
          {% if item.content['#type'] == 'link' %}
            {% if item.content['#options'].attributes is iterable %}
              {{ link(item_chip, item.content['#url'], item.content['#options'].attributes) }}
            {% else %}
              {{ link(item_chip, item.content['#url']) }}
            {% endif %}
          {% else %}
            {{ item_chip }}
          {% endif %}
        </div>
      {% endfor %}
      {% if multiple %}
        </div>
      {% endif %}

    </div>{# End main container. #}
  {% endif %}
{% endapply %}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc