@@ -35,70 +35,77 @@ const genderChoices = [
3535] ;
3636
3737export const Basic = ( ) => (
38- < RecordContextProvider value = { record } >
38+ < Wrapper record = { record } >
3939 < SelectField source = "gender" choices = { genderChoices } />
40- </ RecordContextProvider >
40+ </ Wrapper >
4141) ;
4242
4343const languages = [
4444 { id : 'am' , name : 'Amharic' , nativeName : 'አማርኛ' } ,
4545 { id : 'ar' , name : 'Arabic' , nativeName : 'العربية' } ,
4646] ;
4747export const OptionText = ( ) => (
48- < RecordContextProvider value = { record } >
48+ < Wrapper record = { record } >
4949 < SelectField
5050 source = "language"
5151 choices = { languages }
5252 optionText = "nativeName"
5353 />
54- </ RecordContextProvider >
54+ </ Wrapper >
5555) ;
5656
5757const countries = [ { name : 'Arabic' , code : 'ar' } ] ;
5858export const OptionValue = ( ) => (
59- < RecordContextProvider value = { record } >
59+ < Wrapper record = { record } >
6060 < SelectField source = "language" choices = { countries } optionValue = "code" />
61- </ RecordContextProvider >
61+ </ Wrapper >
6262) ;
6363
6464const optionRenderer = choice => `${ choice . first_name } ${ choice . last_name } ` ;
6565const authors = [ { id : 1 , first_name : 'John' , last_name : 'Doe' } ] ;
6666export const OptionTextFunction = ( ) => (
67- < RecordContextProvider value = { { id : 1 } } >
67+ < Wrapper record = { { id : 1 } } >
6868 < SelectField
6969 source = "id"
7070 choices = { authors }
7171 optionText = { optionRenderer }
7272 />
73- </ RecordContextProvider >
73+ </ Wrapper >
7474) ;
7575
7676const translateChoice = [
7777 { id : 'no results' , name : 'ra.navigation.no_results' } ,
7878] ;
7979export const TranslateChoice = ( ) => (
80- < AdminContext i18nProvider = { i18nProvider } >
81- < RecordContextProvider value = { record } >
82- < Labeled
83- label = "translateChoice={true}"
84- sx = { { border : '1px solid' , margin : '1rem' , padding : '1rem' } }
85- >
86- < SelectField
87- source = "data"
88- choices = { translateChoice }
89- // translateChoice={true} is set by default
90- />
91- </ Labeled >
92- < Labeled
93- label = "translateChoice={false}"
94- sx = { { border : '1px solid' , margin : '1rem' , padding : '1rem' } }
95- >
96- < SelectField
97- source = "data"
98- choices = { translateChoice }
99- translateChoice = { false }
100- />
101- </ Labeled >
102- </ RecordContextProvider >
80+ < Wrapper record = { record } >
81+ < Labeled
82+ label = "translateChoice={true}"
83+ sx = { { border : '1px solid' , margin : '1rem' , padding : '1rem' } }
84+ >
85+ < SelectField
86+ source = "data"
87+ choices = { translateChoice }
88+ // translateChoice={true} is set by default
89+ />
90+ </ Labeled >
91+ < Labeled
92+ label = "translateChoice={false}"
93+ sx = { { border : '1px solid' , margin : '1rem' , padding : '1rem' } }
94+ >
95+ < SelectField
96+ source = "data"
97+ choices = { translateChoice }
98+ translateChoice = { false }
99+ />
100+ </ Labeled >
101+ </ Wrapper >
102+ ) ;
103+
104+ const Wrapper = ( { children, record, defaultTheme = 'light' } ) => (
105+ < AdminContext
106+ i18nProvider = { i18nProvider }
107+ defaultTheme = { defaultTheme as any }
108+ >
109+ < RecordContextProvider value = { record } > { children } </ RecordContextProvider >
103110 </ AdminContext >
104111) ;
0 commit comments