diff --git a/features/standard/Languages.feature b/features/standard/Languages.feature index 46e0204200..2be5f8159e 100644 --- a/features/standard/Languages.feature +++ b/features/standard/Languages.feature @@ -10,7 +10,7 @@ Feature: Languages management @javascript Scenario: Changes can be discarded while creating new Language - When I create a new Language + When I click on the edit action bar button "Add language" And I set fields | label | value | | Name | Deutsch | @@ -21,7 +21,7 @@ Feature: Languages management @javascript Scenario: New Language can be added - When I create a new Language + When I click on the edit action bar button "Add language" And I set fields | label | value | | Name | Deutsch | @@ -34,7 +34,7 @@ Feature: Languages management @javascript Scenario: New Language with existing language code cannot be added - When I create a new Language + When I click on the edit action bar button "Add language" And I set fields | label | value | | Name | Deutsch Second | diff --git a/src/bundle/Resources/public/scss/_tables.scss b/src/bundle/Resources/public/scss/_tables.scss index 38c63bd9ea..d6a6ac8296 100644 --- a/src/bundle/Resources/public/scss/_tables.scss +++ b/src/bundle/Resources/public/scss/_tables.scss @@ -91,6 +91,10 @@ &--field-definitions-head { width: calc(100% / 3); } + + &--content-center { + text-align: center; + } } &__header-cell-checkbox { @@ -148,6 +152,10 @@ &--limitation { width: 70%; } + + &--content-center { + text-align: center; + } } .table &__cell--close-left, diff --git a/src/bundle/Resources/translations/language.en.xliff b/src/bundle/Resources/translations/language.en.xliff index 7712498f96..300947d953 100644 --- a/src/bundle/Resources/translations/language.en.xliff +++ b/src/bundle/Resources/translations/language.en.xliff @@ -86,6 +86,11 @@ Languages key: language.list + + List (%number_of_results%) + List (%number_of_results%) + key: language.list.number_of_results + Do you want to delete the language(s)? Do you want to delete the language(s)? diff --git a/src/bundle/Resources/views/themes/admin/language/list.html.twig b/src/bundle/Resources/views/themes/admin/language/list.html.twig index 06a6ffd015..ed5d668086 100644 --- a/src/bundle/Resources/views/themes/admin/language/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/language/list.html.twig @@ -29,9 +29,6 @@ href="{{ path('ibexa.language.create') }}" class="btn ibexa-btn ibexa-btn--primary" > - - - {{ 'language.new'|trans|desc('Add language') }} @@ -90,6 +87,7 @@ {% endset %} {% set body_row_cols = body_row_cols|merge([{ content: col_raw, + center_content: true, raw: true, }]) %} @@ -116,13 +114,16 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'language.list'|trans|desc('Languages'), + headline: 'language.list.number_of_results'|trans({ '%number_of_results%': pager.nbResults })|desc('List (%number_of_results%)'), head_cols: [ { has_checkbox: true }, { content: 'language.name'|trans|desc('Name') }, { content: 'language.code'|trans|desc('Code') }, { content: 'language.id'|trans|desc('ID') }, - { content: 'language.enabled'|trans|desc('Enabled') }, + { + content: 'language.enabled'|trans|desc('Enabled'), + center_content: true, + }, { }, ], body_rows, diff --git a/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_cell.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_cell.html.twig index a03dfd2cad..45981792e5 100644 --- a/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_cell.html.twig +++ b/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_cell.html.twig @@ -7,6 +7,7 @@ {%- if has_action_btns|default(false) %} ibexa-table__cell--has-action-btns{% endif -%} {%- if has_icon|default(false) %} ibexa-table__cell--has-icon{% endif -%} {%- if is_close_left|default(false) %} ibexa-table__cell--close-left {% endif %} + {%- if center_content|default(false) %} ibexa-table__cell--content-center {% endif %} {{ class|default('') -}}" {{ html.attributes(attr|default({})) }} > diff --git a/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_row.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_row.html.twig index 40444f8b52..a770ad7ac0 100644 --- a/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_row.html.twig +++ b/src/bundle/Resources/views/themes/admin/ui/component/table/table_body_row.html.twig @@ -12,6 +12,7 @@ has_action_btns: body_col.has_action_btns|default(false), has_icon: body_col.has_icon|default(false), is_close_left: body_col.is_close_left is defined ? body_col.is_close_left : next_is_close_left, + center_content: body_col.center_content|default(false), content: body_col.content, raw: body_col.raw|default(false), class: body_col.class|default(null), diff --git a/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_cell.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_cell.html.twig index e221fdb69e..9704ed0ade 100644 --- a/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_cell.html.twig +++ b/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_cell.html.twig @@ -6,6 +6,7 @@ {%- if has_checkbox|default(false) %} ibexa-table__header-cell--checkbox{%- endif -%} {%- if has_icon|default(false) %} ibexa-table__header-cell--has-icon{%- endif -%} {%- if is_close_left|default(false) %} ibexa-table__header-cell--close-left {% endif %} + {%- if center_content|default(false) %} ibexa-table__header-cell--content-center {% endif %} {{ class|default('') -}}" {{ html.attributes(attr|default({})) }} > diff --git a/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_row.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_row.html.twig index 629997d91c..3036e546a7 100644 --- a/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_row.html.twig +++ b/src/bundle/Resources/views/themes/admin/ui/component/table/table_head_row.html.twig @@ -6,6 +6,7 @@ is_custom_bulk: head_col.is_custom_bulk|default(false), has_icon: head_col.has_icon|default(false), is_close_left: head_col.is_close_left is defined ? head_col.is_close_left : next_is_close_left|default(false), + center_content: head_col.center_content|default(false), content: head_col.content|default(''), sort_column: head_col.sort_column|default(null), class: head_col.class|default(null), diff --git a/src/lib/Behat/BrowserContext/LanguageContext.php b/src/lib/Behat/BrowserContext/LanguageContext.php index d8c514f21f..8d499e6da7 100644 --- a/src/lib/Behat/BrowserContext/LanguageContext.php +++ b/src/lib/Behat/BrowserContext/LanguageContext.php @@ -28,14 +28,6 @@ public function __construct(LanguagePage $languagePage, LanguagesPage $languages $this->languagesPage = $languagesPage; } - /** - * @When I create a new Language - */ - public function createNewLanguage(): void - { - $this->languagesPage->create(); - } - /** * @When I delete the language */ diff --git a/src/lib/Behat/Page/LanguagesPage.php b/src/lib/Behat/Page/LanguagesPage.php index 89a8065f82..9b739ae338 100644 --- a/src/lib/Behat/Page/LanguagesPage.php +++ b/src/lib/Behat/Page/LanguagesPage.php @@ -14,7 +14,6 @@ use Ibexa\Behat\Browser\Locator\VisibleCSSLocator; use Ibexa\Behat\Browser\Page\Page; use Ibexa\Behat\Browser\Routing\Router; -use PHPUnit\Framework\Assert; class LanguagesPage extends Page { @@ -36,11 +35,6 @@ public function editLanguage(string $languageName): void $this->table->getTableRow(['Name' => $languageName])->edit(); } - public function create(): void - { - $this->getHTMLPage()->find($this->getLocator('createButton'))->click(); - } - public function deleteLanguage(string $languageName): void { $this->table->getTableRow(['Name' => $languageName])->select(); @@ -56,14 +50,8 @@ public function isLanguageOnTheList(string $languageName) public function verifyIsLoaded(): void { - Assert::assertEquals( - 'Languages', - $this->getHTMLPage()->find($this->getLocator('pageTitle'))->getText() - ); - Assert::assertEquals( - 'Languages', - $this->getHTMLPage()->find($this->getLocator('listHeader'))->getText() - ); + $this->getHTMLPage()->find($this->getLocator('pageTitle'))->assert()->textEquals('Languages'); + $this->getHTMLPage()->find($this->getLocator('listHeader'))->assert()->textContains('List'); } public function getName(): string @@ -81,7 +69,6 @@ protected function specifyLocators(): array return [ new VisibleCSSLocator('pageTitle', '.ibexa-page-title h1'), new VisibleCSSLocator('listHeader', '.ibexa-table-header .ibexa-table-header__headline, header .ibexa-table__headline, header h5'), - new VisibleCSSLocator('createButton', '.ibexa-icon--create'), new VisibleCSSLocator('deleteButton', '.ibexa-icon--trash,button[data-bs-original-title^="Delete"]'), ]; }