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 (
);
},
};