import type { Meta, StoryObj } from "@storybook/react"; import { ChipField, FunctionField, ReferenceField } from "react-admin"; import React from "react"; import { ResourceContextHelper } from "../../../../utils"; import { attributeName, resourceName } from "../../../../ideExtension"; import { listDecorator, adminContextDecorator, shadowArgsDecorator, } from "../fieldDecorators"; const resourceContextHeleprDecorator = (Story: () => React.JSX.Element) => { return ( <>{Story()} ); }; const meta = { title: "Fields/ReferenceField", component: ReferenceField as any, parameters: { layout: "centered", controls: { exclude: [ "source", "reference", "filter", "link", "queryOptions", "sortBy", "label", "emptyText" ], }, }, decorators: [ listDecorator, resourceContextHeleprDecorator, adminContextDecorator, shadowArgsDecorator, ], args: { source: "department_id", }, argTypes: { source: { control: "text", }, reference: { control: "text", }, emptyText: { control: "text", }, label: { control: "text", }, link: { control: "text", }, queryOptions: { control: "text", }, sortBy: { control: "text", }, }, } satisfies Meta; export default meta; type Story = StoryObj; export const DisplayByRecordRepresentation: Story = { render: ({ ...props }) => { return ( ); }, }; export const DisplayWithCustomField: Story = { render: ({ ...props }) => { return ( `${record.name}`.toUpperCase()} /> ); }, }; export const ChipReference: Story = { render: ({ ...props }) => { return ( ); }, };