eleven-8.x-1.0-beta5/eleven/templates/layout-landing/modules/system-modules-details.html.twig
eleven/templates/layout-landing/modules/system-modules-details.html.twig
{{ attach_library('eleven/modules') }}
{{ attach_library('eleven/card') }}
<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 class="cards cards--layout-5">
{% for module in modules %}
{# set status for the module #}
{% if module.checkbox['#disabled'] and module.checkbox['#value'] %}
{# module is installed #}
{% set card_status %}installed{% endset %}
{% elseif module.checkbox['#disabled'] and not module.checkbox['#value'] %}
{# module cant be installed #}
{% set card_status %}error{% endset %}
{% elseif not module.checkbox['#disabled'] %}
{# module ready to be installed #}
{% set card_status %}notinstalled{% endset %}
{% endif %}
{% set classes = [
'card',
'card--module',
'card--status-' ~ card_status,
'card--module-group-' ~ module.name['#parents'].1|clean_class,
'card--module-name--' ~ module.name['#markup']|clean_class,
]
%}
<tr{{ module.attributes.addClass(classes) }}>
<td>
<div class="card__status card__status--{{ card_status }}"></div>
<div for="{{ module.enable_id }}" class="card__icon card__icon--{{ module.name['#markup']|clean_class }}"></div>
<div for="{{ module.enable_id }}" class="card__title">{{ module.name }}</div>
<div class="card__instalmodule">
{{ module.checkbox }}
<label for="{{ module.enable_id }}" class="card__instalmodule-title">
<span>{{ 'Install Module'|t }}</span>
</label>
</div>
{# <pre>card__icon--{{ module.name['#markup']|clean_class }}</pre> #}
{# links #}
{% if module.links %}
<nav class="card__links">
<ul>
{% for link_type in ['help', 'permissions', 'configure'] %}
{% if module.links[link_type] is defined %}
<li>
{# {{ module.links[link_type]['#options'].attributes.setAttribute("foo","bar") }} #}
{{ module.links[link_type] }}
</li>
{% endif %}
{% endfor %}
{# lets add a link to the uninstall page so users dont get to confused #}
{% if module.checkbox['#checked'] %}
{# <li><a href="modules/uninstall" class="module-link module-link-uninstall">{{ "uninstall"|t }}</a></li> #}
{% endif %}
</ul>
</nav>
{% endif %}
<p class="card__text card__text--small">
{{ module.description }}
</p>
{#
Errors !! --------------------------------------------------------------
Display what the modules are missing or disabled
#}
{% if card_status == 'error' %}
<ul class="card__errors">
{% for item in module['#requires'] %}
{% if item.getUntranslatedString()|striptags ends with '(missing)' %}
<li class="missing">
{{ item.getArguments()['@module'] }} {{ 'is missing'|t}}
<a href="https://www.drupal.org/project/{{ item.getArguments()['@module'] }}">[{{'download'|t}}]</a>
</li>
{% endif %}
{% if item.getUntranslatedString()|striptags ends with '(disabled)' %}
<li class="disbled">
{{ item.getArguments()['@module'] }} {{'is disabled'|t}}
</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
<details class="details-summary-link">
<summary>{{ 'Show info'|t }}</summary>
<div class="card__text card__text--small">
<ul class="card__notes">
<li>{{ module.machine_name }}</li>
{% if module.version %}
<li>{{ module.version }}</li>
{% endif %}
</ul>
{% if module.required %}
<section class="card__list card__list--modules-required">
<h4>{{'Required Modules'|t}}</h4>
<ul>
{% for item in module['#required'] %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</section>
{% endif %}
{% if module.required_by %}
<section class="card__list card__list--modules-required-by">
<h4>{{ 'Required by'|t }} </h4>
<ul>
{% for item in module['#required_by'] %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</section>
{% endif %}
{% if module.requires %}
<section class="card__list card__list--modules-requires">
<h4>{{'Requires'|t}}</h4>
<ul>
{% for item in module['#requires'] %}
<li>{{ item }}</li>
{% endfor %}
</ul>
<section>
{% endif %}
</div>
</details>
{# yes this is dirty but else filter wont work #}
<details class="js-form-wrapper form-wrapper visually-hidden" 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>
</div>
</div>
</div>
</details>
</td>
</tr>
{% endfor %}
</tbody>
</table>
