diff --git a/src/bundle/ui-dev/src/modules/sub-items/components/no-items/no.items.component.js b/src/bundle/ui-dev/src/modules/sub-items/components/no-items/no.items.component.js
index 48060499fb..8f608ba7d9 100644
--- a/src/bundle/ui-dev/src/modules/sub-items/components/no-items/no.items.component.js
+++ b/src/bundle/ui-dev/src/modules/sub-items/components/no-items/no.items.component.js
@@ -3,7 +3,15 @@ import React from 'react';
const NoItemsComponent = () => {
const noItemsMessage = Translator.trans(/*@Desc("This location has no sub-items")*/ 'no_items.message', {}, 'sub_items');
- return
{noItemsMessage}
;
+ return (
+
+
+
+
+ |
+
+
+ );
};
export default NoItemsComponent;
diff --git a/src/bundle/ui-dev/src/modules/sub-items/sub.items.module.js b/src/bundle/ui-dev/src/modules/sub-items/sub.items.module.js
index 231a963b9e..4d8db08460 100644
--- a/src/bundle/ui-dev/src/modules/sub-items/sub.items.module.js
+++ b/src/bundle/ui-dev/src/modules/sub-items/sub.items.module.js
@@ -1090,8 +1090,12 @@ export default class SubItemsModule extends Component {
*/
renderPaginationInfo() {
const { totalCount, activePageItems } = this.state;
- const viewingCount = activePageItems ? activePageItems.length : 0;
+ if (totalCount === 0) {
+ return null;
+ }
+
+ const viewingCount = activePageItems ? activePageItems.length : 0;
const message = Translator.trans(
/*@Desc("Viewing %viewingCount% out of %totalCount% sub-items")*/ 'viewing_message',
{
@@ -1114,6 +1118,11 @@ export default class SubItemsModule extends Component {
renderPagination() {
const { limit: itemsPerPage } = this.props;
const { totalCount } = this.state;
+
+ if (totalCount === 0) {
+ return null;
+ }
+
const { activePageIndex, activePageItems, isDuringBulkOperation } = this.state;
const isActivePageLoaded = !!activePageItems;
const isPaginationDisabled = !isActivePageLoaded || isDuringBulkOperation;
@@ -1184,7 +1193,10 @@ export default class SubItemsModule extends Component {
}
renderNoItems() {
- if (this.state.totalCount) {
+ const { activePageItems, totalCount } = this.state;
+ const isActivePageLoaded = !!activePageItems;
+
+ if (totalCount || !isActivePageLoaded) {
return null;
}
diff --git a/src/lib/Behat/Component/SubItemsList.php b/src/lib/Behat/Component/SubItemsList.php
index 872b792735..855ea042ef 100644
--- a/src/lib/Behat/Component/SubItemsList.php
+++ b/src/lib/Behat/Component/SubItemsList.php
@@ -76,10 +76,14 @@ public function verifyIsLoaded(): void
$this->getHTMLPage()->setTimeout(5)->waitUntilCondition(
new ElementNotExistsCondition($this->getHTMLPage(), $this->getLocator('spinner'))
);
- $this->getHTMLPage()->find($this->getLocator('paginationInfo'))->mouseOver();
+
+ if ($this->getTable()->isEmpty()) {
+ return;
+ }
+
$this->getHTMLPage()
->setTimeout(3)
- ->find(new VisibleCSSLocator('paginationInfoVisible', $this->getLocator('paginationInfo')->getSelector()))
+ ->find($this->getLocator('paginationInfo'))
->assert()->textContains('Viewing');
}
@@ -107,7 +111,7 @@ protected function specifyLocators(): array
{
return [
new VisibleCSSLocator('table', '.m-sub-items'),
- new VisibleCSSLocator('empty', '.c-no-items'),
+ new VisibleCSSLocator('empty', '.ibexa-table__empty-table-cell'),
new VisibleCSSLocator('horizontalHeaders', '.m-sub-items .ibexa-table__header-cell'),
new VisibleCSSLocator('paginationInfo', '.m-sub-items__pagination-info'),
new CSSLocator('spinner', '.m-sub-items__spinner-wrapper'),