Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest changes from marmelab #1

Merged
merged 42 commits into from
Dec 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
d540d88
Prepare changelog for v3.11
fzaninotto Dec 14, 2020
5b8b174
Move async validators doc to a dedicated section
fzaninotto Dec 14, 2020
0e1066b
v3.11.0
fzaninotto Dec 14, 2020
a2dc263
Optimize References Loaders Display
djhi Dec 14, 2020
6041ef6
Fix typos in Tutorial doc
paulo9mv Dec 14, 2020
18140a2
Merge pull request #5669 from paulo9mv/master
djhi Dec 15, 2020
05de982
Remove min width in confirmation dialog
rkfg Dec 15, 2020
d14faf2
Fix tests
djhi Dec 15, 2020
1632c3f
Merge pull request #5674 from rkfg/confirm-fix
fzaninotto Dec 15, 2020
108aaaf
Apply review
djhi Dec 15, 2020
b5cc365
Fix ExportButton doesn't take permanent filter into account
fzaninotto Dec 15, 2020
cb1aa1a
Add missing change in 3.11 changelog
fzaninotto Dec 15, 2020
4219afc
Add missing changes in 3.11 changelog
fzaninotto Dec 15, 2020
de87f23
[Doc] Fix custom theme doc doesn't explain how to override default theme
fzaninotto Dec 15, 2020
6b47836
Fix spacing
fzaninotto Dec 15, 2020
6995f0e
fix reselect empty in autocomplete
AnkitaGupta111 Dec 16, 2020
105b8ae
Merge pull request #5676 from marmelab/theming-override-theme
djhi Dec 16, 2020
6f359dc
Merge pull request #5675 from marmelab/fix-export-button-filter
djhi Dec 16, 2020
ffb8722
Add references to the ra-search module in the public documentation
fzaninotto Dec 17, 2020
c0c66c0
[Doc] Fix syntax in actions example for useUpdate.
abdenny Dec 17, 2020
630e91e
Merge pull request #5681 from abdenny/patch-1
fzaninotto Dec 18, 2020
e071c65
Bug fix for autocomplete off
Md-Khaleelur Dec 16, 2020
e1fc7a3
Update data-providers for Hasura
djhi Dec 18, 2020
880d952
Merge pull request #5684 from Md-Khaleelur/bug/autocompleteOffInSearc…
djhi Dec 18, 2020
7e88a77
Revert "Fix for autocomplete off #5620"
djhi Dec 18, 2020
df48a4d
Apply review
djhi Dec 18, 2020
32d4b74
Fix Empty Component Display When No Create
djhi Dec 18, 2020
6d490f5
Fix external link
Dec 18, 2020
2cd5c89
Merge pull request #5688 from marmelab/empty-with-no-create
fzaninotto Dec 18, 2020
6fea3ff
Merge pull request #5687 from marmelab/revert-5684-bug/autocompleteOf…
fzaninotto Dec 18, 2020
352ef61
Merge pull request #5668 from marmelab/optimize-references-loaders-di…
fzaninotto Dec 18, 2020
7e4abeb
Merge pull request #5686 from marmelab/doc-dataproviders-hasura
fzaninotto Dec 18, 2020
b69a91d
Merge pull request #5689 from WiXSL/fix-docs-link
fzaninotto Dec 18, 2020
7053867
Merge pull request #5698 from AnkitaGupta111/ReselectEmptyValueSelece…
fzaninotto Dec 21, 2020
752e1f5
Prepare changelog for 3.11.1
fzaninotto Dec 21, 2020
a25dced
v3.11.1
fzaninotto Dec 21, 2020
4e674ab
Fix anchor
Dec 22, 2020
3fe2321
Fix links
Dec 22, 2020
93e7bb6
Merge pull request #5712 from WiXSL/fix-changelog
fzaninotto Dec 23, 2020
0fe79b6
Merge pull request #5711 from WiXSL/fix-docs-link
fzaninotto Dec 23, 2020
da2a0cb
Minor typo in docstring, missing 's'
DjebbZ Dec 23, 2020
58c2d77
Merge pull request #5715 from DjebbZ/patch-5
fzaninotto Dec 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
56 changes: 55 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,59 @@
# Changelog

