diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..f6a96712df1545f3de0071e8d3f68d31e3627c32 --- /dev/null +++ b/composer.json @@ -0,0 +1,19 @@ +{ + "name": "drupal/lb_tabs", + "type": "drupal-module", + "description": "Implements an anchor menu using as reference the Layout Builder sections", + "keywords": [ + "Drupal" + ], + "license": "GPL-2.0+", + "homepage": "https://www.drupal.org/project/lb_tabs", + "minimum-stability": "dev", + "prefer-stable": true, + "support": { + "issues": "https://www.drupal.org/project/issues/lb_tabs", + "source": "http://cgit.drupalcode.org/lb_tabs" + }, + "require": { + } +} + diff --git a/layouts/accordion/lb-tabs-accordion.html.twig b/layouts/accordion/lb-tabs-accordion.html.twig index d87c8ec5a6127cbb383b60eb779906597ab5ff50..a03cd3d7cd4faea4dfe4b7f578da513f89ff6197 100644 --- a/layouts/accordion/lb-tabs-accordion.html.twig +++ b/layouts/accordion/lb-tabs-accordion.html.twig @@ -22,8 +22,10 @@ </div> {% endfor %} {# Output anything remaining #} - {% for i, contentKey in contentKeys if labelKeys[i] is not defined %} - {{ content.content_blocks[contentKey] }} + {% for i, contentKey in contentKeys %} + {% if labelKeys[i] is not defined %} + {{ content.content_blocks[contentKey] }} + {% endif %} {% endfor %} </div> {% endif %} diff --git a/layouts/tabs/lb-tabs-tabs.html.twig b/layouts/tabs/lb-tabs-tabs.html.twig index 3e329aa3d4599bd18bdeb6ed46448dcdc656b982..303db0891568e8b81a2b40c2b274a266d3deb91f 100644 --- a/layouts/tabs/lb-tabs-tabs.html.twig +++ b/layouts/tabs/lb-tabs-tabs.html.twig @@ -9,23 +9,27 @@ <div {{ attributes.addClass('lb-tabs-tabs').setAttribute('id', "#{settings.dom_id}") }}> <div {{ region_attributes["content_blocks"] }}> <ul> - {% for labelKey, labelBlock in content.label_blocks if labelKey|first != '#' %} - <li> - {% if inLayoutBuilder %} - <a> - {% else %} - <a href="#{{ "#{settings.dom_id}-#{loop.index}" }}"> - {% endif %} - {{ labelBlock }} - </a> - </li> + {% for labelKey, labelBlock in content.label_blocks %} + {% if labelKey|first != '#' %} + <li> + {% if inLayoutBuilder %} + <a> + {% else %} + <a href="#{{ "#{settings.dom_id}-#{loop.index}" }}"> + {% endif %} + {{ labelBlock }} + </a> + </li> + {% endif %} {% endfor %} </ul> - {% for contentKey, contentBlock in content.content_blocks if contentKey|first != '#' %} - <div id="{{ "#{settings.dom_id}-#{loop.index}" }}"> - {{ contentBlock }} - </div> + {% for contentKey, contentBlock in content.content_blocks %} + {% if contentKey|first != '#' %} + <div id="{{ "#{settings.dom_id}-#{loop.index}" }}"> + {{ contentBlock }} + </div> + {% endif %} {% endfor %} </div> </div> diff --git a/lb_tabs.info.yml b/lb_tabs.info.yml index eb249cbff1281890b8f0f666524d6816d8931648..913597b078c80484f07aa1fd584fe08aaa1ca240 100644 --- a/lb_tabs.info.yml +++ b/lb_tabs.info.yml @@ -1,6 +1,6 @@ name: Tabs And Accordion Layout type: module -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: Layout dependencies: - jquery_ui_tabs:jquery_ui_tabs diff --git a/tests/src/Functional/AdminPageTest.php b/tests/src/Functional/AdminPageTest.php index f79352990e361f5ac5176885f503ea2e8a4668c5..92e9a7c659903b973c19f93bf2a2f46847a84b78 100644 --- a/tests/src/Functional/AdminPageTest.php +++ b/tests/src/Functional/AdminPageTest.php @@ -33,7 +33,7 @@ class AdminPageTest extends BrowserTestBase { public function testAdminPage() { $this->drupalLogin($this->rootUser); $this->drupalGet('admin'); - $this->assertResponse(200); + $this->assertSession()->statusCodeEquals(200); // Ensure that the test is not marked as risky because of no assertions. // see https://gitlab.com/weitzman/drupal-test-traits/-/commit/82bf5059908f9073b3468cb7313960da72176d9a