From 66d2b91dfdcfb4b5c5fe90ddb7a3e3e66e01e502 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 30 Sep 2020 22:43:57 -0700 Subject: Migrate Select to SelectField --- modern/src/form/SelectField.js | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'modern/src/form/SelectField.js') diff --git a/modern/src/form/SelectField.js b/modern/src/form/SelectField.js index 78a1688..fa51a36 100644 --- a/modern/src/form/SelectField.js +++ b/modern/src/form/SelectField.js @@ -1,14 +1,27 @@ -import { FormControl, InputLabel, Select } from '@material-ui/core'; +import { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core'; import React, { useState } from 'react'; import { useEffectAsync } from '../reactHelper'; -const SelectField = ({ margin, variant, label, defaultValue, onChange, endpoint }) => { - const [items, setItems] = useState(); +const SelectField = ({ + margin, + variant, + label, + multiple, + defaultValue, + onChange, + endpoint, + data, + keyGetter = item => item.id, + titleGetter = item => item.name, +}) => { + const [items, setItems] = useState(data); useEffectAsync(async () => { - const response = await fetch(endpoint); - if (response.ok) { - setItems(await response.json()); + if (endpoint) { + const response = await fetch(endpoint); + if (response.ok) { + setItems(await response.json()); + } } }, []); @@ -17,12 +30,14 @@ const SelectField = ({ margin, variant, label, defaultValue, onChange, endpoint {label} -- cgit v1.2.3