UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

40 lines 2.04 kB
import { UseMutateAsyncFunction, UseMutationOptions } from '@tanstack/react-query'; import { HintedString } from '../types'; /** * A hook that returns a function you can call to determine whether user has access to the given resource * * @example * import { Datagrid, List, TextField, useCanAccessCallback } from 'react-admin'; * * const UserList = () => { * const checkAccess = useCanAccessCallback(); * * const handleRowClick = (id: Identifier, resource: string, record: Record) => { * try { * const canAccess = checkAccess({ resource: 'users', action: 'edit', record }); * return canAccess ? "edit" : "show"; * } catch (error) { * console.error(error); * } * }; * * return ( * <List> * <Datagrid onClick={handleRowClick}> * <TextField source="id" /> * <TextField source="name" /> * <TextField source="email" /> * </Datagrid> * </List> * ); * }; */ export declare const useCanAccessCallback: <RecordType extends Record<string, any> = Record<string, any>, ErrorType = Error>(options?: Omit<UseMutationOptions<boolean, ErrorType, UseCanAccessCallbackOptions<RecordType>, unknown>, "mutationFn">) => UseMutateAsyncFunction<boolean, ErrorType, UseCanAccessCallbackOptions<Record<string, any>>, unknown>; export type UseCanAccessCallback<RecordType extends Record<string, any> = Record<string, any>, ErrorType = Error> = UseMutateAsyncFunction<UseCanAccessCallbackResult, ErrorType, UseCanAccessCallbackOptions<RecordType>, unknown>; export type UseCanAccessCallbackOptions<RecordType extends Record<string, any> = Record<string, any>> = { resource: string; action: HintedString<'list' | 'create' | 'edit' | 'show' | 'delete'>; record?: RecordType; }; export type UseCanAccessCallbackResult = boolean; //# sourceMappingURL=useCanAccessCallback.d.ts.map