diff --git a/examples/simple/src/users/UserEdit.tsx b/examples/simple/src/users/UserEdit.tsx index 793df2b55ca..019d2798d33 100644 --- a/examples/simple/src/users/UserEdit.tsx +++ b/examples/simple/src/users/UserEdit.tsx @@ -47,7 +47,7 @@ const UserEditForm = () => { const { save } = useSaveContext(); const newSave = values => - new Promise((resolve, reject) => { + new Promise(resolve => { if (values.name === 'test') { return resolve({ name: { diff --git a/examples/simple/src/users/UserList.tsx b/examples/simple/src/users/UserList.tsx index 8d59c3f34c3..8d61c0bdf16 100644 --- a/examples/simple/src/users/UserList.tsx +++ b/examples/simple/src/users/UserList.tsx @@ -29,7 +29,7 @@ const UserBulkActionButtons = props => ( ); -const rowClick = memoize(permissions => (id, resource, record) => { +const rowClick = memoize(permissions => () => { return permissions === 'admin' ? Promise.resolve('edit') : Promise.resolve('show'); diff --git a/packages/ra-core/src/auth/useCheckAuth.spec.tsx b/packages/ra-core/src/auth/useCheckAuth.spec.tsx index f3d4588e68e..a57e971e8e3 100644 --- a/packages/ra-core/src/auth/useCheckAuth.spec.tsx +++ b/packages/ra-core/src/auth/useCheckAuth.spec.tsx @@ -34,7 +34,7 @@ const TestComponent = ({ useEffect(() => { checkAuth(params, logoutOnFailure, redirectTo, disableNotification) .then(() => setAuthenticated(true)) - .catch(error => setAuthenticated(false)); + .catch(() => setAuthenticated(false)); }, [params, logoutOnFailure, redirectTo, disableNotification, checkAuth]); return
{authenticated ? 'authenticated' : 'not authenticated'}
; }; diff --git a/packages/ra-core/src/auth/useLogin.spec.tsx b/packages/ra-core/src/auth/useLogin.spec.tsx index 5d069307663..c3c0780d9d2 100644 --- a/packages/ra-core/src/auth/useLogin.spec.tsx +++ b/packages/ra-core/src/auth/useLogin.spec.tsx @@ -15,8 +15,8 @@ describe('useLogin', () => { }; const authProvider = { login: () => Promise.resolve(), - checkError: error => Promise.resolve(), - checkAuth: params => Promise.resolve(), + checkError: () => Promise.resolve(), + checkAuth: () => Promise.resolve(), logout: () => Promise.resolve(), getIdentity: () => Promise.resolve({ id: 'joe' }), getPermissions: () => Promise.resolve(), @@ -42,8 +42,8 @@ describe('useLogin', () => { }; const authProvider = { login: () => Promise.resolve({ redirectTo: '/foo' }), - checkError: error => Promise.resolve(), - checkAuth: params => Promise.resolve(), + checkError: () => Promise.resolve(), + checkAuth: () => Promise.resolve(), logout: () => Promise.resolve(), getIdentity: () => Promise.resolve({ id: 'joe' }), getPermissions: () => Promise.resolve(), @@ -71,8 +71,8 @@ describe('useLogin', () => { }; const authProvider = { login: () => Promise.resolve({ redirectTo: false }), - checkError: error => Promise.resolve(), - checkAuth: params => Promise.resolve(), + checkError: () => Promise.resolve(), + checkAuth: () => Promise.resolve(), logout: () => Promise.resolve(), getIdentity: () => Promise.resolve({ id: 'joe' }), getPermissions: () => Promise.resolve(), diff --git a/packages/ra-core/src/controller/create/CreateBase.spec.tsx b/packages/ra-core/src/controller/create/CreateBase.spec.tsx index e5b1b7f2540..a49c3d1857e 100644 --- a/packages/ra-core/src/controller/create/CreateBase.spec.tsx +++ b/packages/ra-core/src/controller/create/CreateBase.spec.tsx @@ -136,9 +136,7 @@ describe('CreateBase', () => { it('should allow to override the onError function', async () => { jest.spyOn(console, 'error').mockImplementation(() => {}); const dataProvider = testDataProvider({ - create: jest.fn((_, { data }) => - Promise.reject({ message: 'test' }) - ), + create: jest.fn(() => Promise.reject({ message: 'test' })), }); const onError = jest.fn(); @@ -172,9 +170,7 @@ describe('CreateBase', () => { it('should allow to override the onError function at call time', async () => { const dataProvider = testDataProvider({ - create: jest.fn((_, { data }) => - Promise.reject({ message: 'test' }) - ), + create: jest.fn(() => Promise.reject({ message: 'test' })), }); const onError = jest.fn(); const onErrorOverride = jest.fn(); diff --git a/packages/ra-core/src/controller/create/useCreateController.spec.tsx b/packages/ra-core/src/controller/create/useCreateController.spec.tsx index f1c1cf71e05..e4ef008aa43 100644 --- a/packages/ra-core/src/controller/create/useCreateController.spec.tsx +++ b/packages/ra-core/src/controller/create/useCreateController.spec.tsx @@ -553,7 +553,7 @@ describe('useCreateController', () => { render( - {({ save, record }) => { + {({ save }) => { saveCallback = save; return
; }} diff --git a/packages/ra-core/src/controller/edit/useEditController.spec.tsx b/packages/ra-core/src/controller/edit/useEditController.spec.tsx index ab16d091bf4..753fd9bd9bd 100644 --- a/packages/ra-core/src/controller/edit/useEditController.spec.tsx +++ b/packages/ra-core/src/controller/edit/useEditController.spec.tsx @@ -214,7 +214,7 @@ describe('useEditController', () => { render( - {({ record, save, saving }) => { + {({ record, save }) => { return ( <>

{record?.test}

@@ -247,7 +247,7 @@ describe('useEditController', () => { let post = { id: 12, test: 'previous' }; const update = jest .fn() - .mockImplementationOnce((_, { id, data, previousData }) => { + .mockImplementationOnce((_, { data, previousData }) => { post = { ...previousData, ...data }; return Promise.resolve({ data: post }); }); @@ -299,7 +299,7 @@ describe('useEditController', () => { let post = { id: 12 }; const update = jest .fn() - .mockImplementationOnce((_, { id, data, previousData }) => { + .mockImplementationOnce((_, { data, previousData }) => { post = { ...previousData, ...data }; return Promise.resolve({ data: post }); }); diff --git a/packages/ra-core/src/controller/input/useReferenceArrayInputController.spec.tsx b/packages/ra-core/src/controller/input/useReferenceArrayInputController.spec.tsx index 830f75e6826..57651343680 100644 --- a/packages/ra-core/src/controller/input/useReferenceArrayInputController.spec.tsx +++ b/packages/ra-core/src/controller/input/useReferenceArrayInputController.spec.tsx @@ -728,9 +728,7 @@ describe('useReferenceArrayInputController', () => { it('should set isLoading to false if enableGetChoices returns false', async () => { const children = jest.fn().mockReturnValue(
); await new Promise(resolve => setTimeout(resolve, 100)); // empty the query deduplication in useQueryWithStore - const enableGetChoices = jest.fn().mockImplementation(({ q }) => { - return false; - }); + const enableGetChoices = jest.fn().mockImplementation(() => false); render(
diff --git a/packages/ra-core/src/controller/list/useInfiniteListController.spec.tsx b/packages/ra-core/src/controller/list/useInfiniteListController.spec.tsx index 04a07225de1..bfea001d4d0 100644 --- a/packages/ra-core/src/controller/list/useInfiniteListController.spec.tsx +++ b/packages/ra-core/src/controller/list/useInfiniteListController.spec.tsx @@ -286,11 +286,7 @@ describe('useInfiniteListController', () => { it('Does not remove previously shown filter when adding a new one', async () => { let currentDisplayedFilters; - let childFunction = ({ - showFilter, - displayedFilters, - filterValues, - }) => { + let childFunction = ({ showFilter, displayedFilters }) => { currentDisplayedFilters = displayedFilters; return ( <> diff --git a/packages/ra-core/src/controller/list/useListController.spec.tsx b/packages/ra-core/src/controller/list/useListController.spec.tsx index a8064ec228d..5e1cdee0e91 100644 --- a/packages/ra-core/src/controller/list/useListController.spec.tsx +++ b/packages/ra-core/src/controller/list/useListController.spec.tsx @@ -269,11 +269,7 @@ describe('useListController', () => { it('Does not remove previously shown filter when adding a new one', async () => { let currentDisplayedFilters; - let childFunction = ({ - showFilter, - displayedFilters, - filterValues, - }) => { + let childFunction = ({ showFilter, displayedFilters }) => { currentDisplayedFilters = displayedFilters; return ( <> diff --git a/packages/ra-core/src/controller/saveContext/useSaveContext.ts b/packages/ra-core/src/controller/saveContext/useSaveContext.ts index df7449d6d70..cb66aef1d75 100644 --- a/packages/ra-core/src/controller/saveContext/useSaveContext.ts +++ b/packages/ra-core/src/controller/saveContext/useSaveContext.ts @@ -15,7 +15,7 @@ import { SaveContext, SaveContextValue } from './SaveContext'; export const useSaveContext = < PropsType extends SaveContextValue = SaveContextValue >( - props?: PropsType + _props?: PropsType ): SaveContextValue => { return useContext(SaveContext); }; diff --git a/packages/ra-core/src/core/CustomRoutes.tsx b/packages/ra-core/src/core/CustomRoutes.tsx index 20541f8e061..71e0a57dded 100644 --- a/packages/ra-core/src/core/CustomRoutes.tsx +++ b/packages/ra-core/src/core/CustomRoutes.tsx @@ -7,7 +7,7 @@ import { ReactNode } from 'react'; * @param props.noLayout A boolean indicating whether to render the routes outside the Layout. Defaults to false. * @returns Nothing. This is a configuration component. */ -export const CustomRoutes = (props: CustomRoutesProps) => { +export const CustomRoutes = (_props: CustomRoutesProps) => { return null; }; diff --git a/packages/ra-core/src/dataProvider/useGetList.spec.tsx b/packages/ra-core/src/dataProvider/useGetList.spec.tsx index 3fb8838873b..7556e6d673a 100644 --- a/packages/ra-core/src/dataProvider/useGetList.spec.tsx +++ b/packages/ra-core/src/dataProvider/useGetList.spec.tsx @@ -15,7 +15,6 @@ const UseGetList = ({ options = {}, meta = undefined, callback = null, - ...rest }) => { const hookValue = useGetList( resource, diff --git a/packages/ra-core/src/dataProvider/useGetMany.spec.tsx b/packages/ra-core/src/dataProvider/useGetMany.spec.tsx index 91c591388d5..56eb7f08acf 100644 --- a/packages/ra-core/src/dataProvider/useGetMany.spec.tsx +++ b/packages/ra-core/src/dataProvider/useGetMany.spec.tsx @@ -13,7 +13,6 @@ const UseGetMany = ({ meta = undefined, options = {}, callback = null, - ...rest }) => { const hookValue = useGetMany(resource, { ids, meta }, options); if (callback) callback(hookValue); @@ -22,13 +21,7 @@ const UseGetMany = ({ let updateState; -const UseCustomGetMany = ({ - resource, - ids, - options = {}, - callback = null, - ...rest -}) => { +const UseCustomGetMany = ({ resource, ids, options = {}, callback = null }) => { const [stateIds, setStateIds] = useState(ids); const hookValue = useGetMany(resource, { ids: stateIds }, options); if (callback) callback(hookValue); diff --git a/packages/ra-core/src/dataProvider/useGetManyAggregate.spec.tsx b/packages/ra-core/src/dataProvider/useGetManyAggregate.spec.tsx index cb613cf0ca3..bee4fbab377 100644 --- a/packages/ra-core/src/dataProvider/useGetManyAggregate.spec.tsx +++ b/packages/ra-core/src/dataProvider/useGetManyAggregate.spec.tsx @@ -11,7 +11,6 @@ const UseGetManyAggregate = ({ ids, options = {}, callback = null, - ...rest }) => { const hookValue = useGetManyAggregate(resource, { ids }, options); if (callback) callback(hookValue); diff --git a/packages/ra-core/src/dataProvider/useGetOne.spec.tsx b/packages/ra-core/src/dataProvider/useGetOne.spec.tsx index b5d2ea77fc7..91e70ad9310 100644 --- a/packages/ra-core/src/dataProvider/useGetOne.spec.tsx +++ b/packages/ra-core/src/dataProvider/useGetOne.spec.tsx @@ -12,7 +12,6 @@ const UseGetOne = ({ meta = undefined, options = {}, callback = null, - ...rest }) => { const hookValue = useGetOne(resource, { id, meta }, options); if (callback) callback(hookValue); diff --git a/packages/ra-core/src/dataProvider/useInfiniteGetList.stories.tsx b/packages/ra-core/src/dataProvider/useInfiniteGetList.stories.tsx index 8c4fb2726ef..934902fa311 100644 --- a/packages/ra-core/src/dataProvider/useInfiniteGetList.stories.tsx +++ b/packages/ra-core/src/dataProvider/useInfiniteGetList.stories.tsx @@ -20,7 +20,7 @@ export const Basic = props => { if (!dataProvider) { dataProvider = { - getList: (resource, params) => { + getList: (_resource, params) => { return new Promise(resolve => { setTimeout( () => @@ -55,7 +55,6 @@ const UseInfiniteComponent = ({ filter = {}, options = {}, meta = undefined, - ...rest }) => { const { data, @@ -109,7 +108,7 @@ export const PageInfo = props => { if (!dataProvider) { dataProvider = { - getList: (resource, params) => { + getList: (_resource, params) => { return new Promise(resolve => { setTimeout( () => diff --git a/packages/ra-core/src/dataProvider/withLifecycleCallbacks.spec.ts b/packages/ra-core/src/dataProvider/withLifecycleCallbacks.spec.ts index 26ab6ebb5ae..4c19f7d0434 100644 --- a/packages/ra-core/src/dataProvider/withLifecycleCallbacks.spec.ts +++ b/packages/ra-core/src/dataProvider/withLifecycleCallbacks.spec.ts @@ -554,7 +554,7 @@ describe('withLifecycleCallbacks', () => { describe('afterUpdateMany', () => { it('should update the updateMany result', async () => { const base = { - updateMany: jest.fn((resource, { ids, data }) => + updateMany: jest.fn((resource, { ids }) => Promise.resolve({ data: ids }) ), }; @@ -716,7 +716,7 @@ describe('withLifecycleCallbacks', () => { data: ids.map(id => ({ id })), }) ), - updateMany: jest.fn((resource, { ids, data }) => + updateMany: jest.fn((resource, { ids }) => Promise.resolve({ data: ids }) ), }; diff --git a/packages/ra-core/src/form/getFormInitialValues.spec.ts b/packages/ra-core/src/form/getFormInitialValues.spec.ts index 66148f61e28..23fae2931ef 100644 --- a/packages/ra-core/src/form/getFormInitialValues.spec.ts +++ b/packages/ra-core/src/form/getFormInitialValues.spec.ts @@ -24,7 +24,7 @@ describe('getFormInitialValues', () => { jest.spyOn(console, 'warn').mockImplementationOnce(() => {}); expect( getFormInitialValues( - record => ({ + () => ({ value1: 'value1', value2: 'value2', }), diff --git a/packages/ra-core/src/form/useAugmentedForm.ts b/packages/ra-core/src/form/useAugmentedForm.ts index 8b6a2b79bd8..19218f0f20c 100644 --- a/packages/ra-core/src/form/useAugmentedForm.ts +++ b/packages/ra-core/src/form/useAugmentedForm.ts @@ -1,10 +1,4 @@ -import { - BaseSyntheticEvent, - useCallback, - useMemo, - useEffect, - useRef, -} from 'react'; +import { BaseSyntheticEvent, useCallback, useMemo, useRef } from 'react'; import { FieldValues, SubmitHandler, diff --git a/packages/ra-no-code/src/ui/NewResourceMenuItem.tsx b/packages/ra-no-code/src/ui/NewResourceMenuItem.tsx index 6ed2344fc29..31856e76715 100644 --- a/packages/ra-no-code/src/ui/NewResourceMenuItem.tsx +++ b/packages/ra-no-code/src/ui/NewResourceMenuItem.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { styled } from '@mui/material/styles'; -import { MouseEvent, ReactElement, useState } from 'react'; +import { ReactElement, useState } from 'react'; import AddIcon from '@mui/icons-material/Add'; import { ImportResourceDialog } from './ImportResourceDialog'; import { @@ -39,9 +39,7 @@ export const NewResourceMenuItem = ( false ); - const handleClick = ( - event: MouseEvent & MouseEvent - ) => { + const handleClick = () => { setShowImportResourceDialog(true); }; diff --git a/packages/ra-no-code/src/ui/ResourceMenuItem.tsx b/packages/ra-no-code/src/ui/ResourceMenuItem.tsx index e2a1be326af..dfba4861e39 100644 --- a/packages/ra-no-code/src/ui/ResourceMenuItem.tsx +++ b/packages/ra-no-code/src/ui/ResourceMenuItem.tsx @@ -15,7 +15,7 @@ const classes = { settings: `${PREFIX}-settings`, }; -const Root = styled('div')(({ theme }) => ({ +const Root = styled('div')({ [`&.${classes.root}`]: { display: 'flex', }, @@ -27,7 +27,7 @@ const Root = styled('div')(({ theme }) => ({ [`& .${classes.settings}`]: { marginLeft: 'auto', }, -})); +}); export const ResourceMenuItem = ( props: Omit & { diff --git a/packages/ra-no-code/src/ui/useImportResourceFromCsv.tsx b/packages/ra-no-code/src/ui/useImportResourceFromCsv.tsx index aa9fec61c4f..76899159d4d 100644 --- a/packages/ra-no-code/src/ui/useImportResourceFromCsv.tsx +++ b/packages/ra-no-code/src/ui/useImportResourceFromCsv.tsx @@ -33,7 +33,7 @@ export const useImportResourceFromCsv = (): [boolean, ImportResource] => { .create(resource, { data: record, }) - .catch(error => { + .catch(() => { // Ignore errors while adding a single record console.error( `Error while importing record ${JSON.stringify( diff --git a/packages/ra-ui-materialui/src/Labeled.tsx b/packages/ra-ui-materialui/src/Labeled.tsx index 0dae95c0e1d..544c9585b18 100644 --- a/packages/ra-ui-materialui/src/Labeled.tsx +++ b/packages/ra-ui-materialui/src/Labeled.tsx @@ -89,7 +89,7 @@ export const LabeledClasses = { const Root = styled(Stack, { name: PREFIX, overridesResolver: (props, styles) => styles.root, -})(({ theme }) => ({ +})({ display: 'inline-flex', marginBottom: '0.2em', @@ -101,4 +101,4 @@ const Root = styled(Stack, { fontSize: '0.75em', marginBottom: '0.2em', }, -})); +}); diff --git a/packages/ra-ui-materialui/src/Link.tsx b/packages/ra-ui-materialui/src/Link.tsx index a161a80cb89..03a6c403bbc 100644 --- a/packages/ra-ui-materialui/src/Link.tsx +++ b/packages/ra-ui-materialui/src/Link.tsx @@ -29,11 +29,11 @@ export const LinkClasses = { link: `${PREFIX}-link`, }; -const StyledMuiLink = styled(MuiLink)(({ theme }) => ({ +const StyledMuiLink = styled(MuiLink)({ [`&.${LinkClasses.link}`]: { textDecoration: 'none', }, -})) as typeof MuiLink; // @see https://mui.com/material-ui/guides/typescript/#complications-with-the-component-prop +}) as typeof MuiLink; // @see https://mui.com/material-ui/guides/typescript/#complications-with-the-component-prop // @see https://mui.com/material-ui/guides/composition/#with-typescript export interface LinkProps diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx index 0654d5e450f..db34c98486a 100644 --- a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx +++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx @@ -285,7 +285,7 @@ If you provided a React element for the optionText prop, you must also provide t throw new Error(` If you provided a React element for the optionText prop, you must also provide the matchSuggestion prop (used to match the user input with a choice)`); } - }, [optionText, inputText, matchSuggestion, emptyText]); + }, [optionText, inputText, matchSuggestion, emptyText, isFromReference]); useEffect(() => { warning(