Skip to content

Commit 0beb2d3

Browse files
authoredOct 9, 2023
Merge pull request #9345 from marmelab/fix-stacked-filter-doc
[doc] show how to use StackedFilters well
2 parents c4778c2 + 55ed051 commit 0beb2d3

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed
 

‎docs/FilteringTutorial.md

+14-5
Original file line numberDiff line numberDiff line change
@@ -228,13 +228,15 @@ Another alternative filter UI is the Stacked Filters dialog, an [Enterprise Edit
228228
Here is an example StackedFilters configuration:
229229

230230
```jsx
231-
import {
232-
List,
231+
import {
232+
BooleanField,
233+
CreateButton,
233234
Datagrid,
234-
TextField,
235+
List,
235236
NumberField,
236237
ReferenceArrayField,
237-
BooleanField,
238+
TextField,
239+
TopToolbar,
238240
} from 'react-admin';
239241
import {
240242
textFilter,
@@ -252,8 +254,15 @@ const postListFilters = {
252254
tags: referenceFilter({ reference: 'tags' }),
253255
};
254256

257+
const PostListToolbar = () => (
258+
<TopToolbar>
259+
<CreateButton />
260+
<StackedFilters config={postListFilters} />
261+
</TopToolbar>
262+
);
263+
255264
const PostList = () => (
256-
<List filters={<StackedFilters config={postListFilters} />}>
265+
<List actions={<PostListToolbar />}>
257266
<Datagrid>
258267
<TextField source="title" />
259268
<NumberField source="views" />

‎docs/StackedFilters.md

+17-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This [Enterprise Edition](https://marmelab.com/ra-enterprise)<img class="icon" s
1717
Create a filter configuration object by specifying the operators and UI for each source that can be used as a filter. Then, pass it to the `<StackedFilters>` component, and pass that component to the `filters` prop of the `<List>` component.
1818

1919
```jsx
20-
import { Datagrid, List, TextField, NumberField, BooleanField, ReferenceArrayField } from 'react-admin';
20+
import { CreateButton, Datagrid, List, TextField, NumberField, BooleanField, ReferenceArrayField, TopToolbar } from 'react-admin';
2121
import { StackedFilters, textFilter, dateFilter, referenceFilter, booleanFilter } from '@react-admin/ra-form-layout';
2222

2323
const postListFilters = {
@@ -28,8 +28,15 @@ const postListFilters = {
2828
tags: referenceFilter({ reference: 'tags' }),
2929
};
3030

31+
const PostListToolbar = () => (
32+
<TopToolbar>
33+
<CreateButton />
34+
<StackedFilters config={postListFilters} />
35+
</TopToolbar>
36+
);
37+
3138
const PostList = () => (
32-
<List filters={<StackedFilters config={postListFilters} />}>
39+
<List actions={<PostListToolbar />}>
3340
<Datagrid>
3441
<TextField source="title" />
3542
<NumberField source="views" />
@@ -120,8 +127,15 @@ const postListFilters = {
120127
tags: referenceFilter({ reference: 'tags' }),
121128
};
122129

130+
const PostListToolbar = () => (
131+
<TopToolbar>
132+
<CreateButton />
133+
<StackedFilters config={postListFilters} />
134+
</TopToolbar>
135+
);
136+
123137
const PostList = () => (
124-
<List filters={<StackedFilters config={postListFilters} />}>
138+
<List actions={<PostListToolbar />}>
125139
{/* ... */}
126140
</List>
127141
);

0 commit comments

Comments
 (0)