import type { Meta, StoryObj } from "@storybook/react"; import { AdminContext, Datagrid, defaultI18nProvider, Labeled, RecordContextProvider, ReferenceArrayField, ResourceContextProvider, Show, SimpleList, SimpleShowLayout, TextField, } from "react-admin"; import { dataProvider, departments } from "../../../dataProvider"; import React from "react"; import { GenerationInstructions } from "@amplicode/storybook-extensions"; import { attributeName, resourceName } from "../../../ideExtension"; import { AnyPropsComponent } from "../../../utils"; import { Typography } from "@mui/material"; const meta = { title: "Relations/Reference/ManyToMany", component: AnyPropsComponent, decorators: [(Story) => defaultDecorator(Story)], // excludeStories: /.*/, } satisfies Meta; export default meta; type Story = StoryObj; export const WithDatagrid: Story = { render: ({ subresourceName, idArrayAttributeName, ...props }) => { return ( <> Department people {/* use 'field' completion to generate other fields */} ); }, args: { subresourceName: resourceName("people", { title: "Child Resource", resourceId: "subresource", allowContext: false, }), idArrayAttributeName: attributeName("department_id", { resourceId: "parentResource", attributeSelectTitle: "Reference Attribute from Parent to Child Resource", }), }, }; export const WithSimpleList: Story = { render: ({ subresourceName, idArrayAttributeName, ...props }) => { return ( <> Department people ( Id: {record.id} )} primaryText={(record) => record.name} /> ); }, args: { subresourceName: resourceName("people", { title: "Child Resource", resourceId: "subresource", allowContext: false, }), idArrayAttributeName: attributeName("department_id", { resourceId: "parentResource", attributeSelectTitle: "Reference Attribute from Parent to Child Resource", }), }, }; const defaultDecorator = (Story: () => React.JSX.Element) => ( Department );