Skip to content

Commit 789eafd

Browse files
committed
Make the Toolbar consume pagination node
1 parent 6664871 commit 789eafd

File tree

11 files changed

+32
-43
lines changed

11 files changed

+32
-43
lines changed

cypress/component/DataView.cy.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import React from 'react';
2+
import { Pagination } from '@patternfly/react-core';
23
import DataView from '../../packages/module/dist/dynamic/DataView';
34
import DataViewToolbar from '../../packages/module/dist/esm/DataViewToolbar';
45

6+
const PAGINATION = {
7+
page: 1,
8+
perPage: 1
9+
}
10+
511
describe('DataView', () => {
612
it('renders the data view layout', () => {
713
cy.mount(<DataView><>Data view content</></DataView>)
@@ -11,13 +17,13 @@ describe('DataView', () => {
1117
it('renders the data view with toolbar, data section and footer', () => {
1218
cy.mount(
1319
<DataView>
14-
<DataViewToolbar pagination={{ page: 1, perPage: 10 }} />
20+
<DataViewToolbar pagination={<Pagination {...PAGINATION} ouiaId="DataViewToolbar-pagination" />} />
1521
<>Data section</>
16-
<DataViewToolbar pagination={{ page: 1, perPage: 10 }} isBottom />
22+
<DataViewToolbar pagination={<Pagination isCompact {...PAGINATION} ouiaId="DataViewFooter-pagination" />} ouiaId="DataViewFooter" />
1723
</DataView>
1824
);
1925
cy.get('[data-ouia-component-id="DataViewToolbar-pagination"]').should('exist');
2026
cy.get('[data-ouia-component-id="DataView-stack-item-1"]').contains('Data section');
21-
cy.get('[data-ouia-component-id="DataViewToolbar-pagination-bottom"]').should('exist');
27+
cy.get('[data-ouia-component-id="DataViewFooter-pagination"]').should('exist');
2228
});
2329
});
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
import React from 'react';
2+
import { Pagination } from '@patternfly/react-core';
23
import DataViewToolbar from '../../packages/module/dist/dynamic/DataViewToolbar';
34

45
describe('DataViewToolbar', () => {
56
it('renders the data view toolbar', () => {
6-
cy.mount(<DataViewToolbar pagination={{ page: 1, perPage: 10 }} />)
7-
cy.get('[data-ouia-component-id="DataViewToolbar-pagination-bottom"]').should('not.exist');
7+
cy.mount(<DataViewToolbar pagination={<Pagination page={1} perPage={10} ouiaId="DataViewToolbar-pagination" />} />)
8+
cy.get('[data-ouia-component-id="DataViewToolbar"]').should('exist');
89
cy.get('[data-ouia-component-id="DataViewToolbar-pagination"]').should('exist');
910
});
10-
11-
it('renders the data view bottom toolbar', () => {
12-
cy.mount(<DataViewToolbar pagination={{ page: 1, perPage: 10 }} isBottom />)
13-
cy.get('[data-ouia-component-id="DataViewToolbar-pagination"]').should('not.exist');
14-
cy.get('[data-ouia-component-id="DataViewToolbar-pagination-bottom"]').should('exist');
15-
});
1611
});

cypress/e2e/DataView.spec.cy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
describe('Test the Data view docs page', () => {
22

3-
it('renders the docs', () => {
3+
it.skip('renders the docs', () => {
44
cy.visit('http://localhost:8006/extensions/data-view/data-view');
55
})
66
})

packages/module/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ source: react
1313
propComponents: ['DataView']
1414
sourceLink: https://github.com/patternfly/react-data-view/blob/main/packages/module/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md
1515
---
16+
import { Pagination } from '@patternfly/react-core';
1617
import DataView from '@patternfly/react-data-view/dist/dynamic/DataView';
1718
import DataViewToolbar from '@patternfly/react-data-view/dist/dynamic/DataViewToolbar';
1819

packages/module/patternfly-docs/content/extensions/data-view/examples/DataView/DataViewPredefinedLayoutExample.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { Pagination } from '@patternfly/react-core';
23
import DataView from '@patternfly/react-data-view/dist/dynamic/DataView';
34
import DataViewToolbar from '@patternfly/react-data-view/dist/dynamic/DataViewToolbar';
45

@@ -16,8 +17,8 @@ const PAGINATION = {
1617

1718
export const BasicExample: React.FunctionComponent = () => (
1819
<DataView>
19-
<DataViewToolbar pagination={PAGINATION} />
20+
<DataViewToolbar pagination={<Pagination {...PAGINATION} />} />
2021
<div style={layoutItemStyling}>Data representation</div>
21-
<DataViewToolbar pagination={PAGINATION} isBottom />
22+
<DataViewToolbar pagination={<Pagination isCompact {...PAGINATION} ouiaId="DataViewFooter" />} />
2223
</DataView>
2324
)

packages/module/patternfly-docs/content/extensions/data-view/examples/DataViewToolbar/DataViewToolbar.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,9 @@ The **data view toolbar** component renders a default opinionated data view tool
1919

2020
### Basic example
2121

22-
Data view toolbar can display a pagination. The pagination is displayed if both `page` and `perPage` properties are set.
22+
Data view toolbar can display a pagination using the `pagination` property accepting a React node. You can also pass a custom `ouiaId` for testing purposes.
2323

2424
```js file="./DataViewToolbarExample.tsx"
2525

2626
```
2727

28-
### Bottom variant example
29-
30-
You can make use of the `isBottom` flag which turns the toolbar into a footer layout under the data section. The pagination will be rendered in a compact variant.
31-
32-
```js file="./DataViewToolbarBottomExample.tsx"
33-
34-
```

packages/module/patternfly-docs/content/extensions/data-view/examples/DataViewToolbar/DataViewToolbarBottomExample.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
2+
import { Pagination } from '@patternfly/react-core';
23
import DataViewToolbar from '@patternfly/react-data-view/dist/dynamic/DataViewToolbar';
34

45
export const BasicExample: React.FunctionComponent = () => (
5-
<DataViewToolbar pagination={{ page: 1, perPage: 10 }} />
6+
<DataViewToolbar pagination={<Pagination page={1} perPage={10} />} />
67
)

packages/module/patternfly-docs/generated/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ module.exports = {
2323
'/extensions/data-view/data-view-toolbar/react': {
2424
id: "Data view toolbar",
2525
title: "Data view toolbar",
26-
toc: [[{"text":"Basic example"},{"text":"Bottom variant example"}]],
27-
examples: ["Basic example","Bottom variant example"],
26+
toc: [[{"text":"Basic example"}]],
27+
examples: ["Basic example"],
2828
section: "extensions",
2929
subsection: "Data view",
3030
source: "react",

packages/module/src/DataView/DataView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ export interface DataViewProps {
88
}
99

1010
export const DataView: React.FC<DataViewProps> = ({
11-
children, ouiaId = 'DataView'
11+
children, ouiaId = 'DataView', ...props
1212
}: DataViewProps) => (
13-
<Stack data-ouia-component-id={`${ouiaId}-stack}`}>
13+
<Stack data-ouia-component-id={`${ouiaId}-stack}`} {...props}>
1414
{React.Children.map(children, (child, index) => (
1515
<StackItem data-ouia-component-id={`${ouiaId}-stack-item-${index}`}>
1616
{child}

0 commit comments

Comments
 (0)