import type { Meta, StoryObj } from "@storybook/react"; import { AdminContext, CreateButton, Datagrid, defaultI18nProvider, Labeled, List, RecordContextProvider, ResourceContextProvider, Show, SimpleShowLayout, TextField, useRecordContext, } from "react-admin"; import { dataProvider, departments } from "../../dataProvider"; import React from "react"; import { GenerationInstructions, topLevel, } from "@amplicode/storybook-extensions"; import { attributeName, resourceName } from "../../ideExtension"; import { AnyPropsComponent } from "../../utils"; import { Typography } from "@mui/material"; const meta = { title: "Relations/SubTable", component: AnyPropsComponent, decorators: [(Story) => defaultDecorator(Story)], // excludeStories: /.*/, } satisfies Meta; export default meta; type Story = StoryObj; export const Default: Story = { render: ({ subresourceName, subresourceBackReference, ...props }) => { const SubTable = topLevel(() => { const record = useRecordContext(); if (!record) { return <>; } return ( } title={} > Department users {/* use 'field' completion to generate other fields */} ); }); return ( Department ); }, args: { subresourceName: resourceName("users", { title: "Child Resource", resourceId: "subresource", allowContext: false, }), subresourceBackReference: attributeName("department_id", { resourceId: "subresource", attributeSelectTitle: "Reference Attribute from Child Resource to Main Resource", }), }, }; const defaultDecorator = (Story: () => React.JSX.Element) => ( );