diff --git a/modules/ui_patterns_library/templates/patterns-meta-information.html.twig b/modules/ui_patterns_library/templates/patterns-meta-information.html.twig index 0a76add48adc42c078bd2674e1f5f2210bcde0d9..27a3b7a44094c7822b4884b146819f90b8f70886 100644 --- a/modules/ui_patterns_library/templates/patterns-meta-information.html.twig +++ b/modules/ui_patterns_library/templates/patterns-meta-information.html.twig @@ -22,25 +22,46 @@ {% endif %} {# Pattern fields descriptions. #} - <table class="pattern-preview__fields"> - <thead> - <tr> - <th>{{ "Field"|t }}</th> - <th>{{ "Label"|t }}</th> - <th>{{ "Type"|t }}</th> - <th>{{ "Description"|t }}</th> - </tr> - </thead> - <tbody> - {% for field in pattern.fields %} - <tr> - <td><code>{{ field.name }}</code></td> - <td>{{ field.label }}</td> - <td><code>{{ field.type }}</code></td> - <td>{{ field.description }}</td> - </tr> - {% endfor %} - </tbody> - </table> + {% if pattern.fields or pattern.additional.settings %} + <table class="pattern-preview__fields"> + <thead> + <tr> + <th>{{ "Type"|t }}</th> + <th>{{ "Name"|t }}</th> + <th>{{ "Label"|t }}</th> + <th>{{ "Type"|t }}</th> + <th>{{ "Description"|t }} / {{ "Options"|t }}</th> + </tr> + </thead> + <tbody> + {% for field in pattern.fields %} + <tr> + <td>{{ "Field"|t }}</td> + <td><code>{{ field.name }}</code></td> + <td>{{ field.label }}</td> + <td><code>{{ field.type }}</code></td> + <td>{{ field.description }}</td> + </tr> + {% endfor %} + {% for name, setting in pattern.additional.settings %} + <tr> + <td>{{ "Setting"|t }}</td> + <td><code>{{ name }}</code></td> + <td>{{ setting.label }}</td> + <td><code>{{ setting.type }}</code></td> + <td>{{ setting.description }} + {% if setting.options %} + <ul> + {% for key, label in setting.options %} + <li>{{ key }}: {{ label }}</li> + {% endfor %} + </ul> + {% endif %} + </td> + </tr> + {% endfor %} + </tbody> + </table> + {% endif %} {% endif %} diff --git a/modules/ui_patterns_library/tests/src/FunctionalJavascript/UiPatternsLibraryOverviewTest.php b/modules/ui_patterns_library/tests/src/FunctionalJavascript/UiPatternsLibraryOverviewTest.php index 0f3192c2968f6fd601b9a835b9c5dac03e9cdddc..947f9474b87233e2460adfd57803af13fae4cfd1 100644 --- a/modules/ui_patterns_library/tests/src/FunctionalJavascript/UiPatternsLibraryOverviewTest.php +++ b/modules/ui_patterns_library/tests/src/FunctionalJavascript/UiPatternsLibraryOverviewTest.php @@ -158,7 +158,7 @@ class UiPatternsLibraryOverviewTest extends WebDriverTestBase { $session = $this->assertSession(); // Assert table header. - foreach (['Field', 'Label', 'Type', 'Description'] as $index => $item) { + foreach (['Type', 'Name', 'Label', 'Type', 'Description / Options'] as $index => $item) { $child = $index + 1; $session->elementContains('css', "$root > table.pattern-preview__fields > thead > tr > th:nth-child($child)", $item); } @@ -167,10 +167,11 @@ class UiPatternsLibraryOverviewTest extends WebDriverTestBase { foreach ($pattern['fields'] as $index => $field) { $child = $index + 1; $row_root = "$root > table.pattern-preview__fields > tbody > tr:nth-child($child)"; - $session->elementContains('css', "$row_root > td:nth-child(1)", $field['name']); - $session->elementContains('css', "$row_root > td:nth-child(2)", $field['label']); - $session->elementContains('css', "$row_root > td:nth-child(3)", $field['type']); - $session->elementContains('css', "$row_root > td:nth-child(4)", $field['description']); + $session->elementContains('css', "$row_root > td:nth-child(1)", 'Field'); + $session->elementContains('css', "$row_root > td:nth-child(2)", $field['name']); + $session->elementContains('css', "$row_root > td:nth-child(3)", $field['label']); + $session->elementContains('css', "$row_root > td:nth-child(4)", $field['type']); + $session->elementContains('css', "$row_root > td:nth-child(5)", $field['description']); } }