## v3.11.1

* Fix select empty option in `<AutocompleteInput>` does not reset the input ([5698](https://github.com/marmelab/react-admin/pull/5698)) ([AnkitaGupta111](https://github.com/AnkitaGupta111))
* Fix `<Empty>` list component does not display when the `Resource` has no `create` component ([5688](https://github.com/marmelab/react-admin/pull/5688)) ([djhi](https://github.com/djhi))
* Fix `<ExportButton>` doesn't take permanent `filter` into account ([5675](https://github.com/marmelab/react-admin/pull/5675)) ([fzaninotto](https://github.com/fzaninotto))
* Fix `<Confirm>` dialog shows a scroll bar on mobile ([5674](https://github.com/marmelab/react-admin/pull/5674)) ([rkfg](https://github.com/rkfg))
* Fix `<ReferenceField>` and `<ReferenceArrayField>` performance by showing loader only after a delay ([5668](https://github.com/marmelab/react-admin/pull/5668)) ([djhi](https://github.com/djhi))
* [Doc] Fix link to react-final-form `Field` documentation in CreateEdit chapter ([5689](https://github.com/marmelab/react-admin/pull/5689)) ([WiXSL](https://github.com/WiXSL))
* [Doc] Fix outdated Hasura Data Provider reference ([5686](https://github.com/marmelab/react-admin/pull/5686)) ([djhi](https://github.com/djhi))
* [Doc] Fix syntax in actions example for `useUpdate` ([5681](https://github.com/marmelab/react-admin/pull/5681)) ([abdenny](https://github.com/abdenny))
* [Doc] Fix custom theme doc doesn't explain how to override default theme ([5676](https://github.com/marmelab/react-admin/pull/5676)) ([fzaninotto](https://github.com/fzaninotto))
* [Doc] Fix typos in Tutorial doc ([5669](https://github.com/marmelab/react-admin/pull/5669)) ([paulo9mv](https://github.com/paulo9mv))

## v3.11.0

Starting with this version, react-admin applications send an anonymous request on mount to a telemetry server operated by marmelab. You can see this request by looking at the Network tab of your browser DevTools:

`https://react-admin-telemetry.marmelab.com/react-admin-telemetry`

The only data sent to the telemetry server is the admin domain (e.g. "example.com") - no personal data is ever sent, and no cookie is included in the response. The react-admin team uses these domains to track the usage of the framework.

You can opt out of telemetry by simply adding `disableTelemetry` to the `<Admin>` component:

```jsx
// in src/App.js
import * as React from "react";
import { Admin } from 'react-admin';

const App = () => (
<Admin disableTelemetry>
// ...
</Admin>
);
```

* Add domain telemetry on app mount ([5631](https://github.com/marmelab/react-admin/pull/5631)) ([djhi](https://github.com/djhi))
* Add ability to access (and override) side effects in `SaveContext` ([5604](https://github.com/marmelab/react-admin/pull/5604)) ([djhi](https://github.com/djhi))
* Add support for `disabled` in `<ArrayInput>` ([5618](https://github.com/marmelab/react-admin/pull/5618)) ([fzaninotto](https://github.com/fzaninotto))
* Add ability to customize the notification element in the `<Login>` page ([5630](https://github.com/marmelab/react-admin/pull/5630)) ([hieusmiths](https://github.com/hieusmiths))
* Disable ripple effect on Buttons for improved performance ([5598](https://github.com/marmelab/react-admin/pull/5598)) ([fzaninotto](https://github.com/fzaninotto))
* Fix `<TestContext>` doesn't contain `notifications` node ([5659](https://github.com/marmelab/react-admin/pull/5659)) ([fzaninotto](https://github.com/fzaninotto))
* Fix `<Filter>` fails to show compound filters with no default value ([5657](https://github.com/marmelab/react-admin/pull/5657)) ([fzaninotto](https://github.com/fzaninotto))
* Fix "Missing translation" console error when the `dataProvider` fails ([5655](https://github.com/marmelab/react-admin/pull/5655)) ([fzaninotto](https://github.com/fzaninotto))
* Fix `<FilterListItem>` doesn't appear selected when more than one filter is applied ([5644](https://github.com/marmelab/react-admin/pull/5644)) ([fzaninotto](https://github.com/fzaninotto))
* Fix `usePermissions` always triggers a re-render even though the permissions are unchanged ([5607](https://github.com/marmelab/react-admin/pull/5607)) ([fzaninotto](https://github.com/fzaninotto))
* [Doc] Add `rowStyle` example usage to `<SimpleList>` jsDoc ([5661](https://github.com/marmelab/react-admin/pull/5661)) ([vdimitroff](https://github.com/vdimitroff))
* [Doc] Fix `<ReferenceField link>` prop type to show that it accepts a function ([5660](https://github.com/marmelab/react-admin/pull/5660)) ([vdimitroff](https://github.com/vdimitroff))
* [Doc] Fix missing import in `List` example ([5658](https://github.com/marmelab/react-admin/pull/5658)) ([WiXSL](https://github.com/WiXSL))
* [Doc] Fix syntax error in `<List exporter>` prop usage ([5649](https://github.com/marmelab/react-admin/pull/5649)) ([WiXSL](https://github.com/WiXSL))
* [Doc] Fix Sidebar size change resets the theme color ([5646](https://github.com/marmelab/react-admin/pull/5646)) ([zheya08](https://github.com/zheya08))
* [Doc] Fix `<ReferenceInput>` and `<ReferenceArrayInput>` JSDocs point to the wrong `dataProvider` method ([5645](https://github.com/marmelab/react-admin/pull/5645)) ([WiXSL](https://github.com/WiXSL))
* [Doc] Add mention of saved queries in List chapter ([5638](https://github.com/marmelab/react-admin/pull/5638)) ([fzaninotto](https://github.com/fzaninotto))
* [Doc] Fix `<Admin history>` prop injection documentation misses package version constraint ([5538](https://github.com/marmelab/react-admin/pull/5538)) ([fzaninotto](https://github.com/fzaninotto))

## v3.10.4

* Fix `ra-data-simple-rest` delete method fails because of bad header ([5628](https://github.com/marmelab/react-admin/pull/5628)) ([fzaninotto](https://github.com/fzaninotto))
Expand Down Expand Up @@ -1973,7 +2027,7 @@ This new release is not backwards compatible with 1.x. Please refer to [the Upgr
* Fix date filters ([djhi](https://github.com/djhi))
* Fix typo in custom actions documentation ([RWOverdijk](https://github.com/RWOverdijk))

## v.1.3.0
## v1.3.0

* Add permissions handling ([djhi](https://github.com/djhi))
* Add Not Found page ([fzaninotto](https://github.com/fzaninotto))
Expand Down
1 change: 1 addition & 0 deletions docs/Actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -528,6 +528,7 @@ const ApproveButton = ({ record }) => {
'comments',
record.id,
{ isApproved: true },
record,
{
undoable: true,
onSuccess: ({ data }) => {
Expand Down
75 changes: 41 additions & 34 deletions docs/CreateEdit.md
Original file line number Diff line number Diff line change
Expand Up @@ -1092,37 +1092,7 @@ export const UserCreate = (props) => (

**Tip**: The props you pass to `<SimpleForm>` and `<TabbedForm>` are passed to the [<Form>](https://final-form.org/docs/react-final-form/api/Form) of `react-final-form`.

**Tip**: The `validate` function can return a promise for asynchronous validation. For instance:

```jsx
const validateUserCreation = async (values) => {
const errors = {};
if (!values.firstName) {
errors.firstName = ['The firstName is required'];
}
if (!values.age) {
errors.age = ['The age is required'];
} else if (values.age < 18) {
errors.age = ['Must be over 18'];
}

const isEmailUnique = await checkEmailIsUnique(values.userName);
if (!isEmailUnique) {
errors.email = ['Email already used'];
}
return errors
};

export const UserCreate = (props) => (
<Create {...props}>
<SimpleForm validate={validateUserCreation}>
<TextInput label="First Name" source="firstName" />
<TextInput label="Email" source="email" />
<TextInput label="Age" source="age" />
</SimpleForm>
</Create>
);
```
**Tip**: The `validate` function can return a promise for asynchronous validation. See [the Server-Side Validation section](#server-side-validation) below.

### Per Input Validation: Built-in Field Validators

Expand Down Expand Up @@ -1285,11 +1255,47 @@ export const ProductEdit = ({ ...props }) => (
```
{% endraw %}

**Tip**: The props of your Input components are passed to a `react-final-form` [<Field>](https://final-form.org/docs/react-final-form/api/Field) component.
**Tip**: The props of your Input components are passed to a `react-final-form` [Field](https://final-form.org/docs/react-final-form/api/Field) component.

**Tip**: You can use *both* Form validation and input validation.

**Tip**: The custom validator function can return a promise for asynchronous validation. For instance:
**Tip**: The custom validator function can return a promise, e.g. to use server-side validation. See next section for details.

### Server-Side Validation

You can validate the entire form data server-side by returning a Promise in the form `validate` function. For instance:

```jsx
const validateUserCreation = async (values) => {
const errors = {};
if (!values.firstName) {
errors.firstName = ['The firstName is required'];
}
if (!values.age) {
errors.age = ['The age is required'];
} else if (values.age < 18) {
errors.age = ['Must be over 18'];
}

const isEmailUnique = await checkEmailIsUnique(values.userName);
if (!isEmailUnique) {
errors.email = ['Email already used'];
}
return errors
};

export const UserCreate = (props) => (
<Create {...props}>
<SimpleForm validate={validateUserCreation}>
<TextInput label="First Name" source="firstName" />
<TextInput label="Email" source="email" />
<TextInput label="Age" source="age" />
</SimpleForm>
</Create>
);
```

Per Input validators can also return a Promise to call the server for validation. For instance:

```jsx
const validateEmailUnicity = async (value) => {
Expand Down Expand Up @@ -1321,7 +1327,8 @@ export const UserCreate = (props) => (
);
```

**Important**: Note that asynchronous validators are not supported on the `ArrayInput` component due to a limitation of [react-final-form-arrays](https://github.com/final-form/react-final-form-arrays).
**Important**: Note that asynchronous validators are not supported on the `<ArrayInput>` component due to a limitation of [react-final-form-arrays](https://github.com/final-form/react-final-form-arrays).

## Submit On Enter

By default, pressing `ENTER` in any of the form fields submits the form - this is the expected behavior in most cases. However, some of your custom input components (e.g. Google Maps widget) may have special handlers for the `ENTER` key. In that case, to disable the automated form submission on enter, set the `submitOnEnter` prop of the form component to `false`:
Expand Down
3 changes: 2 additions & 1 deletion docs/DataProviders.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ Developers from the react-admin community have open-sourced Data Providers for m
* **[Firebase Realtime Database](https://firebase.google.com/docs/database)**: [aymendhaya/ra-data-firebase-client](https://github.com/aymendhaya/ra-data-firebase-client).
* **[GraphQL](https://graphql.org/)**: [marmelab/ra-data-graphql](https://github.com/marmelab/react-admin/tree/master/packages/ra-data-graphql) (uses [Apollo](https://www.apollodata.com/))
* **[HAL](http://stateless.co/hal_specification.html)**: [b-social/ra-data-hal](https://github.com/b-social/ra-data-hal)
* **[Hasura](https://github.com/hasura/graphql-engine)**: [hasura/ra-data-hasura](https://github.com/hasura/graphql-engine/tree/master/community/tools/ra-data-hasura)
* **[Hasura V1](https://github.com/hasura/graphql-engine)**: [hasura/ra-data-hasura](https://github.com/hasura/ra-data-hasura), communicates with Hasura V1, using standard REST and not GraphQL
* **[Hasura](https://github.com/hasura/graphql-engine)**: [Steams/ra-data-hasura-graphql](https://github.com/Steams/ra-data-hasura-graphql), auto generates valid GraphQL queries based on the properties exposed by the Hasura API.
* **[Hydra](https://www.hydra-cg.com/) / [JSON-LD](https://json-ld.org/)**: [api-platform/admin/hydra](https://github.com/api-platform/admin/blob/master/src/hydra/dataProvider.js)
* **[IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)**: [tykoth/ra-data-dexie](https://github.com/tykoth/ra-data-dexie)
* **[JSON API](https://jsonapi.org/)**: [henvo/ra-jsonapi-client](https://github.com/henvo/ra-jsonapi-client)
Expand Down
16 changes: 15 additions & 1 deletion docs/List.md
Original file line number Diff line number Diff line change
Expand Up @@ -1392,6 +1392,20 @@ export const PostList = (props) => (

You can use a similar approach to customize the list filter completely, e.g. to display the filters in a sidebar, or as a line in the datagrid, etc.

### Global Search

Although list filters allow to make precise queries using per-field criteria, users often prefer simpler interfaces like full-text search. After all, that's what they use every day on search engines, email clients, and in their file explorer.

If you want to display a full-text search allowing to look for any record in the admin using a single form input, check out [ra-search](https://marmelab.com/ra-enterprise/modules/ra-search), an [Enterprise Edition](https://marmelab.com/ra-enterprise)<img class="icon" src="./img/premium.svg" /> module.

![ra-search basic](https://marmelab.com/ra-enterprise/modules/assets/ra-search-overview.gif)

`ra-search` can plug to any existing search engine (ElasticSearch, Lucene, or custom search engine), and lets you customize the search results to provide quick navigation to related items, turniun the search engine into an "Omnibox":

![ra-search demo](https://marmelab.com/ra-enterprise/modules/assets/ra-search-demo.gif)

For mode details about the global search, check the [`ra-search` module](https://marmelab.com/ra-enterprise/modules/ra-search) in React-Admin Enterprise Edition.

## Sorting The List

<table><tbody><tr style="border:none">
Expand Down Expand Up @@ -1898,7 +1912,7 @@ You can find many usage examples of `useListContext` in this page, including:
- [Building an Aside Component](#aside-aside-component)
- [Building a Custom Empty Page](#empty-empty-page-component)
- [Building a Custom Filter](#building-a-custom-filter)
- [Building a Custom Sort Control](##building-a-custom-sort-control)
- [Building a Custom Sort Control](#building-a-custom-sort-control)
- [Building a Custom Pagination Control](#building-a-custom-pagination-control)
- [Building a Custom Iterator](#using-a-custom-iterator)

Expand Down
2 changes: 2 additions & 0 deletions docs/Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ title: "Reference"
* [`<RowForm>`](https://marmelab.com/ra-enterprise/modules/ra-editable-datagrid#rowform)<img class="icon" src="./img/premium.svg" />
* `<SaveButton>`
* [`<SavedFilterList>`](https://marmelab.com/ra-enterprise/modules/ra-preferences#savedquerieslist-and-filterwithsave-store-user-queries-in-preferences)<img class="icon" src="./img/premium.svg" />
* [`<Search>`](https://marmelab.com/ra-enterprise/modules/ra-search#the-search-component)<img class="icon" src="./img/premium.svg" />
* `<SearchInput>`
* [`<SelectArrayInput>`](./Inputs.md#selectarrayinput)
* [`<SelectColumnsButton>`](https://marmelab.com/ra-enterprise/modules/ra-preferences#selectcolumnsbutton-store-datagrid-columns-in-preferences)<img class="icon" src="./img/premium.svg" />
Expand Down Expand Up @@ -189,6 +190,7 @@ title: "Reference"
* `useReferenceInputController`
* `useReferenceManyFieldController`
* [`useRefresh`](./Actions.md#handling-side-effects-in-usedataprovider)
* [`useSearch`](https://marmelab.com/ra-enterprise/modules/ra-search#the-usesearch-hook)<img class="icon" src="./img/premium.svg" />
* [`useSetLocale`](./Translation.md#usesetlocale-changing-locale-at-runtime)
* [`useShowController`](./Show.md#useshowcontroller)
* `useSortState`
Expand Down
25 changes: 12 additions & 13 deletions docs/Theming.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,15 +310,18 @@ const App = () => (

## Writing a Custom Theme

If you need more fine-tuning, you'll need to write your own `theme` object, following [Material UI themes documentation](https://material-ui.com/customization/themes/). Material UI merges custom theme objects with the default theme.
If you need more fine-tuning, you'll need to write your own `theme` object, following [Material UI themes documentation](https://material-ui.com/customization/themes/).

For instance, here is how to override the default react-admin theme:

```jsx
import { createMuiTheme } from '@material-ui/core/styles';
import { defaultTheme } from 'react-admin';
import merge from 'lodash/merge';
import indigo from '@material-ui/core/colors/indigo';
import pink from '@material-ui/core/colors/pink';
import red from '@material-ui/core/colors/red';

const myTheme = createMuiTheme({
const myTheme = merge({}, defaultTheme, {
palette: {
primary: indigo,
secondary: pink,
Expand All @@ -328,13 +331,7 @@ const myTheme = createMuiTheme({
},
typography: {
// Use the system font instead of the default Roboto font.
fontFamily: [
'-apple-system',
'BlinkMacSystemFont',
'"Segoe UI"',
'Arial',
'sans-serif',
].join(','),
fontFamily: ['-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Arial', 'sans-serif'].join(','),
},
overrides: {
MuiButton: { // override the styles of all instances of this component
Expand All @@ -346,7 +343,7 @@ const myTheme = createMuiTheme({
});
```

The `myTheme` object contains the following keys:
A `theme` object can contain the following keys:

* `breakpoints`
* `direction`
Expand All @@ -355,9 +352,9 @@ The `myTheme` object contains the following keys:
* `palette`
* `props`
* `shadows`
* `typography`
* `transitions`
* `spacing`
* `transitions`
* `typography`
* `zIndex`

**Tip**: Check [Material UI default theme documentation](https://material-ui.com/customization/default-theme/) to see the default values and meaning for these keys.
Expand Down Expand Up @@ -894,6 +891,8 @@ The `MenuItemLink` component make use of the React Router [NavLink](https://reac

**Tip**: If you need a multi-level menu, or a Mega Menu opening panels with custom content, check out [the `ra-navigation`<img class="icon" src="./img/premium.svg" /> module](https://marmelab.com/ra-enterprise/modules/ra-navigation) (part of the [Enterprise Edition](https://marmelab.com/ra-enterprise))

![multi-level menu](https://marmelab.com/ra-enterprise/modules/assets/ra-multilevelmenu-item.gif)

![MegaMenu and Breadcrumb](https://marmelab.com/ra-enterprise/modules/assets/ra-multilevelmenu-categories.gif)

## Using a Custom Login Page
Expand Down
4 changes: 2 additions & 2 deletions docs/Tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ import {
Edit,
SimpleForm,
ReferenceInput,
SelectIpnut,
SelectInput,
TextInput,
} from 'react-admin';

Expand Down Expand Up @@ -534,7 +534,7 @@ import {
+ Create,
SimpleForm,
ReferenceInput,
SelectIpnut,
SelectInput,
TextInput,
} from 'react-admin';

Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
"examples/data-generator",
"packages/*"
],
"version": "3.10.4"
"version": "3.11.1"
}
2 changes: 1 addition & 1 deletion packages/ra-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ra-core",
"version": "3.10.4",
"version": "3.11.1",
"description": "Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React",
"files": [
"*.md",
Expand Down
2 changes: 2 additions & 0 deletions packages/ra-core/src/controller/useListController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ export interface ListControllerProps<RecordType extends Record = Record> {
displayedFilters: any;
error?: any;
exporter?: Exporter | false;
filter?: FilterPayload;
filterValues: any;
hasCreate: boolean;
hideFilter: (filterName: string) => void;
Expand Down Expand Up @@ -250,6 +251,7 @@ const useListController = <RecordType extends Record = Record>(
displayedFilters: query.displayedFilters,
error,
exporter,
filter,
filterValues: query.filterValues,
hasCreate,
hideFilter: queryModifiers.hideFilter,
Expand Down