Move into nested docroot
This commit is contained in:
parent
83a0d3a149
commit
c8b70abde9
13405 changed files with 0 additions and 0 deletions
|
@ -0,0 +1,32 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the content of an administrative block.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: A list containing information about the block. Each element
|
||||
* of the array represents an administrative menu item, and must at least
|
||||
* contain the keys 'title', 'link_path', and 'localized_options', which are
|
||||
* passed to l(). A 'description' key may also be provided.
|
||||
* - attributes: HTML attributes to be added to the element.
|
||||
* - compact: Boolean indicating whether compact mode is turned on or not.
|
||||
*
|
||||
* @see template_preprocess_admin_block_content()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'list-group',
|
||||
compact ? 'compact',
|
||||
]
|
||||
%}
|
||||
{% if content %}
|
||||
<dl{{ attributes.addClass(classes) }}>
|
||||
{% for item in content %}
|
||||
<dt class="list-group__link">{{ item.link }}</dt>
|
||||
{% if item.description %}
|
||||
<dd class="list-group__description">{{ item.description }}</dd>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endif %}
|
24
web/core/themes/stable/templates/admin/admin-block.html.twig
Normal file
24
web/core/themes/stable/templates/admin/admin-block.html.twig
Normal file
|
@ -0,0 +1,24 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an administrative block.
|
||||
*
|
||||
* Available variables:
|
||||
* - block: An array of information about the block, including:
|
||||
* - show: A flag indicating if the block should be displayed.
|
||||
* - title: The block title.
|
||||
* - content: (optional) The content of the block.
|
||||
* - description: (optional) A description of the block.
|
||||
* (Description should only be output if content is not available).
|
||||
*/
|
||||
#}
|
||||
<div class="panel">
|
||||
{% if block.title %}
|
||||
<h3 class="panel__title">{{ block.title }}</h3>
|
||||
{% endif %}
|
||||
{% if block.content %}
|
||||
<div class="panel__content">{{ block.content }}</div>
|
||||
{% elseif block.description %}
|
||||
<div class="panel__description">{{ block.description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
25
web/core/themes/stable/templates/admin/admin-page.html.twig
Normal file
25
web/core/themes/stable/templates/admin/admin-page.html.twig
Normal file
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an administrative page.
|
||||
*
|
||||
* Available variables:
|
||||
* - system_compact_link: Themed link to toggle compact view.
|
||||
* - containers: An list of administrative blocks keyed by position: left or
|
||||
* right. Contains:
|
||||
* - blocks: A list of blocks within a container.
|
||||
*
|
||||
* @see template_preprocess_admin_page()
|
||||
*/
|
||||
#}
|
||||
|
||||
<div class="clearfix">
|
||||
{{ system_compact_link }}
|
||||
{% for container in containers %}
|
||||
<div class="layout-column layout-column--half">
|
||||
{% for block in container.blocks %}
|
||||
{{ block }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for authorize.php operation report templates.
|
||||
*
|
||||
* This report displays the results of an operation run via authorize.php.
|
||||
*
|
||||
* Available variables:
|
||||
* - messages: A list of result messages.
|
||||
* - attributes: HTML attributes for the element.
|
||||
*
|
||||
* @see template_preprocess_authorize_report()
|
||||
*/
|
||||
#}
|
||||
{% if messages %}
|
||||
<div{{ attributes.addClass('authorize-results') }}>
|
||||
{% for message_group in messages %}
|
||||
{{ message_group }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
|
@ -0,0 +1,22 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to present a list of custom block types.
|
||||
*
|
||||
* Available variables:
|
||||
* - types: A collection of all the available custom block types.
|
||||
* Each block type contains the following:
|
||||
* - link: A link to add a block of this type.
|
||||
* - description: A description of this custom block type.
|
||||
*
|
||||
* @see template_preprocess_block_content_add_list()
|
||||
*/
|
||||
#}
|
||||
{% spaceless %}
|
||||
<dl>
|
||||
{% for type in types %}
|
||||
<dt>{{ type.link }}</dt>
|
||||
<dd>{{ type.description }}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endspaceless %}
|
|
@ -0,0 +1,73 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the CKEditor settings toolbar.
|
||||
*
|
||||
* Available variables:
|
||||
* - multiple_buttons: A list of buttons that may be added multiple times.
|
||||
* - disabled_buttons: A list of disabled buttons.
|
||||
* - active_buttons: A list of active button rows.
|
||||
*
|
||||
* @see template_preprocess_ckeditor_settings_toolbar()
|
||||
*/
|
||||
#}
|
||||
{% spaceless %}
|
||||
<fieldset role="form" aria-labelledby="ckeditor-button-configuration ckeditor-button-description">
|
||||
<legend id="ckeditor-button-configuration">{{ 'Toolbar configuration'|t }}</legend>
|
||||
<div class="fieldset-wrapper">
|
||||
<div id="ckeditor-button-description" class="fieldset-description">
|
||||
{%- trans -%}
|
||||
Move a button into the <em>Active toolbar</em> to enable it, or into the list of <em>Available buttons</em> to disable it. Buttons may be moved with the mouse or keyboard arrow keys. Toolbar group names are provided to support screen reader users. Empty toolbar groups will be removed upon save.
|
||||
{%- endtrans -%}
|
||||
</div>
|
||||
<div class="ckeditor-toolbar-disabled clearfix">
|
||||
{# Available buttons. #}
|
||||
<div class="ckeditor-toolbar-available">
|
||||
<label for="ckeditor-available-buttons">{{ 'Available buttons'|t }}</label>
|
||||
<ul id="ckeditor-available-buttons" class="ckeditor-buttons clearfix" role="form" data-drupal-ckeditor-button-sorting="source">
|
||||
{% for disabled_button in disabled_buttons %}
|
||||
<li{{ disabled_button.attributes.addClass('ckeditor-button') }}>{{ disabled_button.value }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{# Dividers. #}
|
||||
<div class="ckeditor-toolbar-dividers">
|
||||
<label for="ckeditor-multiple-buttons">{{ 'Button divider'|t }}</label>
|
||||
<ul id="ckeditor-multiple-buttons" class="ckeditor-multiple-buttons" role="form" data-drupal-ckeditor-button-sorting="dividers">
|
||||
{% for multiple_button in multiple_buttons %}
|
||||
<li{{ multiple_button.attributes.addClass('ckeditor-multiple-button') }}>{{ multiple_button.value }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{# Active toolbar. #}
|
||||
<div class="clearfix">
|
||||
<label id="ckeditor-active-toolbar">{{ 'Active toolbar'|t }}</label>
|
||||
</div>
|
||||
<div data-toolbar="active" role="form" class="ckeditor-toolbar ckeditor-toolbar-active clearfix">
|
||||
<ul class="ckeditor-active-toolbar-configuration" role="presentation" aria-label="{{ 'CKEditor toolbar and button configuration.'|t }}">
|
||||
{% for button_row in active_buttons %}
|
||||
<li class="ckeditor-row" role="group" aria-labelledby="ckeditor-active-toolbar">
|
||||
<ul class="ckeditor-toolbar-groups clearfix">
|
||||
{% for group_name, button_group in button_row %}
|
||||
<li class="ckeditor-toolbar-group" role="presentation" data-drupal-ckeditor-type="group" data-drupal-ckeditor-toolbar-group-name="{{ group_name }}" tabindex="0">
|
||||
<h3 class="ckeditor-toolbar-group-name" id="ckeditor-toolbar-group-aria-label-for-{{ button_group.group_name_class }}">{{ group_name }}</h3>
|
||||
<ul class="ckeditor-buttons ckeditor-toolbar-group-buttons" role="toolbar" data-drupal-ckeditor-button-sorting="target" aria-labelledby="ckeditor-toolbar-group-aria-label-for-{{ button_group.group_name_class }}">
|
||||
{% for active_button in button_group.buttons %}
|
||||
<li{{ active_button.attributes.addClass(active_button.multiple ? 'ckeditor-multiple-button' : 'ckeditor-button') }}>{{ active_button.value }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<ul class="ckeditor-buttons"></ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{% endspaceless %}
|
|
@ -0,0 +1,24 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a theme's color form.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: Form elements for the color scheme form, including:
|
||||
* - scheme: A color scheme form element. For example: a select element with
|
||||
* color theme presets, or a color picker widget.
|
||||
* - palette: Color fields that can be changed by entering in a new hex value.
|
||||
* - html_preview: A HTML preview of the theme's current color scheme.
|
||||
*
|
||||
* @see template_preprocess_color_scheme_form()
|
||||
*/
|
||||
#}
|
||||
<div class="color-form clearfix">
|
||||
{{ form.scheme }}
|
||||
<div class="clearfix color-palette js-color-palette">
|
||||
{{ form.palette }}
|
||||
</div>
|
||||
{{ form|without('scheme', 'palette') }}
|
||||
<h2>{{ 'Preview'|t }}</h2>
|
||||
{{ html_preview }}
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a form element in config_translation.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: Array that represents the element shown in the form.
|
||||
* - source: The source of the translation.
|
||||
* - translation: The translation for the target language.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
*/
|
||||
#}
|
||||
<div class="translation-set clearfix">
|
||||
<div class="layout-column layout-column--half translation-set__source">
|
||||
{{ element.source }}
|
||||
</div>
|
||||
<div class="layout-column layout-column--half translation-set__translated">
|
||||
{{ element.translation }}
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,45 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a Field UI 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_field_ui_table()
|
||||
*/
|
||||
#}
|
||||
{# Add Ajax wrapper. #}
|
||||
<div id="field-display-overview-wrapper">
|
||||
{% include 'table.html.twig' %}
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a section of the help page.
|
||||
*
|
||||
* Available variables:
|
||||
* - title: The section title.
|
||||
* - description: The description text for the section.
|
||||
* - links: Links to display in the section.
|
||||
* - empty: Text to display if there are no links.
|
||||
*/
|
||||
#}
|
||||
<h2>{{ title }}</h2>
|
||||
<p>{{ description }}</p>
|
||||
{% if links %}
|
||||
<ul>
|
||||
{% for link in links %}
|
||||
<li>{{ link }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>{{ empty }}</p>
|
||||
{% endif %}
|
|
@ -0,0 +1,12 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a 3x3 grid of checkboxes for image anchors.
|
||||
*
|
||||
* Available variables:
|
||||
* - table: HTML for the table of image anchors.
|
||||
*
|
||||
* @see template_preprocess_image_anchor()
|
||||
*/
|
||||
#}
|
||||
{{ table }}
|
|
@ -0,0 +1,30 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a summary of an image crop effect.
|
||||
*
|
||||
* Available variables:
|
||||
* - data: The current configuration for this resize effect, including:
|
||||
* - width: The width of the resized image.
|
||||
* - height: The height of the resized image.
|
||||
* - anchor: The part of the image that will be retained after cropping.
|
||||
* - anchor_label: The translated label of the crop anchor.
|
||||
* - effect: The effect information, including:
|
||||
* - id: The effect identifier.
|
||||
* - label: The effect name.
|
||||
* - description: The effect description.
|
||||
*/
|
||||
#}
|
||||
{% if data.width and data.height -%}
|
||||
{{ data.width }}×{{ data.height }}
|
||||
{%- else -%}
|
||||
{% if data.width %}
|
||||
{% trans %}
|
||||
width {{ data.width }}
|
||||
{% endtrans %}
|
||||
{% elseif data.height %}
|
||||
{% trans %}
|
||||
height {{ data.height }}
|
||||
{% endtrans %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
|
@ -0,0 +1,28 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a summary of an image resize effect.
|
||||
*
|
||||
* Available variables:
|
||||
* - data: The current configuration for this resize effect, including:
|
||||
* - width: The width of the resized image.
|
||||
* - height: The height of the resized image.
|
||||
* - effect: The effect information, including:
|
||||
* - id: The effect identifier.
|
||||
* - label: The effect name.
|
||||
* - description: The effect description.
|
||||
*/
|
||||
#}
|
||||
{% if data.width and data.height -%}
|
||||
{{ data.width }}×{{ data.height }}
|
||||
{%- else -%}
|
||||
{% if data.width %}
|
||||
{% trans %}
|
||||
width {{ data.width }}
|
||||
{% endtrans %}
|
||||
{% elseif data.height %}
|
||||
{% trans %}
|
||||
height {{ data.height }}
|
||||
{% endtrans %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a summary of an image rotate effect.
|
||||
*
|
||||
* Available variables:
|
||||
* - data: The current configuration for this resize effect, including:
|
||||
* - degrees: Degrees to rotate the image, positive values will rotate the
|
||||
* image clockwise, negative values counter-clockwise.
|
||||
* - bgcolor: The hex background color of the new areas created as consequence
|
||||
* of rotation.
|
||||
* - random: If the rotation angle is randomized.
|
||||
* - effect: The effect information, including:
|
||||
* - id: The effect identifier.
|
||||
* - label: The effect name.
|
||||
* - description: The effect description.
|
||||
*/
|
||||
#}
|
||||
{% if data.random %}
|
||||
{% set degrees = data.degrees|abs %}
|
||||
{% trans %}
|
||||
random between -{{ degrees }}° and {{ degrees }}°
|
||||
{% endtrans %}
|
||||
{% else %}
|
||||
{{ data.degrees }}°
|
||||
{% endif %}
|
|
@ -0,0 +1,35 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a summary of an image scale effect.
|
||||
*
|
||||
* Available variables:
|
||||
* - data: The current configuration for this resize effect, including:
|
||||
* - width: The width of the resized image.
|
||||
* - height: The height of the resized image.
|
||||
* - upscale: If images larger than their original size can scale.
|
||||
* - effect: The effect information, including:
|
||||
* - id: The effect identifier.
|
||||
* - label: The effect name.
|
||||
* - description: The effect description.
|
||||
*/
|
||||
#}
|
||||
{% if data.width and data.height -%}
|
||||
{{ data.width }}×{{ data.height }}
|
||||
{%- else -%}
|
||||
{% if data.width %}
|
||||
{% trans %}
|
||||
width {{ data.width }}
|
||||
{% endtrans %}
|
||||
{% elseif data.height %}
|
||||
{% trans %}
|
||||
height {{ data.height }}
|
||||
{% endtrans %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
|
||||
{% if data.upscale %}
|
||||
{% trans %}
|
||||
(upscaling allowed)
|
||||
{% endtrans %}
|
||||
{% endif %}
|
|
@ -0,0 +1,55 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a preview of an image style.
|
||||
*
|
||||
* Available variables:
|
||||
* - style_id: The ID of the image style.
|
||||
* - style_name: The name of the image style.
|
||||
* - cache_bypass: A timestamp token used to avoid browser caching of images.
|
||||
* - original: An associative array containing:
|
||||
* - url: The URL of the original image.
|
||||
* - width: The width in pixels of the original image.
|
||||
* - height: The height in pixels of the original image.
|
||||
* - rendered: The render array for the original image.
|
||||
* - derivative: An associative array containing:
|
||||
* - url: The URL of the derivative image.
|
||||
* - width: The width in pixels of the derivative image.
|
||||
* - height: The height in pixels of the derivative image.
|
||||
* - rendered: The rendered derivative image.
|
||||
* - preview: An associative array containing:
|
||||
* - original: An associative array containing:
|
||||
* - width: The width in pixels of the original image in the preview.
|
||||
* - height: The height in pixels of the original image in the preview.
|
||||
* - derivative: An associative array containing:
|
||||
* - width: The width in pixels of the derivative image in the preview.
|
||||
* - height: The height in pixels of the derivative image in the preview.
|
||||
*
|
||||
* @see template_preprocess_image_style_preview()
|
||||
*/
|
||||
#}
|
||||
<div class="image-style-preview preview clearfix">
|
||||
{# Preview of the original image. #}
|
||||
<div class="preview-image-wrapper">
|
||||
{{ 'original'|t }} (<a href="{{ original.url }}">{{ 'view actual size'|t }}</a>)
|
||||
<div class="preview-image original-image" style="width: {{ preview.original.width }}px; height: {{ preview.original.height }}px;">
|
||||
<a href="{{ original.url }}">
|
||||
{{ original.rendered }}
|
||||
</a>
|
||||
<div class="height" style="height: {{ preview.original.height }}px"><span>{{ original.height }}px</span></div>
|
||||
<div class="width" style="width: {{ preview.original.width }}px"><span>{{ original.width }}px</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Derivative of the image style. #}
|
||||
<div class="preview-image-wrapper">
|
||||
{{ style_name }} (<a href="{{ derivative.url }}?{{ cache_bypass }}">{{ 'view actual size'|t }}</a>)
|
||||
<div class="preview-image modified-image" style="width: {{ preview.derivative.width }}px; height: {{ preview.derivative.height }}px;">
|
||||
<a href="{{ derivative.url }}?{{ cache_bypass }}">
|
||||
{{ derivative.rendered }}
|
||||
</a>
|
||||
<div class="height" style="height: {{ preview.derivative.height }}px"><span>{{ derivative.height }}px</span></div>
|
||||
<div class="width" style="width: {{ preview.derivative.width }}px"><span>{{ derivative.width }}px</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
12
web/core/themes/stable/templates/admin/indentation.html.twig
Normal file
12
web/core/themes/stable/templates/admin/indentation.html.twig
Normal file
|
@ -0,0 +1,12 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a set of indentation divs.
|
||||
*
|
||||
* These <div> tags are used for drag and drop tables.
|
||||
*
|
||||
* Available variables:
|
||||
* - size: Optional. The number of indentations to create.
|
||||
*/
|
||||
#}
|
||||
{% for i in 1..size if size > 0 %}<div class="js-indentation indentation"> </div>{% endfor %}
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a language content settings table.
|
||||
*
|
||||
* Available variables:
|
||||
* - title: The title of the table.
|
||||
* - build: Table of content language settings.
|
||||
*
|
||||
* @see template_preprocess_language_content_settings_table()
|
||||
*/
|
||||
#}
|
||||
<h4>{{ title }}</h4>
|
||||
{{ build }}
|
|
@ -0,0 +1,38 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a language negotiation configuration form.
|
||||
*
|
||||
* Available variables:
|
||||
* - language_types: A list of language negotiation types. Each language type
|
||||
* contains the following:
|
||||
* - type: The machine name for the negotiation type.
|
||||
* - title: The language negotiation type name.
|
||||
* - description: A description for how the language negotiation type operates.
|
||||
* - configurable: A radio element to toggle the table.
|
||||
* - table: A draggable table for the language detection methods of this type.
|
||||
* - children: Remaining form items for the group.
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: Remaining form items for all groups.
|
||||
*
|
||||
* @see template_preprocess_language_negotiation_configure_form()
|
||||
*/
|
||||
#}
|
||||
{% for language_type in language_types %}
|
||||
{%
|
||||
set language_classes = [
|
||||
'js-form-item',
|
||||
'form-item',
|
||||
'table-language-group',
|
||||
'table-' ~ language_type.type ~ '-wrapper',
|
||||
]
|
||||
%}
|
||||
<div{{ language_type.attributes.addClass(language_classes) }}>
|
||||
<h2>{{ language_type.title }}</h2>
|
||||
<div class="description">{{ language_type.description }}</div>
|
||||
{{ language_type.configurable }}
|
||||
{{ language_type.table }}
|
||||
{{ language_type.children }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{{ children }}
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the last time we checked for update data.
|
||||
*
|
||||
* Available variables:
|
||||
* - last_checked: Whether or not locale updates have been checked before.
|
||||
* - time: The formatted time ago when the site last checked for available
|
||||
* updates.
|
||||
* - link: A link to manually check available updates.
|
||||
*
|
||||
* @see template_preprocess_locale_translation_last_check()
|
||||
*/
|
||||
#}
|
||||
<div class="locale checked">
|
||||
<p>
|
||||
{% if last_checked %}
|
||||
{% trans %} Last checked: {{ time }} ago {% endtrans %}
|
||||
{% else %}
|
||||
{{ 'Last checked: never'|t }}
|
||||
{% endif %}
|
||||
<span class="check-manually">({{ link }})</span></p>
|
||||
</div>
|
|
@ -0,0 +1,57 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for displaying translation status information.
|
||||
*
|
||||
* Displays translation status information per language.
|
||||
*
|
||||
* Available variables:
|
||||
* - modules: A list of modules names that have available translation updates.
|
||||
* - updates: A list of available translation updates.
|
||||
* - not_found: A list of modules missing translation updates.
|
||||
*
|
||||
* @see template_preprocess_locale_translation_update_info()
|
||||
*/
|
||||
#}
|
||||
<div class="locale-translation-update__wrapper" tabindex="0" role="button">
|
||||
<span class="locale-translation-update__prefix visually-hidden">Show description</span>
|
||||
{% if modules %}
|
||||
{% set module_list = modules|safe_join(', ') %}
|
||||
<span class="locale-translation-update__message">{% trans %}Updates for: {{ module_list }}{% endtrans %}</span>
|
||||
{% elseif not_found %}
|
||||
<span class="locale-translation-update__message">
|
||||
{%- trans -%}
|
||||
Missing translations for one project
|
||||
{%- plural not_found|length -%}
|
||||
Missing translations for @count projects
|
||||
{%- endtrans -%}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if updates or not_found %}
|
||||
<div class="locale-translation-update__details">
|
||||
{% if updates %}
|
||||
<ul>
|
||||
{% for update in updates %}
|
||||
<li>{{ update.name }} ({{ update.timestamp|format_date('html_date') }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if not_found %}
|
||||
{#
|
||||
Prefix the missing updates list if there is an available updates lists
|
||||
before it.
|
||||
#}
|
||||
{% if updates %}
|
||||
{{ 'Missing translations for:'|t }}
|
||||
{% endif %}
|
||||
{% if not_found %}
|
||||
<ul>
|
||||
{% for update in not_found %}
|
||||
<li>{{ update.name }} ({{ update.version|default('no version'|t) }}). {{ update.info }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a list of maintenance tasks to perform.
|
||||
*
|
||||
* Available variables:
|
||||
* - tasks: A list of maintenance tasks to perform. Each item in the list has
|
||||
* the following variables:
|
||||
* - item: The maintenance task.
|
||||
* - attributes: HTML attributes for the maintenance task.
|
||||
* - status: (optional) Text describing the status of the maintenance task,
|
||||
* 'active' or 'done'.
|
||||
*/
|
||||
#}
|
||||
<h2 class="visually-hidden">{{ 'Installation tasks'|t }}</h2>
|
||||
<ol class="task-list">
|
||||
{% for task in tasks %}
|
||||
<li{{ task.attributes }}>
|
||||
{{ task.item }}
|
||||
{% if task.status %}<span class="visually-hidden"> ({{ task.status }})</span>{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
|
@ -0,0 +1,20 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for simpletest result summaries.
|
||||
*
|
||||
* Available variables:
|
||||
* - label: An optional label to be rendered before the results.
|
||||
* - items: Pluralized summaries for each result type (number of passes, fails,
|
||||
* exceptions, and debug messages).
|
||||
* - pass: The number of passes.
|
||||
* - fail: The number of fails.
|
||||
* - exception: The number of exceptions.
|
||||
* - debug: The number of debug messages.
|
||||
*
|
||||
* @see template_preprocess_simpletest_result_summary()
|
||||
*/
|
||||
#}
|
||||
<div class="simpletest-{{ fail + exception == 0 ? 'pass' : 'fail' }}">
|
||||
{{ label }} {{ items|join(', ') }}
|
||||
</div>
|
|
@ -0,0 +1,39 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the status report.
|
||||
*
|
||||
* Available variables:
|
||||
* - requirements: Contains multiple requirement instances.
|
||||
* Each requirement contains:
|
||||
* - title: The title of the requirement.
|
||||
* - value: (optional) The requirement's status.
|
||||
* - description: (optional) The requirement's description.
|
||||
* - severity_title: The title of the severity.
|
||||
* - severity_status: Indicates the severity status.
|
||||
*
|
||||
* @see template_preprocess_status_report()
|
||||
*/
|
||||
#}
|
||||
<table class="system-status-report">
|
||||
<tbody>
|
||||
{% for requirement in requirements %}
|
||||
<tr class="system-status-report__entry system-status-report__entry--{{ requirement.severity_status }} color-{{ requirement.severity_status }}">
|
||||
{% if requirement.severity_status in ['warning', 'error'] %}
|
||||
<th class="system-status-report__status-title system-status-report__status-icon system-status-report__status-icon--{{ requirement.severity_status }}">
|
||||
<span class="visually-hidden">{{ requirement.severity_title }}</span>
|
||||
{% else %}
|
||||
<th class="system-status-report__status-title">
|
||||
{% endif %}
|
||||
{{ requirement.title }}
|
||||
</th>
|
||||
<td>
|
||||
{{ requirement.value }}
|
||||
{% if requirement.description %}
|
||||
<div class="description">{{ requirement.description }}</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the admin index page.
|
||||
*
|
||||
* Available variables:
|
||||
* - system_compact_link: Themed link to toggle compact view.
|
||||
* - containers: A list of administrative containers keyed by position: left or
|
||||
* right. Each container in the list contains:
|
||||
* - blocks: A list of administrative blocks, rendered
|
||||
* through admin-block.html.twig.
|
||||
*
|
||||
* @see template_preprocess_system_admin_index()
|
||||
*/
|
||||
#}
|
||||
<div class="admin clearfix">
|
||||
{{ system_compact_link }}
|
||||
{% for position, blocks in containers %}
|
||||
<div class="{{ position }} clearfix">
|
||||
{% for block in blocks %}
|
||||
{{ block }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a system settings form.
|
||||
*
|
||||
* This template will be used when a system config form specifies 'config_form'
|
||||
* as its #theme callback. Otherwise, by default, system config forms will be
|
||||
* themed by form.html.twig. This does not alter the appearance of a form at all,
|
||||
* but is provided as a convenience for themers.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: The confirm form.
|
||||
*/
|
||||
#}
|
||||
{{ form }}
|
|
@ -0,0 +1,74 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the modules listing page.
|
||||
*
|
||||
* Displays a list of all packages in a project.
|
||||
*
|
||||
* Available variables:
|
||||
* - modules: Contains multiple module instances. Each module contains:
|
||||
* - attributes: Attributes on the row.
|
||||
* - checkbox: A checkbox for enabling the module.
|
||||
* - name: The human-readable name of the module.
|
||||
* - id: A unique identifier for interacting with the details element.
|
||||
* - enable_id: A unique identifier for interacting with the checkbox element.
|
||||
* - description: The description of the module.
|
||||
* - machine_name: The module's machine name.
|
||||
* - version: Information about the module version.
|
||||
* - requires: A list of modules that this module requires.
|
||||
* - required_by: A list of modules that require this module.
|
||||
* - links: A list of administration links provided by the module.
|
||||
*
|
||||
* @see template_preprocess_system_modules_details()
|
||||
*/
|
||||
#}
|
||||
<table class="responsive-enabled" data-striping="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="checkbox visually-hidden">{{ 'Installed'|t }}</th>
|
||||
<th class="name visually-hidden">{{ 'Name'|t }}</th>
|
||||
<th class="description visually-hidden priority-low">{{ 'Description'|t }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for module in modules %}
|
||||
{% set zebra = cycle(['odd', 'even'], loop.index0) %}
|
||||
<tr{{ module.attributes.addClass(zebra) }}>
|
||||
<td class="checkbox">
|
||||
{{ module.checkbox }}
|
||||
</td>
|
||||
<td class="module">
|
||||
<label id="{{ module.id }}" for="{{ module.enable_id }}" class="module-name table-filter-text-source">{{ module.name }}</label>
|
||||
</td>
|
||||
<td class="description expand priority-low">
|
||||
<details class="js-form-wrapper form-wrapper" id="{{ module.enable_id }}-description">
|
||||
<summary aria-controls="{{ module.enable_id }}-description" role="button" aria-expanded="false"><span class="text module-description">{{ module.description }}</span></summary>
|
||||
<div class="details-wrapper">
|
||||
<div class="details-description">
|
||||
<div class="requirements">
|
||||
<div class="admin-requirements">{{ 'Machine name: <span dir="ltr" class="table-filter-text-source">@machine-name</span>'|t({'@machine-name': module.machine_name }) }}</div>
|
||||
{% if module.version %}
|
||||
<div class="admin-requirements">{{ 'Version: @module-version'|t({'@module-version': module.version }) }}</div>
|
||||
{% endif %}
|
||||
{% if module.requires %}
|
||||
<div class="admin-requirements">{{ 'Requires: @module-list'|t({'@module-list': module.requires }) }}</div>
|
||||
{% endif %}
|
||||
{% if module.required_by %}
|
||||
<div class="admin-requirements">{{ 'Required by: @module-list'|t({'@module-list': module.required_by }) }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if module.links %}
|
||||
<div class="links">
|
||||
{% for link_type in ['help', 'permissions', 'configure'] %}
|
||||
{{ module.links[link_type] }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,73 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the modules uninstall page.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: The modules uninstall form.
|
||||
* - modules: Contains multiple module instances. Each module contains:
|
||||
* - attributes: Attributes on the row.
|
||||
* - module_name: The name of the module.
|
||||
* - checkbox: A checkbox for uninstalling the module.
|
||||
* - checkbox_id: A unique identifier for interacting with the checkbox
|
||||
* element.
|
||||
* - name: The human-readable name of the module.
|
||||
* - description: The description of the module.
|
||||
* - disabled_reasons: (optional) A list of reasons why this module cannot be
|
||||
* uninstalled.
|
||||
*
|
||||
* @see template_preprocess_system_modules_uninstall()
|
||||
*/
|
||||
#}
|
||||
{{ form.filters }}
|
||||
|
||||
<table class="responsive-enabled" data-striping="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'Uninstall'|t }}</th>
|
||||
<th>{{ 'Name'|t }}</th>
|
||||
<th>{{ 'Description'|t }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for module in modules %}
|
||||
{% set zebra = cycle(['odd', 'even'], loop.index0) -%}
|
||||
<tr{{ module.attributes.addClass(zebra) }}>
|
||||
<td align="center">
|
||||
{{- module.checkbox -}}
|
||||
</td>
|
||||
<td>
|
||||
<label for="{{ module.checkbox_id }}" class="module-name table-filter-text-source">{{ module.name }}</label>
|
||||
</td>
|
||||
<td class="description">
|
||||
<span class="text module-description">{{ module.description }}</span>
|
||||
{% if module.reasons_count > 0 %}
|
||||
<div class="admin-requirements">
|
||||
{%- trans -%}
|
||||
The following reason prevents {{ module.module_name }} from being uninstalled:
|
||||
{%- plural module.reasons_count -%}
|
||||
The following reasons prevent {{ module.module_name }} from being uninstalled:
|
||||
{%- endtrans %}
|
||||
<div class="item-list">
|
||||
<ul>
|
||||
{%- for reason in module.validation_reasons -%}
|
||||
<li>{{ reason }}</li>
|
||||
{%- endfor -%}
|
||||
{%- if module.required_by -%}
|
||||
<li>{{ 'Required by: @module-list'|t({'@module-list': module.required_by|safe_join(', ') }) }}</li>
|
||||
{%- endif -%}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="odd">
|
||||
<td colspan="3" class="empty message">{{ 'No modules are available to uninstall.'|t }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{ form|without('filters', 'modules', 'uninstall') }}
|
|
@ -0,0 +1,74 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the Appearance page.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the main container.
|
||||
* - theme_groups: A list of theme groups. Each theme group contains:
|
||||
* - attributes: HTML attributes specific to this theme group.
|
||||
* - title: Title for the theme group.
|
||||
* - state: State of the theme group, e.g. installed or uninstalled.
|
||||
* - themes: A list of themes within the theme group. Each theme contains:
|
||||
* - attributes: HTML attributes specific to this theme.
|
||||
* - screenshot: A screenshot representing the theme.
|
||||
* - description: Description of the theme.
|
||||
* - name: Theme name.
|
||||
* - version: The theme's version number.
|
||||
* - is_default: Boolean indicating whether the theme is the default theme
|
||||
* or not.
|
||||
* - is_admin: Boolean indicating whether the theme is the admin theme or
|
||||
* not.
|
||||
* - notes: Identifies what context this theme is being used in, e.g.,
|
||||
* default theme, admin theme.
|
||||
* - incompatible: Text describing any compatibility issues.
|
||||
* - operations: A list of operation links, e.g., Settings, Enable, Disable,
|
||||
* etc. these links should only be displayed if the theme is compatible.
|
||||
*
|
||||
* @see template_preprocess_system_themes_page()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{% for theme_group in theme_groups %}
|
||||
{%
|
||||
set theme_group_classes = [
|
||||
'system-themes-list',
|
||||
'system-themes-list-' ~ theme_group.state,
|
||||
'clearfix',
|
||||
]
|
||||
%}
|
||||
<div{{ theme_group.attributes.addClass(theme_group_classes) }}>
|
||||
<h2 class="system-themes-list__header">{{ theme_group.title }}</h2>
|
||||
{% for theme in theme_group.themes %}
|
||||
{%
|
||||
set theme_classes = [
|
||||
theme.is_default ? 'theme-default',
|
||||
theme.is_admin ? 'theme-admin',
|
||||
'theme-selector',
|
||||
'clearfix',
|
||||
]
|
||||
%}
|
||||
<div{{ theme.attributes.addClass(theme_classes) }}>
|
||||
{% if theme.screenshot %}
|
||||
{{ theme.screenshot }}
|
||||
{% endif %}
|
||||
<div class="theme-info">
|
||||
<h3 class="theme-info__header">
|
||||
{{- theme.name }} {{ theme.version -}}
|
||||
{% if theme.notes %}
|
||||
({{ theme.notes|safe_join(', ') }})
|
||||
{%- endif -%}
|
||||
</h3>
|
||||
<div class="theme-info__description">{{ theme.description }}</div>
|
||||
{# Display operation links if the theme is compatible. #}
|
||||
{% if theme.incompatible %}
|
||||
<div class="incompatible">{{ theme.incompatible }}</div>
|
||||
{% else %}
|
||||
{{ theme.operations }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -0,0 +1,24 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for displaying a tablesort indicator.
|
||||
*
|
||||
* Available variables:
|
||||
* - style: Either 'asc' or 'desc', indicating the sorting direction.
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'tablesort',
|
||||
'tablesort--' ~ style,
|
||||
]
|
||||
%}
|
||||
<span{{ attributes.addClass(classes) }}>
|
||||
<span class="visually-hidden">
|
||||
{% if style == 'asc' -%}
|
||||
{{ 'Sort ascending'|t }}
|
||||
{% else -%}
|
||||
{{ 'Sort descending'|t }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the last time update data was checked.
|
||||
*
|
||||
* Available variables:
|
||||
* - last: The timestamp that the site was last checked for updates.
|
||||
* - time: The formatted time since the site last checked for updates.
|
||||
* - link: A link to check for updates manually.
|
||||
*
|
||||
* @see template_preprocess_update_last_check()
|
||||
*/
|
||||
#}
|
||||
<p>
|
||||
{% if last %}
|
||||
{{ 'Last checked: @time ago'|t({'@time': time}) }}
|
||||
{% else %}
|
||||
{{ 'Last checked: never'|t }}
|
||||
{% endif %}
|
||||
({{ link }})
|
||||
</p>
|
|
@ -0,0 +1,104 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the project status report.
|
||||
*
|
||||
* Available variables:
|
||||
* - title: The project title.
|
||||
* - url: The project url.
|
||||
* - status: The project status.
|
||||
* - label: The project status label.
|
||||
* - attributes: HTML attributes for the project status.
|
||||
* - reason: The reason you should update the project.
|
||||
* - icon: The project status version indicator icon.
|
||||
* - existing_version: The version of the installed project.
|
||||
* - versions: The available versions of the project.
|
||||
* - install_type: The type of project (e.g., dev).
|
||||
* - datestamp: The date/time of a project version's release.
|
||||
* - extras: HTML attributes and additional information about the project.
|
||||
* - attributes: HTML attributes for the extra item.
|
||||
* - label: The label for an extra item.
|
||||
* - data: The data about an extra item.
|
||||
* - includes: The projects within the project.
|
||||
* - disabled: The currently disabled projects in the project.
|
||||
*
|
||||
* @see template_preprocess_update_project_status()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set status_classes = [
|
||||
project.status == constant('UPDATE_NOT_SECURE') ? 'project-update__status--security-error',
|
||||
project.status == constant('UPDATE_REVOKED') ? 'project-update__status--revoked',
|
||||
project.status == constant('UPDATE_NOT_SUPPORTED') ? 'project-update__status--not-supported',
|
||||
project.status == constant('UPDATE_NOT_CURRENT') ? 'project-update__status--not-current',
|
||||
project.status == constant('UPDATE_CURRENT') ? 'project-update__status--current',
|
||||
]
|
||||
%}
|
||||
<div{{ status.attributes.addClass('project-update__status', status_classes) }}>
|
||||
{%- if status.label -%}
|
||||
<span>{{ status.label }}</span>
|
||||
{%- else -%}
|
||||
{{ status.reason }}
|
||||
{%- endif %}
|
||||
<span class="project-update__status-icon">
|
||||
{{ status.icon }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="project-update__title">
|
||||
{%- if url -%}
|
||||
<a href="{{ url }}">{{ title }}</a>
|
||||
{%- else -%}
|
||||
{{ title }}
|
||||
{%- endif %}
|
||||
{{ existing_version }}
|
||||
{% if install_type == 'dev' and datestamp %}
|
||||
<span class="project-update__version-date">({{ datestamp }})</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if versions %}
|
||||
{% for version in versions %}
|
||||
{{ version }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{%
|
||||
set extra_classes = [
|
||||
project.status == constant('UPDATE_NOT_SECURE') ? 'project-not-secure',
|
||||
project.status == constant('UPDATE_REVOKED') ? 'project-revoked',
|
||||
project.status == constant('UPDATE_NOT_SUPPORTED') ? 'project-not-supported',
|
||||
]
|
||||
%}
|
||||
<div class="project-updates__details">
|
||||
{% if extras %}
|
||||
<div class="extra">
|
||||
{% for extra in extras %}
|
||||
<div{{ extra.attributes.addClass(extra_classes) }}>
|
||||
{{ extra.label }}: {{ extra.data }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% set includes = includes|join(', ') %}
|
||||
{% if disabled %}
|
||||
{{ 'Includes:'|t }}
|
||||
<ul>
|
||||
<li>
|
||||
{% trans %}
|
||||
Enabled: {{ includes|placeholder }}
|
||||
{% endtrans %}
|
||||
</li>
|
||||
<li>
|
||||
{% set disabled = disabled|join(', ') %}
|
||||
{% trans %}
|
||||
Disabled: {{ disabled|placeholder }}
|
||||
{% endtrans %}
|
||||
</li>
|
||||
</ul>
|
||||
{% else %}
|
||||
{% trans %}
|
||||
Includes: {{ includes|placeholder }}
|
||||
{% endtrans %}
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the project status report.
|
||||
*
|
||||
* Available variables:
|
||||
* - last_checked: Themed last time update data was checked.
|
||||
* - no_updates_message: Message when there are no project updates.
|
||||
* - project_types: A list of project types.
|
||||
* - label: The project type label.
|
||||
* - table: The project status table.
|
||||
*
|
||||
* @see template_preprocess_update_report()
|
||||
*/
|
||||
#}
|
||||
{{ last_checked }}
|
||||
|
||||
{% for project_type in project_types %}
|
||||
<h3>{{ project_type.label }}</h3>
|
||||
{{ project_type.table }}
|
||||
{% else %}
|
||||
<p>{{ no_updates_message }}</p>
|
||||
{% endfor %}
|
|
@ -0,0 +1,34 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the version display of a project.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes suitable for a container element.
|
||||
* - title: The title of the project.
|
||||
* - version: A list of data about the latest released version, containing:
|
||||
* - version: The version number.
|
||||
* - date: The date of the release.
|
||||
* - download_link: The URL for the downloadable file.
|
||||
* - release_link: The URL for the release notes.
|
||||
*/
|
||||
#}
|
||||
<div class="{{ attributes.class }} project-update__version"{{ attributes|without('class') }}>
|
||||
<div class="clearfix">
|
||||
<div class="project-update__version-title layout-column layout-column--quarter">{{ title }}</div>
|
||||
<div class="project-update__version-details layout-column layout-column--quarter">
|
||||
<a href="{{ version.release_link }}">{{ version.version }}</a>
|
||||
<span class="project-update__version-date">({{ version.date|date('Y-M-d') }})</span>
|
||||
</div>
|
||||
<div class="layout-column layout-column--half">
|
||||
<ul class="project-update__version-links">
|
||||
<li class="project-update__download-link">
|
||||
<a href="{{ version.download_link }}">{{ 'Download'|t }}</a>
|
||||
</li>
|
||||
<li class="project-update__release-notes-link">
|
||||
<a href="{{ version.release_link }}">{{ 'Release notes'|t }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,55 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for Views UI build group filter form.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: A render element representing the form. Contains the following:
|
||||
* - form_description: The exposed filter's description.
|
||||
* - expose_button: The button to toggle the expose filter form.
|
||||
* - group_button: Toggle options between single and grouped filters.
|
||||
* - label: A filter label input field.
|
||||
* - description: A filter description field.
|
||||
* - value: The filters available values.
|
||||
* - optional: A checkbox to require this filter or not.
|
||||
* - remember: A checkbox to remember selected filter value(s) (per user).
|
||||
* - widget: Radio Buttons to select the filter widget.
|
||||
* - add_group: A button to add another row to the table.
|
||||
* - more: A details element for additional field exposed filter fields.
|
||||
* - table: A rendered table element of the group filter form.
|
||||
*
|
||||
* @see template_preprocess_views_ui_build_group_filter_form()
|
||||
*/
|
||||
#}
|
||||
{{ form.form_description }}
|
||||
{{ form.expose_button }}
|
||||
{{ form.group_button }}
|
||||
<div class="views-left-40">
|
||||
{{ form.optional }}
|
||||
{{ form.remember }}
|
||||
</div>
|
||||
<div class="views-right-60">
|
||||
{{ form.widget }}
|
||||
{{ form.label }}
|
||||
{{ form.description }}
|
||||
</div>
|
||||
{#
|
||||
Render the rest of the form elements excluding elements that are rendered
|
||||
elsewhere.
|
||||
#}
|
||||
{{ form|without(
|
||||
'form_description',
|
||||
'expose_button',
|
||||
'group_button',
|
||||
'optional',
|
||||
'remember',
|
||||
'widget',
|
||||
'label',
|
||||
'description',
|
||||
'add_group',
|
||||
'more'
|
||||
)
|
||||
}}
|
||||
{{ table }}
|
||||
{{ form.add_group }}
|
||||
{{ form.more }}
|
|
@ -0,0 +1,11 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a generic views UI container/wrapper.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes to apply to the container element.
|
||||
* - children: The remaining elements such as dropbuttons and tabs.
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>{{ children }}</div>
|
|
@ -0,0 +1,33 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for each "box" on the display query edit screen.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes to apply to the container element.
|
||||
* - actions: Action links such as "Add", "And/Or, Rearrange" for the content.
|
||||
* - title: The title of the bucket, e.g. "Fields", "Filter Criteria", etc.
|
||||
* - content: Content items such as fields or settings in this container.
|
||||
* - name: The name of the bucket, e.g. "Fields", "Filter Criteria", etc.
|
||||
* - overridden: A boolean indicating the setting has been overridden from the
|
||||
* default.
|
||||
*
|
||||
* @see template_preprocess_views_ui_display_tab_bucket()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'views-ui-display-tab-bucket',
|
||||
name ? name|clean_class,
|
||||
overridden ? 'overridden',
|
||||
]
|
||||
%}
|
||||
<div{{ attributes.addClass(classes) }}>
|
||||
{% if title -%}
|
||||
<h3 class="views-ui-display-tab-bucket__title">{{ title }}</h3>
|
||||
{%- endif %}
|
||||
{% if actions -%}
|
||||
{{ actions }}
|
||||
{%- endif %}
|
||||
{{ content }}
|
||||
</div>
|
|
@ -0,0 +1,35 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for Views UI display tab settings.
|
||||
*
|
||||
* Template for each row inside the "boxes" on the display query edit screen.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes such as class for the container.
|
||||
* - description: The description or label for this setting.
|
||||
* - settings_links: A list of links for this setting.
|
||||
* - defaulted: A boolean indicating the setting is in its default state.
|
||||
* - overridden: A boolean indicating the setting has been overridden from the
|
||||
* default.
|
||||
*
|
||||
* @see template_preprocess_views_ui_display_tab_setting()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'views-display-setting',
|
||||
'clearfix',
|
||||
'views-ui-display-tab-setting',
|
||||
defaulted ? 'defaulted',
|
||||
overridden ? 'overridden',
|
||||
]
|
||||
%}
|
||||
<div{{ attributes.addClass(classes) }}>
|
||||
{% if description -%}
|
||||
<span class="label">{{ description }}</span>
|
||||
{%- endif %}
|
||||
{% if settings_links %}
|
||||
{{ settings_links|safe_join('<span class="label"> | </span>') }}
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,65 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for exposed filter form.
|
||||
*
|
||||
* Available variables:
|
||||
* - form_description: The exposed filter's description.
|
||||
* - expose_button: The button to toggle the expose filter form.
|
||||
* - group_button: Toggle options between single and grouped filters.
|
||||
* - required: A checkbox to require this filter or not.
|
||||
* - label: A filter label input field.
|
||||
* - description: A filter description field.
|
||||
* - operator: The operators for how the filters value should be treated.
|
||||
* - #type: The operator type.
|
||||
* - value: The filters available values.
|
||||
* - use_operator: Checkbox to allow the user to expose the operator.
|
||||
* - more: A details element for additional field exposed filter fields.
|
||||
*/
|
||||
#}
|
||||
{{ form.form_description }}
|
||||
{{ form.expose_button }}
|
||||
{{ form.group_button }}
|
||||
{{ form.required }}
|
||||
{{ form.label }}
|
||||
{{ form.description }}
|
||||
|
||||
{{ form.operator }}
|
||||
{{ form.value }}
|
||||
|
||||
{% if form.use_operator %}
|
||||
<div class="views-left-40">
|
||||
{{ form.use_operator }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{#
|
||||
Collect a list of elements printed to exclude when printing the
|
||||
remaining elements.
|
||||
#}
|
||||
{% set remaining_form = form|without(
|
||||
'form_description',
|
||||
'expose_button',
|
||||
'group_button',
|
||||
'required',
|
||||
'label',
|
||||
'description',
|
||||
'operator',
|
||||
'value',
|
||||
'use_operator',
|
||||
'more'
|
||||
)
|
||||
%}
|
||||
|
||||
{#
|
||||
Only output the right column markup if there's a left column to begin with.
|
||||
#}
|
||||
{% if form.operator['#type'] %}
|
||||
<div class="views-right-60">
|
||||
{{ remaining_form }}
|
||||
</div>
|
||||
{% else %}
|
||||
{{ remaining_form }}
|
||||
{% endif %}
|
||||
|
||||
{{ form.more }}
|
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for Views UI rearrange filter form.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: A render element representing the form.
|
||||
* - grouping: A flag whether or not there is more than one group.
|
||||
* - ungroupable_table: The ungroupable filter table.
|
||||
* - table: The groupable filter table.
|
||||
*
|
||||
* @see template_preprocess_views_ui_rearrange_filter_form()
|
||||
*/
|
||||
#}
|
||||
{{ form.override }}
|
||||
<div class="scroll" data-drupal-views-scroll>
|
||||
{% if grouping %}
|
||||
{{ form.filter_groups.operator }}
|
||||
{% else %}
|
||||
{{ form.filter_groups.groups.0 }}
|
||||
{% endif %}
|
||||
{{ ungroupable_table }}
|
||||
{{ table }}
|
||||
</div>
|
||||
{{ form|without('override', 'filter_groups', 'remove_groups', 'filters') }}
|
|
@ -0,0 +1,16 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the settings of a table style views display.
|
||||
*
|
||||
* Available variables:
|
||||
* - table: A table of options for each field in this display.
|
||||
* - form: Any remaining form fields not included in the table.
|
||||
* - description_markup: An overview for the settings of this display.
|
||||
*
|
||||
* @see template_preprocess_views_ui_style_plugin_table()
|
||||
*/
|
||||
#}
|
||||
{{ form.description_markup }}
|
||||
{{ table }}
|
||||
{{ form }}
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for basic administrative info about a View.
|
||||
*
|
||||
* Available variables:
|
||||
* - displays: List of displays.
|
||||
*/
|
||||
#}
|
||||
<h3 class="views-ui-view-title" data-drupal-selector="views-table-filter-text-source">{{ view.label }}</h3>
|
||||
<div class="views-ui-view-displays">
|
||||
{% if displays %}
|
||||
{% trans %}
|
||||
Display
|
||||
{% plural displays %}
|
||||
Displays
|
||||
{% endtrans %}:
|
||||
<em>{{ displays|safe_join(', ') }}</em>
|
||||
{% else %}
|
||||
{{ 'None'|t }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="views-ui-view-machine-name">
|
||||
{{ 'Machine name:'|t }}
|
||||
<span data-drupal-selector="views-table-filter-text-source">{{ view.id }}</span>
|
||||
</div>
|
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a views UI preview section.
|
||||
*
|
||||
* Available variables:
|
||||
* - title: The human readable section title.
|
||||
* - links: A list of contextual links.
|
||||
* - content: The content for this section preview.
|
||||
*
|
||||
* @see template_preprocess_views_ui_view_preview_section()
|
||||
*/
|
||||
#}
|
||||
<h1 class="section-title">{{ title }}</h1>
|
||||
{% if links %}
|
||||
<div class="contextual">{{ links }}</div>
|
||||
{% endif %}
|
||||
<div class="preview-section">{{ content }}</div>
|
|
@ -0,0 +1,12 @@
|
|||
{% extends "block.html.twig" %}
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for local actions (primary admin actions.)
|
||||
*/
|
||||
#}
|
||||
{% block content %}
|
||||
{% if content %}
|
||||
<nav>{{ content }}</nav>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -0,0 +1,26 @@
|
|||
{% extends "block.html.twig" %}
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a branding block.
|
||||
*
|
||||
* Each branding element variable (logo, name, slogan) is only available if
|
||||
* enabled in the block configuration.
|
||||
*
|
||||
* Available variables:
|
||||
* - site_logo: Logo for site as defined in Appearance or theme settings.
|
||||
* - site_name: Name for site as defined in Site information settings.
|
||||
* - site_slogan: Slogan for site as defined in Site information settings.
|
||||
*/
|
||||
#}
|
||||
{% block content %}
|
||||
{% if site_logo %}
|
||||
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">
|
||||
<img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if site_name %}
|
||||
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a>
|
||||
{% endif %}
|
||||
{{ site_slogan }}
|
||||
{% endblock %}
|
|
@ -0,0 +1,48 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a menu block.
|
||||
*
|
||||
* Available variables:
|
||||
* - plugin_id: The ID of the block implementation.
|
||||
* - label: The configured label of the block if visible.
|
||||
* - configuration: A list of the block's configuration values.
|
||||
* - label: The configured label for the block.
|
||||
* - label_display: The display settings for the label.
|
||||
* - provider: The module or other provider that provided this block plugin.
|
||||
* - Block plugin specific settings will also be stored here.
|
||||
* - content: The content of this block.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - id: A valid HTML ID and guaranteed unique.
|
||||
* - title_attributes: HTML attributes for the title element.
|
||||
* - content_attributes: HTML attributes for the content element.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*
|
||||
* Headings should be used on navigation menus that consistently appear on
|
||||
* multiple pages. When this menu block's label is configured to not be
|
||||
* displayed, it is automatically made invisible using the 'visually-hidden' CSS
|
||||
* class, which still keeps it visible for screen-readers and assistive
|
||||
* technology. Headings allow screen-reader and keyboard only users to navigate
|
||||
* to or skip the links.
|
||||
* See http://juicystudio.com/article/screen-readers-display-none.php and
|
||||
* http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
|
||||
*/
|
||||
#}
|
||||
{% set heading_id = attributes.id ~ '-menu'|clean_id %}
|
||||
<nav role="navigation" aria-labelledby="{{ heading_id }}"{{ attributes|without('role', 'aria-labelledby') }}>
|
||||
{# Label. If not displayed, we still provide it for screen readers. #}
|
||||
{% if not configuration.label_display %}
|
||||
{% set title_attributes = title_attributes.addClass('visually-hidden') %}
|
||||
{% endif %}
|
||||
{{ title_prefix }}
|
||||
<h2{{ title_attributes.setAttribute('id', heading_id) }}>{{ configuration.label }}</h2>
|
||||
{{ title_suffix }}
|
||||
|
||||
{# Menu. #}
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
</nav>
|
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the messages block.
|
||||
*
|
||||
* Removes wrapper elements from block so that empty block does not appear when
|
||||
* there are no messages.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The content of this block.
|
||||
*/
|
||||
#}
|
||||
{{ content }}
|
37
web/core/themes/stable/templates/block/block.html.twig
Normal file
37
web/core/themes/stable/templates/block/block.html.twig
Normal file
|
@ -0,0 +1,37 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a block.
|
||||
*
|
||||
* Available variables:
|
||||
* - plugin_id: The ID of the block implementation.
|
||||
* - label: The configured label of the block if visible.
|
||||
* - configuration: A list of the block's configuration values.
|
||||
* - label: The configured label for the block.
|
||||
* - label_display: The display settings for the label.
|
||||
* - provider: The module or other provider that provided this block plugin.
|
||||
* - Block plugin specific settings will also be stored here.
|
||||
* - content: The content of this block.
|
||||
* - attributes: array of HTML attributes populated by modules, intended to
|
||||
* be added to the main container tag of this template.
|
||||
* - id: A valid HTML ID and guaranteed unique.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*
|
||||
* @see template_preprocess_block()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{{ title_prefix }}
|
||||
{% if label %}
|
||||
<h2{{ title_attributes }}>{{ label }}</h2>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
</div>
|
|
@ -0,0 +1,30 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to present a list of available bundles.
|
||||
*
|
||||
* Available variables:
|
||||
* - bundles: A list of bundles, each with the following properties:
|
||||
* - label: Bundle label.
|
||||
* - description: Bundle description.
|
||||
* - add_link: Link to create an entity of this bundle.
|
||||
* - add_bundle_message: The message shown when there are no bundles. Only
|
||||
* available if the entity type uses bundle entities.
|
||||
*
|
||||
* @see template_preprocess_entity_add_list()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% if bundles is not empty %}
|
||||
<dl>
|
||||
{% for bundle in bundles %}
|
||||
<dt>{{ bundle.add_link }}</dt>
|
||||
<dd>{{ bundle.description }}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% elseif add_bundle_message is not empty %}
|
||||
<p>
|
||||
{{ add_bundle_message }}
|
||||
</p>
|
||||
{% endif %}
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a file form widget.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: Form element for the file upload.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
*
|
||||
* @see template_preprocess_file_managed_file()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'js-form-managed-file',
|
||||
'form-managed-file',
|
||||
]
|
||||
%}
|
||||
<div{{ attributes.addClass(classes) }}>
|
||||
{{ element }}
|
||||
</div>
|
|
@ -0,0 +1,12 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display help text for file fields.
|
||||
*
|
||||
* Available variables:
|
||||
* - descriptions: Lines of help text for uploading a file.
|
||||
*
|
||||
* @see template_preprocess_file_upload_help()
|
||||
*/
|
||||
#}
|
||||
{{ descriptions|safe_join('<br />') }}
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a multi file form widget.
|
||||
*
|
||||
* Available variables:
|
||||
* - table: Table of previously uploaded files.
|
||||
* - element: The form element for uploading another file.
|
||||
*
|
||||
* @see template_preprocess_file_widget_multiple()
|
||||
*/
|
||||
#}
|
||||
{{ table }}
|
||||
{{ element }}
|
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a filter caption.
|
||||
*
|
||||
* Returns HTML for a captioned image, audio, video or other tag.
|
||||
*
|
||||
* Available variables
|
||||
* - string node: The complete HTML tag whose contents are being captioned.
|
||||
* - string tag: The name of the HTML tag whose contents are being captioned.
|
||||
* - string caption: The caption text.
|
||||
* - string classes: The classes of the captioned HTML tag.
|
||||
*/
|
||||
#}
|
||||
<figure role="group"{%- if classes %} class="{{ classes }}"{%- endif %}>
|
||||
{{ node }}
|
||||
<figcaption>{{ caption }}</figcaption>
|
||||
</figure>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for guidelines for a text format.
|
||||
*
|
||||
* Available variables:
|
||||
* - format: Contains information about the current text format, including the
|
||||
* following:
|
||||
* - name: The name of the text format, potentially unsafe and needs to be
|
||||
* escaped.
|
||||
* - format: The machine name of the text format, e.g. 'basic_html'.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
|
||||
* (only used when 'long' is TRUE) for each filter in one or more text
|
||||
* formats.
|
||||
*
|
||||
* @see template_preprocess_filter_tips()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
<h4>{{ format.label }}</h4>
|
||||
{{ tips }}
|
||||
</div>
|
|
@ -0,0 +1,44 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a set of filter tips.
|
||||
*
|
||||
* Available variables:
|
||||
* - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
|
||||
* (only used when 'long' is TRUE) for each filter in one or more text
|
||||
* formats.
|
||||
* - long: A flag indicating whether the passed-in filter tips contain extended
|
||||
* explanations, i.e. intended to be output on the path 'filter/tips'
|
||||
* (TRUE), or are in a short format, i.e. suitable to be displayed below a
|
||||
* form element. Defaults to FALSE.
|
||||
* - multiple: A flag indicating there is more than one filter tip.
|
||||
*
|
||||
* @see template_preprocess_filter_tips()
|
||||
*/
|
||||
#}
|
||||
{% if multiple %}
|
||||
<h2>{{ 'Text Formats'|t }}</h2>
|
||||
{% endif %}
|
||||
|
||||
{% if tips|length %}
|
||||
{% for name, tip in tips %}
|
||||
|
||||
{% if multiple %}
|
||||
<div{{ attributes }}>
|
||||
<h3>{{ tip.name }}</h3>
|
||||
{% endif %}
|
||||
|
||||
{% if tip.list|length %}
|
||||
<ul>
|
||||
{% for item in tip.list %}
|
||||
<li{{ tip.attributes }}>{{ item.tip }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if multiple %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% endif %}
|
|
@ -0,0 +1,17 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an image field widget.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - data: Render elements of the image widget.
|
||||
*
|
||||
* @see template_preprocess_image_widget()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{{ data.preview }}
|
||||
{# Render widget data without the image preview that was output already. #}
|
||||
{{ data|without('preview') }}
|
||||
</div>
|
|
@ -0,0 +1,30 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to list node types available for adding content.
|
||||
*
|
||||
* This list is displayed on the Add content admin page.
|
||||
*
|
||||
* Available variables:
|
||||
* - types: A list of content types, each with the following properties:
|
||||
* - add_link: Link to create a piece of content of this type.
|
||||
* - description: Description of this type of content.
|
||||
*
|
||||
* @see template_preprocess_node_add_list()
|
||||
*/
|
||||
#}
|
||||
{% if types is not empty %}
|
||||
<dl>
|
||||
{% for type in types %}
|
||||
<dt>{{ type.add_link }}</dt>
|
||||
<dd>{{ type.description }}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% else %}
|
||||
<p>
|
||||
{% set create_content = path('node.type_add') %}
|
||||
{% trans %}
|
||||
You have not created any content types yet. Go to the <a href="{{ create_content }}">content type creation page</a> to add a new content type.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
{% endif %}
|
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a node edit form.
|
||||
*
|
||||
* Two column template for the node add/edit form.
|
||||
*
|
||||
* This template will be used when a node edit form specifies 'node_edit_form'
|
||||
* as its #theme callback. Otherwise, by default, node add/edit forms will be
|
||||
* themed by form.html.twig.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: The node add/edit form.
|
||||
*
|
||||
* @see seven_form_node_form_alter()
|
||||
*/
|
||||
#}
|
||||
{{ form }}
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a text format-enabled form element.
|
||||
*
|
||||
* Available variables:
|
||||
* - children: Text format element children.
|
||||
* - description: Text format element description.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - aria_description: Flag for whether or not an ARIA description has been
|
||||
* added to the description container.
|
||||
*
|
||||
* @see template_preprocess_text_format_wrapper()
|
||||
*/
|
||||
#}
|
||||
<div class="js-text-format-wrapper js-form-item form-item">
|
||||
{{ children }}
|
||||
{% if description %}
|
||||
<div{{ attributes }}>{{ description }}</div>
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,29 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to present a feed item in an aggregator page.
|
||||
*
|
||||
* Available variables:
|
||||
* - url: URL to the originating feed item.
|
||||
* - title: Title of the feed item.
|
||||
* - content: All field items. Use {{ content }} to print them all,
|
||||
* or print a subset such as {{ content.field_example }}. Use
|
||||
* {{ content|without('field_example') }} to temporarily suppress the printing
|
||||
* of a given element.
|
||||
* - attributes: HTML attributes for the wrapper.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*
|
||||
* @see template_preprocess_aggregator_item()
|
||||
*/
|
||||
#}
|
||||
<article{{ attributes }}>
|
||||
{{ title_prefix }}
|
||||
<h3>
|
||||
<a href="{{ url }}">{{ title }}</a>
|
||||
</h3>
|
||||
{{ title_suffix }}
|
||||
{{ content }}
|
||||
</article>
|
|
@ -0,0 +1,20 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a single node in a printer-friendly outline.
|
||||
*
|
||||
* Available variables:
|
||||
* - node: Fully loaded node.
|
||||
* - depth: Depth of the current node inside the outline.
|
||||
* - title: Node title.
|
||||
* - content: Node content.
|
||||
* - children: All the child nodes recursively rendered through this file.
|
||||
*
|
||||
* @see template_preprocess_book_node_export_html()
|
||||
*/
|
||||
#}
|
||||
<article>
|
||||
<h1>{{ title }}</h1>
|
||||
{{ content }}
|
||||
{{ children }}
|
||||
</article>
|
100
web/core/themes/stable/templates/content/comment.html.twig
Normal file
100
web/core/themes/stable/templates/content/comment.html.twig
Normal file
|
@ -0,0 +1,100 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for comments.
|
||||
*
|
||||
* Available variables:
|
||||
* - author: Comment author. Can be a link or plain text.
|
||||
* - content: The content-related items for the comment display. Use
|
||||
* {{ content }} to print them all, or print a subset such as
|
||||
* {{ content.field_example }}. Use the following code to temporarily suppress
|
||||
* the printing of a given child element:
|
||||
* @code
|
||||
* {{ content|without('field_example') }}
|
||||
* @endcode
|
||||
* - created: Formatted date and time for when the comment was created.
|
||||
* Preprocess functions can reformat it by calling format_date() with the
|
||||
* desired parameters on the 'comment.created' variable.
|
||||
* - changed: Formatted date and time for when the comment was last changed.
|
||||
* Preprocess functions can reformat it by calling format_date() with the
|
||||
* desired parameters on the 'comment.changed' variable.
|
||||
* - permalink: Comment permalink.
|
||||
* - submitted: Submission information created from author and created
|
||||
* during template_preprocess_comment().
|
||||
* - user_picture: The comment author's profile picture.
|
||||
* - status: Comment status. Possible values are:
|
||||
* unpublished, published, or preview.
|
||||
* - title: Comment title, linked to the comment.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* The attributes.class may contain one or more of the following classes:
|
||||
* - comment: The current template type; e.g., 'theming hook'.
|
||||
* - by-anonymous: Comment by an unregistered user.
|
||||
* - by-{entity-type}-author: Comment by the author of the parent entity,
|
||||
* eg. by-node-author.
|
||||
* - preview: When previewing a new or edited comment.
|
||||
* The following applies only to viewers who are registered users:
|
||||
* - unpublished: An unpublished comment visible only to administrators.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
* - content_attributes: List of classes for the styling of the comment content.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - threaded: A flag indicating whether the comments are threaded or not.
|
||||
*
|
||||
* These variables are provided to give context about the parent comment (if
|
||||
* any):
|
||||
* - comment_parent: Full parent comment entity (if any).
|
||||
* - parent_author: Equivalent to author for the parent comment.
|
||||
* - parent_created: Equivalent to created for the parent comment.
|
||||
* - parent_changed: Equivalent to changed for the parent comment.
|
||||
* - parent_title: Equivalent to title for the parent comment.
|
||||
* - parent_permalink: Equivalent to permalink for the parent comment.
|
||||
* - parent: A text string of parent comment submission information created from
|
||||
* 'parent_author' and 'parent_created' during template_preprocess_comment().
|
||||
* This information is presented to help screen readers follow lengthy
|
||||
* discussion threads. You can hide this from sighted users using the class
|
||||
* visually-hidden.
|
||||
*
|
||||
* These two variables are provided for context:
|
||||
* - comment: Full comment object.
|
||||
* - entity: Entity the comments are attached to.
|
||||
*
|
||||
* @see template_preprocess_comment()
|
||||
*/
|
||||
#}
|
||||
|
||||
<article{{ attributes.addClass('js-comment') }}>
|
||||
{#
|
||||
Hide the "new" indicator by default, let a piece of JavaScript ask the
|
||||
server which comments are new for the user. Rendering the final "new"
|
||||
indicator here would break the render cache.
|
||||
#}
|
||||
<mark class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></mark>
|
||||
|
||||
<footer>
|
||||
{{ user_picture }}
|
||||
<p>{{ submitted }}</p>
|
||||
|
||||
{#
|
||||
Indicate the semantic relationship between parent and child comments for
|
||||
accessibility. The list is difficult to navigate in a screen reader
|
||||
without this information.
|
||||
#}
|
||||
{% if parent %}
|
||||
<p class="visually-hidden">{{ parent }}</p>
|
||||
{% endif %}
|
||||
|
||||
{{ permalink }}
|
||||
</footer>
|
||||
|
||||
<div{{ content_attributes }}>
|
||||
{% if title %}
|
||||
{{ title_prefix }}
|
||||
<h3{{ title_attributes }}>{{ title }}</h3>
|
||||
{{ title_suffix }}
|
||||
{% endif %}
|
||||
{{ content }}
|
||||
</div>
|
||||
</article>
|
20
web/core/themes/stable/templates/content/mark.html.twig
Normal file
20
web/core/themes/stable/templates/content/mark.html.twig
Normal file
|
@ -0,0 +1,20 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a marker for new or updated content.
|
||||
*
|
||||
* Available variables:
|
||||
* - status: Number representing the marker status to display. Use the constants
|
||||
* below for comparison:
|
||||
* - MARK_NEW
|
||||
* - MARK_UPDATED
|
||||
* - MARK_READ
|
||||
*/
|
||||
#}
|
||||
{% if logged_in %}
|
||||
{% if status is constant('MARK_NEW') %}
|
||||
{{ 'New'|t }}
|
||||
{% elseif status is constant('MARK_UPDATED') %}
|
||||
{{ 'Updated'|t }}
|
||||
{% endif %}
|
||||
{% endif %}
|
97
web/core/themes/stable/templates/content/node.html.twig
Normal file
97
web/core/themes/stable/templates/content/node.html.twig
Normal file
|
@ -0,0 +1,97 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a node.
|
||||
*
|
||||
* Available variables:
|
||||
* - node: The node entity with limited access to object properties and methods.
|
||||
* Only method names starting with "get", "has", or "is" and a few common
|
||||
* methods such as "id", "label", and "bundle" are available. For example:
|
||||
* - node.getCreatedTime() will return the node creation timestamp.
|
||||
* - node.hasField('field_example') returns TRUE if the node bundle includes
|
||||
* field_example. (This does not indicate the presence of a value in this
|
||||
* field.)
|
||||
* - node.isPublished() will return whether the node is published or not.
|
||||
* Calling other methods, such as node.delete(), will result in an exception.
|
||||
* See \Drupal\node\Entity\Node for a full list of public properties and
|
||||
* methods for the node object.
|
||||
* - label: The title of the node.
|
||||
* - content: All node items. Use {{ content }} to print them all,
|
||||
* or print a subset such as {{ content.field_example }}. Use
|
||||
* {{ content|without('field_example') }} to temporarily suppress the printing
|
||||
* of a given child element.
|
||||
* - author_picture: The node author user entity, rendered using the "compact"
|
||||
* view mode.
|
||||
* - metadata: Metadata for this node.
|
||||
* - date: Themed creation date field.
|
||||
* - author_name: Themed author name field.
|
||||
* - url: Direct URL of the current node.
|
||||
* - display_submitted: Whether submission information should be displayed.
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* The attributes.class element may contain one or more of the following
|
||||
* classes:
|
||||
* - node: The current template type (also known as a "theming hook").
|
||||
* - node--type-[type]: The current node type. For example, if the node is an
|
||||
* "Article" it would result in "node--type-article". Note that the machine
|
||||
* name will often be in a short form of the human readable label.
|
||||
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
|
||||
* teaser would result in: "node--view-mode-teaser", and
|
||||
* full: "node--view-mode-full".
|
||||
* The following are controlled through the node publishing options.
|
||||
* - node--promoted: Appears on nodes promoted to the front page.
|
||||
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
|
||||
* teaser listings.
|
||||
* - node--unpublished: Appears on unpublished nodes visible only to site
|
||||
* admins.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - content_attributes: Same as attributes, except applied to the main
|
||||
* content tag that appears in the template.
|
||||
* - author_attributes: Same as attributes, except applied to the author of
|
||||
* the node tag that appears in the template.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
* - view_mode: View mode; for example, "teaser" or "full".
|
||||
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
|
||||
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
|
||||
* - readmore: Flag for more state. Will be true if the teaser content of the
|
||||
* node cannot hold the main body content.
|
||||
* - logged_in: Flag for authenticated user status. Will be true when the
|
||||
* current user is a logged-in member.
|
||||
* - is_admin: Flag for admin user status. Will be true when the current user
|
||||
* is an administrator.
|
||||
*
|
||||
* @see template_preprocess_node()
|
||||
*
|
||||
* @todo Remove the id attribute (or make it a class), because if that gets
|
||||
* rendered twice on a page this is invalid CSS for example: two lists
|
||||
* in different view modes.
|
||||
*/
|
||||
#}
|
||||
<article{{ attributes }}>
|
||||
|
||||
{{ title_prefix }}
|
||||
{% if not page %}
|
||||
<h2{{ title_attributes }}>
|
||||
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
|
||||
</h2>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
||||
|
||||
{% if display_submitted %}
|
||||
<footer>
|
||||
{{ author_picture }}
|
||||
<div{{ author_attributes }}>
|
||||
{% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
|
||||
{{ metadata }}
|
||||
</div>
|
||||
</footer>
|
||||
{% endif %}
|
||||
|
||||
<div{{ content_attributes }}>
|
||||
{{ content }}
|
||||
</div>
|
||||
|
||||
</article>
|
|
@ -0,0 +1,19 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for page titles.
|
||||
*
|
||||
* Available variables:
|
||||
* - title_attributes: HTML attributes for the page title element.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title: The page title, for use in the actual content.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*/
|
||||
#}
|
||||
{{ title_prefix }}
|
||||
{% if title %}
|
||||
<h1{{ title_attributes }}>{{ title }}</h1>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
|
@ -0,0 +1,69 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for displaying a single search result.
|
||||
*
|
||||
* This template renders a single search result. The list of results is
|
||||
* rendered using '#theme' => 'item_list', with suggestions of:
|
||||
* - item_list__search_results__(plugin_id)
|
||||
* - item_list__search_results
|
||||
*
|
||||
* Available variables:
|
||||
* - url: URL of the result.
|
||||
* - title: Title of the result.
|
||||
* - snippet: A small preview of the result. Does not apply to user searches.
|
||||
* - info: String of all the meta information ready for print. Does not apply
|
||||
* to user searches.
|
||||
* - plugin_id: The machine-readable name of the plugin being executed,such
|
||||
* as "node_search" or "user_search".
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
* - info_split: Contains same data as info, but split into separate parts.
|
||||
* - info_split.type: Node type (or item type string supplied by module).
|
||||
* - info_split.user: Author of the node linked to users profile. Depends
|
||||
* on permission.
|
||||
* - info_split.date: Last update of the node. Short formatted.
|
||||
* - info_split.comment: Number of comments output as "% comments", %
|
||||
* being the count. (Depends on comment.module).
|
||||
* @todo The info variable needs to be made drillable and each of these sub
|
||||
* items should instead be within info and renamed info.foo, info.bar, etc.
|
||||
*
|
||||
* Other variables:
|
||||
* - title_attributes: HTML attributes for the title.
|
||||
* - content_attributes: HTML attributes for the content.
|
||||
*
|
||||
* Since info_split is keyed, a direct print of the item is possible.
|
||||
* This array does not apply to user searches so it is recommended to check
|
||||
* for its existence before printing. The default keys of 'type', 'user' and
|
||||
* 'date' always exist for node searches. Modules may provide other data.
|
||||
* @code
|
||||
* {% if (info_split.comment) %}
|
||||
* <span class="info-comment">
|
||||
* {{ info_split.comment }}
|
||||
* </span>
|
||||
* {% endif %}
|
||||
* @endcode
|
||||
*
|
||||
* To check for all available data within info_split, use the code below.
|
||||
* @code
|
||||
* <pre>
|
||||
* {{ dump(info_split) }}
|
||||
* </pre>
|
||||
* @endcode
|
||||
*
|
||||
* @see template_preprocess_search_result()
|
||||
*/
|
||||
#}
|
||||
{{ title_prefix }}
|
||||
<h3{{ title_attributes }}>
|
||||
<a href="{{ url }}">{{ title }}</a>
|
||||
</h3>
|
||||
{{ title_suffix }}
|
||||
{% if snippet %}
|
||||
<p{{ content_attributes }}>{{ snippet }}</p>
|
||||
{% endif %}
|
||||
{% if info %}
|
||||
<p>{{ info }}</p>
|
||||
{% endif %}
|
|
@ -0,0 +1,33 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a taxonomy term.
|
||||
*
|
||||
* Available variables:
|
||||
* - url: URL of the current term.
|
||||
* - name: Name of the current term.
|
||||
* - content: Items for the content of the term (fields and description).
|
||||
* Use 'content' to print them all, or print a subset such as
|
||||
* 'content.description'. Use the following code to exclude the
|
||||
* printing of a given child element:
|
||||
* @code
|
||||
* {{ content|without('description') }}
|
||||
* @endcode
|
||||
* - attributes: HTML attributes for the wrapper.
|
||||
* - page: Flag for the full page state.
|
||||
* - term: The taxonomy term entity, including:
|
||||
* - id: The ID of the taxonomy term.
|
||||
* - bundle: Machine name of the current vocabulary.
|
||||
* - view_mode: View mode, e.g. 'full', 'teaser', etc.
|
||||
*
|
||||
* @see template_preprocess_taxonomy_term()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{{ title_prefix }}
|
||||
{% if not page %}
|
||||
<h2><a href="{{ url }}">{{ name }}</a></h2>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
||||
{{ content }}
|
||||
</div>
|
|
@ -0,0 +1,31 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to present an aggregator feed.
|
||||
*
|
||||
* The contents are rendered above feed listings when browsing source feeds.
|
||||
* For example, "example.com/aggregator/sources/1".
|
||||
*
|
||||
* Available variables:
|
||||
* - title: Title of the feed item.
|
||||
* - content: All field items. Use {{ content }} to print them all,
|
||||
* or print a subset such as {{ content.field_example }}. Use
|
||||
* {{ content|without('field_example') }} to temporarily suppress the printing
|
||||
* of a given element.
|
||||
* - title_attributes: Same as attributes, except applied to the main title
|
||||
* tag that appears in the template.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*
|
||||
* @see template_preprocess_aggregator_feed()
|
||||
*/
|
||||
#}
|
||||
{{ title_prefix }}
|
||||
{% if not full %}
|
||||
<h2{{ title_attributes }}>{{ title }}</h2>
|
||||
{% endif %}
|
||||
{{ title_suffix }}
|
||||
|
||||
{{ content }}
|
|
@ -0,0 +1,24 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a status icon for a forum post.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes to be applied to the wrapper element.
|
||||
* - class: HTML classes that determine which icon to display. May be one of
|
||||
* 'hot', 'hot-new', 'new', 'default', 'closed', or 'sticky'.
|
||||
* - title: Text alternative for the forum icon.
|
||||
* - icon_title: Text alternative for the forum icon, same as above.
|
||||
* - new_posts: '1' when this topic contains new posts, otherwise '0'.
|
||||
* - first_new: '1' when this is the first topic with new posts, otherwise '0'.
|
||||
* - icon_status: Indicates which status icon should be used.
|
||||
*
|
||||
* @see template_preprocess_forum_icon()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{% if first_new -%}
|
||||
<a id="new"></a>
|
||||
{%- endif %}
|
||||
<span class="visually-hidden">{{ icon_title }}</span>
|
||||
</div>
|
|
@ -0,0 +1,75 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a list of forums and containers.
|
||||
*
|
||||
* Available variables:
|
||||
* - forums: A collection of forums and containers to display. It is keyed to
|
||||
* the numeric IDs of all child forums and containers. Each forum in forums
|
||||
* contains:
|
||||
* - is_container: A flag indicating if the forum can contain other
|
||||
* forums. Otherwise, the forum can only contain topics.
|
||||
* - depth: How deep the forum is in the current hierarchy.
|
||||
* - zebra: 'even' or 'odd', used for row class.
|
||||
* - icon_class: 'default' or 'new', used for forum icon class.
|
||||
* - icon_title: Text alternative for the forum icon.
|
||||
* - name: The name of the forum.
|
||||
* - link: The URL to link to this forum.
|
||||
* - description: The description field for the forum, containing:
|
||||
* - value: The descriptive text for the forum.
|
||||
* - new_topics: A flag indicating if the forum contains unread posts.
|
||||
* - new_url: A URL to the forum's unread posts.
|
||||
* - new_text: Text for the above URL, which tells how many new posts.
|
||||
* - old_topics: A count of posts that have already been read.
|
||||
* - num_posts: The total number of posts in the forum.
|
||||
* - last_reply: Text representing the last time a forum was posted or
|
||||
* commented in.
|
||||
* - forum_id: Forum ID for the current forum. Parent to all items within the
|
||||
* forums array.
|
||||
*
|
||||
* @see template_preprocess_forum_list()
|
||||
*/
|
||||
#}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'Forum'|t }}</th>
|
||||
<th>{{ 'Topics'|t }}</th>
|
||||
<th>{{ 'Posts'|t }}</th>
|
||||
<th>{{ 'Last post'|t }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for child_id, forum in forums %}
|
||||
<tr>
|
||||
<td{% if forum.is_container == true %} colspan="4"{% endif %}>
|
||||
{#
|
||||
Enclose the contents of this cell with X divs, where X is the
|
||||
depth this forum resides at. This will allow us to use CSS
|
||||
left-margin for indenting.
|
||||
#}
|
||||
{% for i in 1..forum.depth if forum.depth > 0 %}<div class="indent">{% endfor %}
|
||||
<div title="{{ forum.icon_title }}">
|
||||
<span class="visually-hidden">{{ forum.icon_title }}</span>
|
||||
</div>
|
||||
<div><a href="{{ forum.link }}">{{ forum.label }}</a></div>
|
||||
{% if forum.description.value %}
|
||||
<div>{{ forum.description.value }}</div>
|
||||
{% endif %}
|
||||
{% for i in 1..forum.depth if forum.depth > 0 %}</div>{% endfor %}
|
||||
</td>
|
||||
{% if forum.is_container == false %}
|
||||
<td>
|
||||
{{ forum.num_topics }}
|
||||
{% if forum.new_topics == true %}
|
||||
<br />
|
||||
<a href="{{ forum.new_url }}">{{ forum.new_text }}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ forum.num_posts }}</td>
|
||||
<td>{{ forum.last_reply }}</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
21
web/core/themes/stable/templates/dataset/forums.html.twig
Normal file
21
web/core/themes/stable/templates/dataset/forums.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a forum.
|
||||
*
|
||||
* May contain forum containers as well as forum topics.
|
||||
*
|
||||
* Available variables:
|
||||
* - forums: The forums to display (as processed by forum-list.html.twig).
|
||||
* - topics: The topics to display.
|
||||
* - topics_pager: The topics pager.
|
||||
* - forums_defined: A flag to indicate that the forums are configured.
|
||||
*
|
||||
* @see template_preprocess_forums()
|
||||
*/
|
||||
#}
|
||||
{% if forums_defined %}
|
||||
{{ forums }}
|
||||
{{ topics }}
|
||||
{{ topics_pager }}
|
||||
{% endif %}
|
39
web/core/themes/stable/templates/dataset/item-list.html.twig
Normal file
39
web/core/themes/stable/templates/dataset/item-list.html.twig
Normal file
|
@ -0,0 +1,39 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an item list.
|
||||
*
|
||||
* Available variables:
|
||||
* - items: A list of items. Each item contains:
|
||||
* - attributes: HTML attributes to be applied to each list item.
|
||||
* - value: The content of the list element.
|
||||
* - title: The title of the list.
|
||||
* - list_type: The tag for list element ("ul" or "ol").
|
||||
* - wrapper_attributes: HTML attributes to be applied to the list wrapper.
|
||||
* - attributes: HTML attributes to be applied to the list.
|
||||
* - empty: A message to display when there are no items. Allowed value is a
|
||||
* string or render array.
|
||||
* - context: A list of contextual data associated with the list. May contain:
|
||||
* - list_style: The custom list style.
|
||||
*
|
||||
* @see template_preprocess_item_list()
|
||||
*/
|
||||
#}
|
||||
{% if context.list_style %}
|
||||
{%- set attributes = attributes.addClass('item-list__' ~ context.list_style) %}
|
||||
{% endif %}
|
||||
{% if items or empty %}
|
||||
{%- if title is not empty -%}
|
||||
<h3>{{ title }}</h3>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if items -%}
|
||||
<{{ list_type }}{{ attributes }}>
|
||||
{%- for item in items -%}
|
||||
<li{{ item.attributes }}>{{ item.value }}</li>
|
||||
{%- endfor -%}
|
||||
</{{ list_type }}>
|
||||
{%- else -%}
|
||||
{{- empty -}}
|
||||
{%- endif -%}
|
||||
{%- endif %}
|
103
web/core/themes/stable/templates/dataset/table.html.twig
Normal file
103
web/core/themes/stable/templates/dataset/table.html.twig
Normal file
|
@ -0,0 +1,103 @@
|
|||
{#
|
||||
/**
|
||||
* @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()
|
||||
*/
|
||||
#}
|
||||
<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 %}
|
||||
<{{ 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>
|
|
@ -0,0 +1,43 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for comment fields.
|
||||
*
|
||||
* 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.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional title output populated by modules, intended to
|
||||
* be displayed after the main title tag that appears in the template.
|
||||
* - comments: List of comments rendered through comment.html.twig.
|
||||
* - content_attributes: HTML attributes for the form title.
|
||||
* - comment_form: The 'Add new comment' form.
|
||||
* - comment_display_mode: Is the comments are threaded.
|
||||
* - comment_type: The comment type bundle ID for the comment field.
|
||||
* - 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.
|
||||
*
|
||||
* @see template_preprocess_field()
|
||||
* @see comment_preprocess_field()
|
||||
*/
|
||||
#}
|
||||
<section{{ attributes }}>
|
||||
{% if comments and not label_hidden %}
|
||||
{{ title_prefix }}
|
||||
<h2{{ title_attributes }}>{{ label }}</h2>
|
||||
{{ title_suffix }}
|
||||
{% endif %}
|
||||
|
||||
{{ comments }}
|
||||
|
||||
{% if comment_form %}
|
||||
<h2{{ content_attributes }}>{{ 'Add new comment'|t }}</h2>
|
||||
{{ comment_form }}
|
||||
{% endif %}
|
||||
|
||||
</section>
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the node created field.
|
||||
*
|
||||
* This is an override of field.html.twig for the node created field. See that
|
||||
* template for documentation about its details and overrides.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing span element.
|
||||
* - items: List of all the field items. Each item contains:
|
||||
* - attributes: List of HTML attributes for each item.
|
||||
* - content: The field item 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.
|
||||
*
|
||||
* @see field.html.twig
|
||||
*/
|
||||
#}
|
||||
<span{{ attributes }}>
|
||||
{%- for item in items -%}
|
||||
{{ item.content }}
|
||||
{%- endfor -%}
|
||||
</span>
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the node title field.
|
||||
*
|
||||
* This is an override of field.html.twig for the node title field. See that
|
||||
* template for documentation about its details and overrides.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing span element.
|
||||
* - items: List of all the field items. Each item contains:
|
||||
* - attributes: List of HTML attributes for each item.
|
||||
* - content: The field item 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.
|
||||
*
|
||||
* @see field.html.twig
|
||||
*/
|
||||
#}
|
||||
<span{{ attributes }}>
|
||||
{%- for item in items -%}
|
||||
{{ item.content }}
|
||||
{%- endfor -%}
|
||||
</span>
|
|
@ -0,0 +1,26 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for the node user field.
|
||||
*
|
||||
* This is an override of field.html.twig for the node user field. See that
|
||||
* template for documentation about its details and overrides.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing span element.
|
||||
* - items: List of all the field items. Each item contains:
|
||||
* - attributes: List of HTML attributes for each item.
|
||||
* - content: The field item 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.
|
||||
*
|
||||
* @see field.html.twig
|
||||
*/
|
||||
#}
|
||||
<span{{ attributes }}>
|
||||
{%- for item in items -%}
|
||||
{{ item.content }}
|
||||
{%- endfor -%}
|
||||
</span>
|
65
web/core/themes/stable/templates/field/field.html.twig
Normal file
65
web/core/themes/stable/templates/field/field.html.twig
Normal file
|
@ -0,0 +1,65 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override 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.
|
||||
*
|
||||
* @see template_preprocess_field()
|
||||
*/
|
||||
#}
|
||||
|
||||
{% if label_hidden %}
|
||||
{% if multiple %}
|
||||
<div{{ attributes }}>
|
||||
{% for item in items %}
|
||||
<div{{ item.attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% for item in items %}
|
||||
<div{{ attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div{{ attributes }}>
|
||||
<div{{ title_attributes }}>{{ label }}</div>
|
||||
{% if multiple %}
|
||||
<div>
|
||||
{% endif %}
|
||||
{% for item in items %}
|
||||
<div{{ item.attributes }}>{{ item.content }}</div>
|
||||
{% endfor %}
|
||||
{% if multiple %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
13
web/core/themes/stable/templates/field/file-link.html.twig
Normal file
13
web/core/themes/stable/templates/field/file-link.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a link to a file.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: The HTML attributes for the containing element.
|
||||
* - link: A link to the file.
|
||||
*
|
||||
* @see template_preprocess_file_link()
|
||||
*/
|
||||
#}
|
||||
<span{{ attributes }}>{{ link }}</span>
|
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a formatted image field.
|
||||
*
|
||||
* Available variables:
|
||||
* - image: A collection of image data.
|
||||
* - image_style: An optional image style.
|
||||
* - url: An optional URL the image can be linked to.
|
||||
*
|
||||
* @see template_preprocess_image_formatter()
|
||||
*/
|
||||
#}
|
||||
{% if url %}
|
||||
<a href="{{ url }}">{{ image }}</a>
|
||||
{% else %}
|
||||
{{ image }}
|
||||
{% endif %}
|
18
web/core/themes/stable/templates/field/image-style.html.twig
Normal file
18
web/core/themes/stable/templates/field/image-style.html.twig
Normal file
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an image using a specific image style.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the image, including the following:
|
||||
* - src: Full URL or relative path to the image file.
|
||||
* - class: One or more classes to be applied to the image.
|
||||
* - width: The width of the image (if known).
|
||||
* - height: The height of the image (if known).
|
||||
* - title: The title of the image.
|
||||
* - alt: The alternative text for the image.
|
||||
*
|
||||
* @see template_preprocess_image_style()
|
||||
*/
|
||||
#}
|
||||
{{ image }}
|
13
web/core/themes/stable/templates/field/image.html.twig
Normal file
13
web/core/themes/stable/templates/field/image.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of an image.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the img tag.
|
||||
* - style_name: (optional) The name of the image style applied.
|
||||
*
|
||||
* @see template_preprocess_image()
|
||||
*/
|
||||
#}
|
||||
<img{{ attributes }} />
|
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of a link with separate title and URL elements.
|
||||
*
|
||||
* Available variables:
|
||||
* - link: The link that has already been formatted by l().
|
||||
* - title: (optional) A descriptive or alternate title for the link, which may
|
||||
* be different than the actual link text.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
* @see template_preprocess_link_formatter_link_separate()
|
||||
*/
|
||||
#}
|
||||
{% spaceless %}
|
||||
{{ title }}
|
||||
{{ link }}
|
||||
{% endspaceless %}
|
|
@ -0,0 +1,17 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display a formatted responsive image field.
|
||||
*
|
||||
* Available variables:
|
||||
* - responsive_image: A collection of responsive image data.
|
||||
* - url: An optional URL the image can be linked to.
|
||||
*
|
||||
* @see template_preprocess_responsive_image_formatter()
|
||||
*/
|
||||
#}
|
||||
{% if url %}
|
||||
<a href="{{ url }}">{{ responsive_image }}</a>
|
||||
{% else %}
|
||||
{{ responsive_image }}
|
||||
{% endif %}
|
|
@ -0,0 +1,34 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of a responsive image.
|
||||
*
|
||||
* Available variables:
|
||||
* - sources: The attributes of the <source> tags for this <picture> tag.
|
||||
* - img_element: The controlling image, with the fallback image in srcset.
|
||||
* - output_image_tag: Whether or not to output an <img> tag instead of a
|
||||
* <picture> tag.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
* @see template_preprocess_responsive_image()
|
||||
*/
|
||||
#}
|
||||
{% if output_image_tag %}
|
||||
{{ img_element }}
|
||||
{% else %}
|
||||
<picture>
|
||||
{% if sources %}
|
||||
{#
|
||||
Internet Explorer 9 doesn't recognise source elements that are wrapped in
|
||||
picture tags. See http://scottjehl.github.io/picturefill/#ie9
|
||||
#}
|
||||
<!--[if IE 9]><video style="display: none;"><![endif]-->
|
||||
{% for source_attributes in sources %}
|
||||
<source{{ source_attributes }}/>
|
||||
{% endfor %}
|
||||
<!--[if IE 9]></video><![endif]-->
|
||||
{% endif %}
|
||||
{# The controlling image, with the fallback image in srcset. #}
|
||||
{{ img_element }}
|
||||
</picture>
|
||||
{% endif %}
|
22
web/core/themes/stable/templates/field/time.html.twig
Normal file
22
web/core/themes/stable/templates/field/time.html.twig
Normal file
|
@ -0,0 +1,22 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a date / time element.
|
||||
*
|
||||
* Available variables
|
||||
* - timestamp: (optional) A UNIX timestamp for the datetime attribute. If the
|
||||
* datetime cannot be represented as a UNIX timestamp, use a valid datetime
|
||||
* attribute value in attributes.datetime.
|
||||
* - text: (optional) The content to display within the <time> element.
|
||||
* Defaults to a human-readable representation of the timestamp value or the
|
||||
* datetime attribute value using format_date().
|
||||
* - attributes: (optional) HTML attributes to apply to the <time> element.
|
||||
* A datetime attribute in 'attributes' overrides the 'timestamp'. To
|
||||
* create a valid datetime attribute value from a UNIX timestamp, use
|
||||
* format_date() with one of the predefined 'html_*' formats.
|
||||
*
|
||||
* @see template_preprocess_time()
|
||||
* @see http://www.w3.org/TR/html5-author/the-time-element.html#attr-time-datetime
|
||||
*/
|
||||
#}
|
||||
<time{{ attributes }}>{{ text }}</time>
|
15
web/core/themes/stable/templates/form/checkboxes.html.twig
Normal file
15
web/core/themes/stable/templates/form/checkboxes.html.twig
Normal file
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a 'checkboxes' #type form element.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: The rendered checkboxes.
|
||||
*
|
||||
* @see template_preprocess_checkboxes()
|
||||
*/
|
||||
@todo: remove this file once https://www.drupal.org/node/1819284 is resolved.
|
||||
This is identical to core/modules/system/templates/container.html.twig
|
||||
#}
|
||||
<div{{ attributes.addClass('form-checkboxes') }}>{{ children }}</div>
|
13
web/core/themes/stable/templates/form/confirm-form.html.twig
Normal file
13
web/core/themes/stable/templates/form/confirm-form.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for confirm form.
|
||||
*
|
||||
* By default this does not alter the appearance of a form at all,
|
||||
* but is provided as a convenience for themers.
|
||||
*
|
||||
* Available variables:
|
||||
* - form: The confirm form.
|
||||
*/
|
||||
#}
|
||||
{{ form }}
|
28
web/core/themes/stable/templates/form/container.html.twig
Normal file
28
web/core/themes/stable/templates/form/container.html.twig
Normal file
|
@ -0,0 +1,28 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of a container used to wrap child elements.
|
||||
*
|
||||
* Used for grouped form items. Can also be used as a theme wrapper for any
|
||||
* renderable element, to surround it with a <div> and HTML attributes.
|
||||
* See \Drupal\Core\Render\Element\RenderElement for more
|
||||
* information on the #theme_wrappers render array property, and
|
||||
* \Drupal\Core\Render\Element\container for usage of the container render
|
||||
* element.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - children: The rendered child elements of the container.
|
||||
* - has_parent: A flag to indicate that the container has one or more parent
|
||||
containers.
|
||||
*
|
||||
* @see template_preprocess_container()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
has_parent ? 'js-form-wrapper',
|
||||
has_parent ? 'form-wrapper',
|
||||
]
|
||||
%}
|
||||
<div{{ attributes.addClass(classes) }}>{{ children }}</div>
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of a datetime form element.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the datetime form element.
|
||||
* - content: The datelist form element to be output.
|
||||
*
|
||||
* @see template_preprocess_datetime_form()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>
|
||||
{{ content }}
|
||||
</div>
|
|
@ -0,0 +1,31 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override of a datetime form wrapper.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The form element to be output, usually a datelist, or datetime.
|
||||
* - title: The title of the form element.
|
||||
* - title_attributes: HTML attributes for the title wrapper.
|
||||
* - description: Description text for the form element.
|
||||
* - required: An indicator for whether the associated form element is required.
|
||||
*
|
||||
* @see template_preprocess_datetime_wrapper()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set title_classes = [
|
||||
required ? 'js-form-required',
|
||||
required ? 'form-required',
|
||||
]
|
||||
%}
|
||||
{% if title %}
|
||||
<h4{{ title_attributes.addClass(title_classes) }}>{{ title }}</h4>
|
||||
{% endif %}
|
||||
{{ content }}
|
||||
{% if errors %}
|
||||
<div>
|
||||
{{ errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ description }}
|
37
web/core/themes/stable/templates/form/details.html.twig
Normal file
37
web/core/themes/stable/templates/form/details.html.twig
Normal file
|
@ -0,0 +1,37 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a details element.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the details element.
|
||||
* - errors: (optional) Any errors for this details element, may not be set.
|
||||
* - title: (optional) The title of the element, may not be set.
|
||||
* - description: (optional) The description of the element, may not be set.
|
||||
* - children: (optional) The children of the element, may not be set.
|
||||
* - value: (optional) The value of the element, may not be set.
|
||||
*
|
||||
* @see template_preprocess_details()
|
||||
*/
|
||||
#}
|
||||
<details{{ attributes }}>
|
||||
{%
|
||||
set summary_classes = [
|
||||
required ? 'js-form-required',
|
||||
required ? 'form-required',
|
||||
]
|
||||
%}
|
||||
{%- if title -%}
|
||||
<summary{{ summary_attributes.addClass(summary_classes) }}>{{ title }}</summary>
|
||||
{%- endif -%}
|
||||
|
||||
{% if errors %}
|
||||
<div>
|
||||
{{ errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{{ description }}
|
||||
{{ children }}
|
||||
{{ value }}
|
||||
</details>
|
|
@ -0,0 +1,20 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a dropbutton wrapper.
|
||||
*
|
||||
* Available variables:
|
||||
* - children: Contains the child elements of the dropbutton menu.
|
||||
*
|
||||
* @see template_preprocess()
|
||||
*/
|
||||
#}
|
||||
{% if children %}
|
||||
{% spaceless %}
|
||||
<div class="dropbutton-wrapper">
|
||||
<div class="dropbutton-widget">
|
||||
{{ children }}
|
||||
</div>
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
{% endif %}
|
|
@ -0,0 +1,36 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an individual form element.
|
||||
*
|
||||
* Available variables for all fields:
|
||||
* - multiple: Whether there are multiple instances of the field.
|
||||
*
|
||||
* Available variables for single cardinality fields:
|
||||
* - elements: Form elements to be rendered.
|
||||
*
|
||||
* Available variables when there are multiple fields.
|
||||
* - table: Table of field items.
|
||||
* - description: The description element containing the following properties:
|
||||
* - content: The description content of the form element.
|
||||
* - attributes: HTML attributes to apply to the description container.
|
||||
* - button: "Add another item" button.
|
||||
*
|
||||
* @see template_preprocess_field_multiple_value_form()
|
||||
*/
|
||||
#}
|
||||
{% if multiple %}
|
||||
<div class="js-form-item form-item">
|
||||
{{ table }}
|
||||
{% if description.content %}
|
||||
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
||||
{% endif %}
|
||||
{% if button %}
|
||||
<div class="clearfix">{{ button }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% for element in elements %}
|
||||
{{ element }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
60
web/core/themes/stable/templates/form/fieldset.html.twig
Normal file
60
web/core/themes/stable/templates/form/fieldset.html.twig
Normal file
|
@ -0,0 +1,60 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a fieldset element and its children.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the fieldset element.
|
||||
* - errors: (optional) Any errors for this fieldset element, may not be set.
|
||||
* - required: Boolean indicating whether the fieldeset element is required.
|
||||
* - legend: The legend element containing the following properties:
|
||||
* - title: Title of the fieldset, intended for use as the text of the legend.
|
||||
* - attributes: HTML attributes to apply to the legend.
|
||||
* - description: The description element containing the following properties:
|
||||
* - content: The description content of the fieldset.
|
||||
* - attributes: HTML attributes to apply to the description container.
|
||||
* - children: The rendered child elements of the fieldset.
|
||||
* - prefix: The content to add before the fieldset children.
|
||||
* - suffix: The content to add after the fieldset children.
|
||||
*
|
||||
* @see template_preprocess_fieldset()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'js-form-item',
|
||||
'form-item',
|
||||
'js-form-wrapper',
|
||||
'form-wrapper',
|
||||
]
|
||||
%}
|
||||
<fieldset{{ attributes.addClass(classes) }}>
|
||||
{%
|
||||
set legend_span_classes = [
|
||||
'fieldset-legend',
|
||||
required ? 'js-form-required',
|
||||
required ? 'form-required',
|
||||
]
|
||||
%}
|
||||
{# Always wrap fieldset legends in a SPAN for CSS positioning. #}
|
||||
<legend{{ legend.attributes }}>
|
||||
<span{{ legend_span.attributes.addClass(legend_span_classes) }}>{{ legend.title }}</span>
|
||||
</legend>
|
||||
<div class="fieldset-wrapper">
|
||||
{% if errors %}
|
||||
<div>
|
||||
{{ errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if prefix %}
|
||||
<span class="field-prefix">{{ prefix }}</span>
|
||||
{% endif %}
|
||||
{{ children }}
|
||||
{% if suffix %}
|
||||
<span class="field-suffix">{{ suffix }}</span>
|
||||
{% endif %}
|
||||
{% if description.content %}
|
||||
<div{{ description.attributes.addClass('description') }}>{{ description.content }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</fieldset>
|
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a form element label.
|
||||
*
|
||||
* Available variables:
|
||||
* - title: The label's text.
|
||||
* - title_display: Elements title_display setting.
|
||||
* - required: An indicator for whether the associated form element is required.
|
||||
* - attributes: A list of HTML attributes for the label.
|
||||
*
|
||||
* @see template_preprocess_form_element_label()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
title_display == 'after' ? 'option',
|
||||
title_display == 'invisible' ? 'visually-hidden',
|
||||
required ? 'js-form-required',
|
||||
required ? 'form-required',
|
||||
]
|
||||
%}
|
||||
{% if title is not empty or required -%}
|
||||
<label{{ attributes.addClass(classes) }}>{{ title }}</label>
|
||||
{%- endif %}
|
94
web/core/themes/stable/templates/form/form-element.html.twig
Normal file
94
web/core/themes/stable/templates/form/form-element.html.twig
Normal file
|
@ -0,0 +1,94 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a form element.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - errors: (optional) Any errors for this form element, may not be set.
|
||||
* - prefix: (optional) The form element prefix, may not be set.
|
||||
* - suffix: (optional) The form element suffix, may not be set.
|
||||
* - required: The required marker, or empty if the associated form element is
|
||||
* not required.
|
||||
* - type: The type of the element.
|
||||
* - name: The name of the element.
|
||||
* - label: A rendered label element.
|
||||
* - label_display: Label display setting. It can have these values:
|
||||
* - before: The label is output before the element. This is the default.
|
||||
* The label includes the #title and the required marker, if #required.
|
||||
* - after: The label is output after the element. For example, this is used
|
||||
* for radio and checkbox #type elements. If the #title is empty but the
|
||||
* field is #required, the label will contain only the required marker.
|
||||
* - invisible: Labels are critical for screen readers to enable them to
|
||||
* properly navigate through forms but can be visually distracting. This
|
||||
* property hides the label for everyone except screen readers.
|
||||
* - attribute: Set the title attribute on the element to create a tooltip but
|
||||
* output no label element. This is supported only for checkboxes and radios
|
||||
* in \Drupal\Core\Render\Element\CompositeFormElementTrait::preRenderCompositeFormElement().
|
||||
* It is used where a visual label is not needed, such as a table of
|
||||
* checkboxes where the row and column provide the context. The tooltip will
|
||||
* include the title and required marker.
|
||||
* - description: (optional) A list of description properties containing:
|
||||
* - content: A description of the form element, may not be set.
|
||||
* - attributes: (optional) A list of HTML attributes to apply to the
|
||||
* description content wrapper. Will only be set when description is set.
|
||||
* - description_display: Description display setting. It can have these values:
|
||||
* - before: The description is output before the element.
|
||||
* - after: The description is output after the element. This is the default
|
||||
* value.
|
||||
* - invisible: The description is output after the element, hidden visually
|
||||
* but available to screen readers.
|
||||
* - disabled: True if the element is disabled.
|
||||
* - title_display: Title display setting.
|
||||
*
|
||||
* @see template_preprocess_form_element()
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
'js-form-item',
|
||||
'form-item',
|
||||
'js-form-type-' ~ type|clean_class,
|
||||
'form-item-' ~ name|clean_class,
|
||||
'js-form-item-' ~ name|clean_class,
|
||||
title_display not in ['after', 'before'] ? 'form-no-label',
|
||||
disabled == 'disabled' ? 'form-disabled',
|
||||
errors ? 'form-item--error',
|
||||
]
|
||||
%}
|
||||
{%
|
||||
set description_classes = [
|
||||
'description',
|
||||
description_display == 'invisible' ? 'visually-hidden',
|
||||
]
|
||||
%}
|
||||
<div{{ attributes.addClass(classes) }}>
|
||||
{% if label_display in ['before', 'invisible'] %}
|
||||
{{ label }}
|
||||
{% endif %}
|
||||
{% if prefix is not empty %}
|
||||
<span class="field-prefix">{{ prefix }}</span>
|
||||
{% endif %}
|
||||
{% if description_display == 'before' and description.content %}
|
||||
<div{{ description.attributes }}>
|
||||
{{ description.content }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ children }}
|
||||
{% if suffix is not empty %}
|
||||
<span class="field-suffix">{{ suffix }}</span>
|
||||
{% endif %}
|
||||
{% if label_display == 'after' %}
|
||||
{{ label }}
|
||||
{% endif %}
|
||||
{% if errors %}
|
||||
<div class="form-item--error-message">
|
||||
{{ errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if description_display in ['after', 'invisible'] and description.content %}
|
||||
<div{{ description.attributes.addClass(description_classes) }}>
|
||||
{{ description.content }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
15
web/core/themes/stable/templates/form/form.html.twig
Normal file
15
web/core/themes/stable/templates/form/form.html.twig
Normal file
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a 'form' element.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: The child elements of the form.
|
||||
*
|
||||
* @see template_preprocess_form()
|
||||
*/
|
||||
#}
|
||||
<form{{ attributes }}>
|
||||
{{ children }}
|
||||
</form>
|
13
web/core/themes/stable/templates/form/input.html.twig
Normal file
13
web/core/themes/stable/templates/form/input.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for an 'input' #type form element.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: A list of HTML attributes for the input element.
|
||||
* - children: Optional additional rendered elements.
|
||||
*
|
||||
* @see template_preprocess_input()
|
||||
*/
|
||||
#}
|
||||
<input{{ attributes }} />{{ children }}
|
13
web/core/themes/stable/templates/form/radios.html.twig
Normal file
13
web/core/themes/stable/templates/form/radios.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override for a 'radios' #type form element.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: The rendered radios.
|
||||
*
|
||||
* @see template_preprocess_radios()
|
||||
*/
|
||||
#}
|
||||
<div{{ attributes }}>{{ children }}</div>
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue