Skip to content

Commit f525eaa

Browse files
docs: add empty with translate story component
1 parent 736b9ab commit f525eaa

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

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

+36
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import {
77
ResourceDefinitionContextProvider,
88
ListContextProvider,
99
useRecordContext,
10+
I18nContextProvider,
1011
} from 'ra-core';
1112
import { createMemoryHistory } from 'history';
1213
import { ThemeProvider, Stack } from '@mui/material';
1314
import { createTheme } from '@mui/material/styles';
15+
import polyglotI18nProvider from 'ra-i18n-polyglot';
16+
import englishMessages from 'ra-language-english';
1417

1518
import { TextField } from '../field';
1619
import { ReferenceField } from './ReferenceField';
@@ -19,6 +22,25 @@ import { Datagrid } from '../list/datagrid/Datagrid';
1922

2023
export default { title: 'ra-ui-materialui/fields/ReferenceField' };
2124

25+
const i18nProvider = polyglotI18nProvider(
26+
_locale => ({
27+
...englishMessages,
28+
resources: {
29+
books: {
30+
name: 'Books',
31+
fields: {
32+
id: 'Id',
33+
title: 'Title',
34+
author: 'Author',
35+
year: 'Year',
36+
},
37+
not_found: 'Not found',
38+
},
39+
},
40+
}),
41+
'en'
42+
);
43+
2244
const history = createMemoryHistory({ initialEntries: ['/books/1/show'] });
2345

2446
const defaultDataProvider = {
@@ -81,6 +103,20 @@ export const Empty = () => (
81103
</Wrapper>
82104
);
83105

106+
export const EmptyWithTranslate = () => (
107+
<Wrapper record={{ id: 1, title: 'War and Peace' }}>
108+
<I18nContextProvider value={i18nProvider}>
109+
<ReferenceField
110+
source="detail_id"
111+
reference="book_details"
112+
emptyText="resources.books.not_found"
113+
>
114+
<TextField source="ISBN" />
115+
</ReferenceField>
116+
</I18nContextProvider>
117+
</Wrapper>
118+
);
119+
84120
const missingReferenceDataProvider = {
85121
getMany: () =>
86122
Promise.resolve({

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

+36
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import {
77
ResourceDefinitionContextProvider,
88
ListContextProvider,
99
useRecordContext,
10+
I18nContextProvider,
1011
} from 'ra-core';
1112
import { createMemoryHistory } from 'history';
1213
import { ThemeProvider, Stack } from '@mui/material';
1314
import { createTheme } from '@mui/material/styles';
15+
import polyglotI18nProvider from 'ra-i18n-polyglot';
16+
import englishMessages from 'ra-language-english';
1417

1518
import { TextField } from '../field';
1619
import { ReferenceOneField } from './ReferenceOneField';
@@ -19,6 +22,25 @@ import { Datagrid } from '../list/datagrid/Datagrid';
1922

2023
export default { title: 'ra-ui-materialui/fields/ReferenceOneField' };
2124

25+
const i18nProvider = polyglotI18nProvider(
26+
_locale => ({
27+
...englishMessages,
28+
resources: {
29+
books: {
30+
name: 'Books',
31+
fields: {
32+
id: 'Id',
33+
title: 'Title',
34+
author: 'Author',
35+
year: 'Year',
36+
},
37+
not_found: 'Not found',
38+
},
39+
},
40+
}),
41+
'en'
42+
);
43+
2244
const defaultDataProvider = {
2345
getManyReference: () =>
2446
Promise.resolve({
@@ -89,6 +111,20 @@ export const Empty = () => (
89111
</Wrapper>
90112
);
91113

114+
export const EmptyWithTranslate = () => (
115+
<Wrapper dataProvider={emptyDataProvider}>
116+
<I18nContextProvider value={i18nProvider}>
117+
<ReferenceOneField
118+
reference="book_details"
119+
target="book_id"
120+
emptyText="resources.books.not_found"
121+
>
122+
<TextField source="ISBN" />
123+
</ReferenceOneField>
124+
</I18nContextProvider>
125+
</Wrapper>
126+
);
127+
92128
export const Link = () => (
93129
<Wrapper>
94130
<ReferenceOneField

0 commit comments

Comments
 (0)