bootstrap_italia-8.x-0.x-dev/components/components-2/table/table.html.twig

components/components-2/table/table.html.twig
{#
/**
 * @file
 * Default theme implementation to display a table.
 * Docs: https://italia.github.io/bootstrap-italia/docs/organizzare-i-contenuti/tabelle/
 * Latest revision: v2.6.1
 *
 * Available variables:
 * - attributes: HTML attributes to apply to the <table> tag.
 * - caption: A localized string for the <caption> tag.
 * - colgroups: Column groups. Each group contains the following properties:
 *   - attributes: HTML attributes to apply to the <col> tag.
 *     Note: Drupal currently supports only one table header row, see
 *     https://www.drupal.org/node/893530 and
 *     http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.
 * - header: Table header cells. Each cell contains the following properties:
 *   - tag: The HTML tag name to use; either 'th' or 'td'.
 *   - attributes: HTML attributes to apply to the tag.
 *   - content: A localized string for the title of the column.
 *   - field: Field name (required for column sorting).
 *   - sort: Default sort order for this column ("asc" or "desc").
 * - sticky: A flag indicating whether to use a "sticky" table header.
 * - rows: Table rows. Each row contains the following properties:
 *   - attributes: HTML attributes to apply to the <tr> tag.
 *   - data: Table cells.
 *   - no_striping: A flag indicating that the row should receive no
 *     'even / odd' styling. Defaults to FALSE.
 *   - cells: Table cells of the row. Each cell contains the following keys:
 *     - tag: The HTML tag name to use; either 'th' or 'td'.
 *     - attributes: Any HTML attributes, such as "colspan", to apply to the
 *       table cell.
 *     - content: The string to display in the table cell.
 *     - active_table_sort: A boolean indicating whether the cell is the active
         table sort.
 * - footer: Table footer rows, in the same format as the rows variable.
 * - empty: The message to display in an extra row if table does not have
 *   any rows.
 * - no_striping: A boolean indicating that the row should receive no striping.
 * - header_columns: The number of columns in the header.
 *
 * @see template_preprocess_table()
 *
 * @ingroup themeable
 */
#}
{% apply spaceless %}
  {# Set defaults #}

  {# Set options #}
  {% set _classes = [
    'table',
    table_striped ? 'table-striped',
    table_striped_columns ? 'table-striped-columns',
    table_bg and table_bg is not empty ? 'table-' ~ table_bg,
    table_hover ? 'table-hover',
    table_bordered ? 'table-bordered',
    table_border_color and table_border_color is not empty ? 'border-' ~ table_border_color,
    table_borderless ? 'table-borderless',
    table_sm ? 'table-sm',
    table_align_middle ? 'align-middle',
    table_caption_top ? 'caption-top'
  ] %}

  {% set attributes = attributes
    .addClass(_classes)
  %}

  {% set thead_classes = [
    table_thead_variant and table_thead_variant is not empty ? 'table-' ~ table_thead_variant
  ] %}

  {# Component #}

  {% if table_responsive and table_responsive is not empty %}
    <div class="{{ table_responsive }}">
  {% endif %}
    <table{{ attributes }}>
      {% if caption %}
        <caption>{{ caption }}</caption>
      {% endif %}

      {% for colgroup in colgroups %}
        {% if colgroup.cols %}
          <colgroup{{ colgroup.attributes }}>
            {% for col in colgroup.cols %}
              <col{{ col.attributes }} />
            {% endfor %}
          </colgroup>
        {% else %}
          <colgroup{{ colgroup.attributes }} />
        {% endif %}
      {% endfor %}

      {% if header %}
        <thead class="{{ thead_classes|join(' ') }}">
          <tr>
            {% for cell in header %}
              <{{ cell.tag }}{{ cell.attributes }}>
                {{- cell.content -}}
              </{{ cell.tag }}>
            {% endfor %}
          </tr>
        </thead>
      {% endif %}

      {% if rows %}
        <tbody>
          {% for row in rows %}
            <tr{{ row.attributes }}>
              {% for cell in row.cells %}
                <{{ cell.tag }}{{ cell.attributes }}>
                  {{- cell.content -}}
                </{{ cell.tag }}>
              {% endfor %}
            </tr>
          {% endfor %}
        </tbody>
      {% elseif empty %}
        <tbody>
          <tr>
            <td colspan="{{ header_columns }}">{{ empty }}</td>
          </tr>
        </tbody>
      {% endif %}
      {% if footer %}
        <tfoot>
          {% for row in footer %}
            <tr{{ row.attributes }}>
              {% for cell in row.cells %}
                <{{ cell.tag }}{{ cell.attributes }}>
                  {{- cell.content -}}
                </{{ cell.tag }}>
              {% endfor %}
            </tr>
          {% endfor %}
        </tfoot>
      {% endif %}
    </table>

    {% if table_responsive and table_responsive is not empty %}
      </div>
    {% endif %}
{% endapply %}

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

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