Skip to content

Commit 5bcfbf8

Browse files
committed
use TextArrayField in ListGuesser
1 parent 1970995 commit 5bcfbf8

File tree

5 files changed

+29
-3
lines changed

5 files changed

+29
-3
lines changed

packages/ra-ui-materialui/src/field/TextArrayField.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,5 @@ export const Direction = () => (
4646
);
4747

4848
export const Gap = () => (
49-
<TextArrayField record={book} source="genres" gap={2} />
49+
<TextArrayField record={book} source="genres" sx={{ gap: 2 }} />
5050
);

packages/ra-ui-materialui/src/field/TextArrayField.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ export const TextArrayField = <
4343
} = props;
4444
const data = useFieldValue(props) || emptyArray;
4545
return (
46-
<Stack direction="row" gap={1} {...rest}>
46+
<Stack
47+
direction="row"
48+
{...rest}
49+
sx={{ gap: 1, flexWrap: 'wrap', ...rest.sx }}
50+
>
4751
{data.length === 0
4852
? emptyText
4953
: data.map((item: ReactNode, index: number) => (

packages/ra-ui-materialui/src/list/ListGuesser.spec.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ describe('<ListGuesser />', () => {
1010
await screen.findAllByText('top seller', undefined, { timeout: 2000 });
1111
expect(logSpy).toHaveBeenCalledWith(`Guessed List:
1212
13-
import { DataTable, DateField, EmailField, List, ReferenceArrayField, ReferenceField } from 'react-admin';
13+
import { DataTable, DateField, EmailField, List, ReferenceArrayField, ReferenceField, TextArrayField } from 'react-admin';
1414
1515
export const ProductList = () => (
1616
<List>
@@ -30,6 +30,9 @@ export const ProductList = () => (
3030
<DataTable.Col source="email">
3131
<EmailField source="email" />
3232
</DataTable.Col>
33+
<DataTable.Col source="sizes">
34+
<TextArrayField source="sizes" />
35+
</DataTable.Col>
3336
</DataTable>
3437
</List>
3538
);`);

packages/ra-ui-materialui/src/list/ListGuesser.stories.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const data = {
2323
tags_ids: [1],
2424
last_update: new Date('2023-10-01').toISOString(),
2525
26+
sizes: ['S', 'M', 'L', 'XL'],
2627
},
2728
{
2829
id: 2,
@@ -32,6 +33,7 @@ const data = {
3233
tags_ids: [2, 3],
3334
last_update: new Date('2023-11-01').toISOString(),
3435
36+
sizes: ['S', 'M', 'L'],
3537
},
3638
{
3739
id: 3,
@@ -41,6 +43,7 @@ const data = {
4143
tags_ids: [2, 4],
4244
last_update: new Date('2023-12-01').toISOString(),
4345
46+
sizes: ['XS', 'S', 'M'],
4447
},
4548
{
4649
id: 4,
@@ -50,6 +53,7 @@ const data = {
5053
tags_ids: [1, 4, 3],
5154
last_update: new Date('2023-10-15').toISOString(),
5255
56+
sizes: ['M', 'L', 'XL', 'XXL'],
5357
},
5458
{
5559
id: 5,
@@ -59,6 +63,7 @@ const data = {
5963
tags_ids: [1, 4, 3],
6064
last_update: new Date('2023-10-15').toISOString(),
6165
66+
sizes: ['One Size'],
6267
},
6368
],
6469
categories: [

packages/ra-ui-materialui/src/list/listFieldTypes.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
UrlField,
1313
ArrayFieldProps,
1414
TextField,
15+
TextArrayField,
1516
} from '../field';
1617

1718
export const listFieldTypes = {
@@ -51,6 +52,19 @@ ${children.map(child => ` ${child.getRepresentation()}`).join('\n')}
5152
</ArrayField>
5253
</DataTable.Col>`,
5354
},
55+
scalar_array: {
56+
component: (props: ArrayFieldProps) => {
57+
return (
58+
<DataTable.Col {...props}>
59+
<TextArrayField {...props} />
60+
</DataTable.Col>
61+
);
62+
},
63+
representation: props =>
64+
`<DataTable.Col source="${props.source}">
65+
<TextArrayField source="${props.source}" />
66+
</DataTable.Col>`,
67+
},
5468
boolean: {
5569
component: props => (
5670
<DataTable.Col {...props}>

0 commit comments

Comments
 (0)