common fields
This commit is contained in:
@@ -4,7 +4,10 @@ import { ResourceConfig } from "../types/config";
|
||||
import { ConfigContext } from "../providers/ConfigContext";
|
||||
import * as React from "react";
|
||||
|
||||
export function useResource<T = any>(config: ResourceConfig | undefined) {
|
||||
import { FieldComponents } from "../types/overrides";
|
||||
import { defaultFieldComponents } from "../components/fields/DefaultFieldComponents";
|
||||
|
||||
export function useResource<T = any>(config: ResourceConfig | undefined, options?: { fieldComponents?: FieldComponents }) {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
// Return empty/disabled hooks if config is missing
|
||||
@@ -147,6 +150,11 @@ export function useResource<T = any>(config: ResourceConfig | undefined) {
|
||||
},
|
||||
});
|
||||
|
||||
const components = {
|
||||
...defaultFieldComponents,
|
||||
...options?.fieldComponents,
|
||||
};
|
||||
|
||||
return {
|
||||
useList,
|
||||
useRead,
|
||||
@@ -157,12 +165,13 @@ export function useResource<T = any>(config: ResourceConfig | undefined) {
|
||||
useUpdateMe,
|
||||
useDelete,
|
||||
getListQueryOptions,
|
||||
components,
|
||||
};
|
||||
}
|
||||
|
||||
export function useResourceByName<T = any>(name: string) {
|
||||
export function useResourceByName<T = any>(name: string, options?: { fieldComponents?: FieldComponents }) {
|
||||
const config = React.useContext(ConfigContext);
|
||||
const resourceConfig = config?.resources.find((r) => r.name === name);
|
||||
return useResource<T>(resourceConfig);
|
||||
return useResource<T>(resourceConfig, options);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user