@@ -20,57 +20,45 @@ object ListGuesser {
20
20
val component : FunctionalComponent [Props ] = FunctionalComponent [Props ] { props =>
21
21
val fields = ResponseGuesser .getTypesFromResponse(props.response)
22
22
23
- def defaultField (reference : String , source : String , children : Seq [ReactElement ]): ReactElement =
24
- ReferenceField (
25
- ReferenceField .Props (
26
- reference = reference,
27
- source = source,
28
- children = children
29
- )
30
- )
23
+ def defaultField (reference : String , source : String )(children : ReactElement * ): ReactElement =
24
+ ReferenceField (reference = reference, source = source)(children)
31
25
32
26
val widgetFields : Seq [ReactElement ] = fields.map { field =>
33
27
if ! field.isVisible then Fragment ()
34
28
else {
35
29
val imageStyles = js.Dynamic .literal(" width" -> " 100px" )
36
30
val styles = js.Dynamic .literal(" & img" -> imageStyles)
37
31
field.`type` match {
38
- case Date => DateField (DateField . Props ( source = field.name, showTime = true ) )
39
- case Text => TextField (TextField . Props ( source = field.name) )
40
- case Email => EmailField (EmailField . Props ( source = field.name) )
41
- case Image => ImageField (ImageField . Props ( source = field.name, sx = styles) )
42
- case Number => NumberField (NumberField . Props ( source = field.name) )
32
+ case Date => DateField (source = field.name, showTime = true )
33
+ case Text => TextField (source = field.name)
34
+ case Email => EmailField (source = field.name)
35
+ case Image => ImageField (source = field.name, sx = styles)
36
+ case Number => NumberField (source = field.name)
43
37
case ColumnType .Reference (reference, source) =>
44
- defaultField(reference, field.name, Seq (TextField (TextField . Props ( source = source)) ))
38
+ defaultField(reference, field.name) (TextField (source = source))
45
39
}
46
40
}
47
41
}
48
42
49
43
val filterList : Seq [ReactElement ] = fields.filter(_.filterable).map { field =>
50
44
field.`type` match {
51
- case ColumnType .Date => DateInput (DateInput . Props ( source = field.name) )
52
- case ColumnType .Text | ColumnType .Email => TextInput (TextInput . Props ( source = field.name) )
45
+ case ColumnType .Date => DateInput (source = field.name)
46
+ case ColumnType .Text | ColumnType .Email => TextInput (source = field.name)
53
47
case ColumnType .Image => Fragment ()
54
- case ColumnType .Number => NumberInput (NumberInput . Props ( source = field.name) )
48
+ case ColumnType .Number => NumberInput (source = field.name)
55
49
case ColumnType .Reference (reference, source) =>
56
- defaultField(reference, field.name, Seq (TextField (TextField . Props ( source = source)) ))
50
+ defaultField(reference, field.name) (TextField (source = source))
57
51
}
58
52
}
59
53
60
54
val listToolbar : ReactElement = TopToolbar (
61
- TopToolbar .Props (
62
- children = Seq (
63
- FilterButton (FilterButton .Props (filters = filterList)),
64
- ExportButton (),
65
- CreateButton ()
66
- )
67
- )
55
+ FilterButton (filters = filterList),
56
+ ExportButton (),
57
+ CreateButton ()
68
58
)
69
59
70
- ComponentList (ComponentList .Props (actions = listToolbar, filters = filterList))(
71
- Datagrid (
72
- Datagrid .Props (rowClick = " edit" , bulkActionButtons = props.response.canBeDeleted, children = widgetFields)
73
- )
60
+ ComponentList (listToolbar)(filterList : _* )(
61
+ Datagrid (rowClick = " edit" , bulkActionButtons = props.response.canBeDeleted)(widgetFields)
74
62
)
75
63
}
76
64
}
0 commit comments