Skip to content

Commit e734505

Browse files
committed
1712: Added “Expand all steps” link on step by step
1 parent ac59fda commit e734505

File tree

5 files changed

+30
-4
lines changed

5 files changed

+30
-4
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
88

99
## [Unreleased]
1010

11+
- [PR-354](https://github.com/itk-dev/os2loop/pull/354)
12+
1712: Added “Expand all steps” link on step by step
1113
- [PR-353](https://github.com/itk-dev/os2loop/pull/353):
1214
Security update
1315
- [PR-352](https://github.com/itk-dev/os2loop/pull/352):

web/profiles/custom/os2loop/themes/os2loop_theme/assets/app.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,11 @@ img {
113113
// }
114114
// }
115115
// }
116+
117+
// Offset used for (trying to) prevent topbar from overlapping content when using URL fragment identifier.
118+
$target-offset: 64px;
119+
120+
:target {
121+
margin-top: -$target-offset;
122+
padding-top: $target-offset;
123+
}

web/profiles/custom/os2loop/themes/os2loop_theme/os2loop_theme.theme

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ use Drupal\user\Entity\User;
1818
function os2loop_theme_preprocess(&$variables) {
1919
$variables['logopath'] = \Drupal::service('file_url_generator')->generateString(theme_get_setting('logo.url'));
2020
$variables['os2loop_container_class'] = theme_get_setting('container_class') ?: 'container-fluid';
21+
// Poor man's App Global Variable
22+
// (https://symfony.com/doc/current/templates.html#the-app-global-variable).
23+
$variables['app'] = [
24+
'request' => \Drupal::request(),
25+
];
2126
}
2227

2328
/**

web/profiles/custom/os2loop/themes/os2loop_theme/templates/content-entities/paragraph--os2loop-documents-step-by-step.html.twig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,17 @@
4747
]
4848
%}
4949
{% block paragraph %}
50-
<div{{ attributes.addClass(classes) }}>
50+
{% set paragraph_id = 'p-' ~ paragraph.id.value %}
51+
{% set expanded = app.request.query.get('expanded') %}
52+
<div{{ attributes.addClass(classes) }} id="{{ paragraph_id }}">
5153
{{ content.contextual_links }}
5254
{{ include('@os2loop_theme/content-entities/os2loop_documents_title.html.twig') }}
5355
{{ content.os2loop_documents_description }}
56+
57+
{% if not expanded %}
58+
<a class="btn btn-link os2loop-expand" href="{{ path('<current>', {expanded: not expanded}, {fragment: paragraph_id}) }}">{{ 'Expand all steps'|trans }}</a>
59+
{% endif %}
60+
5461
<ol class="os2loop-documents-steps">
5562
{{ content.os2loop_documents_steps }}
5663
</ol>

web/profiles/custom/os2loop/themes/os2loop_theme/templates/content-entities/paragraph--os2loop-documents-step.html.twig

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,24 +51,28 @@
5151

5252
{% set has_title = content.os2loop_documents_step_title['#title'] is not null %}
5353

54+
{% set expanded = app.request.query.get('expanded') %}
55+
{% set class_collapsed = not expanded ? 'collapsed' %}
56+
{% set class_collapse = not expanded ? 'collapse' %}
57+
5458
{% block paragraph %}
5559
{% block content %}
5660
<li {{ attributes.addClass(classes) }}>
5761
{# A hack to check if we're rendering content for pdf generation #}
5862
{% if 'print/pdf' in url('<current>')['#markup'] %}
59-
<span class="collapsed step--collapse-toggle">
63+
<span class="{{ class_collapsed }} step--collapse-toggle">
6064
<span class="bold">
6165
{{ has_title ? content.os2loop_documents_step_title : content.os2loop_documents_step_text }}
6266
</span>
6367
</span>
6468
{% else %}
65-
<a class="collapsed step--collapse-toggle" type="button" data-toggle="collapse" data-target="#paragraph-id-{{ paragraph.id() }}">
69+
<a class="{{ class_collapsed }} step--collapse-toggle" type="button" data-toggle="{{ class_collapse }}" data-target="#paragraph-id-{{ paragraph.id() }}">
6670
<span class="bold {{ has_title ? 'line-clamp-1' }}">
6771
{{ has_title ? content.os2loop_documents_step_title : content.os2loop_documents_step_text }}
6872
</span>
6973
</a>
7074
{% endif %}
71-
<div class="row no-gutters collapse" id="paragraph-id-{{ paragraph.id() }}">
75+
<div class="row no-gutters {{ class_collapse }}" id="paragraph-id-{{ paragraph.id() }}">
7276
<div class="col">
7377
<div class="row no-gutters">
7478
<div class="col">

0 commit comments

Comments
 (0)