gin-8.x-3.0-alpha22/templates/dataset/table.html.twig

templates/dataset/table.html.twig
{#
/**
 * @file
 * Theme override to display a table.
 *
 * 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()
 */
#}
<div class="layer-wrapper">
  <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>
        <tr>
          {% for cell in header %}
            {% if '<a' in cell.content|render|render %}
              {%
                set cell_classes = [
                  'th__item',
                  cell.active_table_sort ? 'is-active',
                ]
              %}
            {% else %}
              {%
                set cell_classes = [
                  'th__' ~ cell.content|render|clean_class,
                  cell.active_table_sort ? 'is-active',
                ]
              %}
            {% endif %}
            <{{ cell.tag }}{{ cell.attributes.addClass(cell_classes) }}>
              {{- cell.content -}}
            </{{ cell.tag }}>
          {% endfor %}
        </tr>
      </thead>
    {% endif %}

    {% if rows %}
      <tbody>
        {% for row in rows %}
          {%
            set row_classes = [
              not no_striping ? cycle(['odd', 'even'], loop.index0),
            ]
          %}
          <tr{{ row.attributes.addClass(row_classes) }}>
            {% for cell in row.cells %}
              {% set currentIndex = loop.index %}
              {% set theadValue = null %}

              {% for value in header %}
                {% if loop.index == currentIndex %}
                  {% if '<a' in value.content|render|render %}
                    {% set theadValue = 'td__item' %}
                  {% else %}
                    {% set theadValue = value.content|render|clean_class %}
                  {% endif %}
                {% endif %}
              {% endfor %}

              {% set cell_classes = [theadValue ? 'td__' ~ theadValue] %}

              <{{ cell.tag }}{{ cell.attributes.addClass(cell_classes) }}>
                {{- cell.content -}}
              </{{ cell.tag }}>
            {% endfor %}
          </tr>
        {% endfor %}
      </tbody>
    {% elseif empty %}
      <tbody>
        <tr class="odd">
          <td colspan="{{ header_columns }}" class="empty message">{{ 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>
</div>

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

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