Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

126 рядки
5.4 KiB

  1. // material-ui
  2. import {
  3. FormControl,
  4. Button,
  5. Grid,
  6. // InputAdornment,
  7. Typography, FormLabel,
  8. OutlinedInput,
  9. } from '@mui/material';
  10. import MainCard from "components/MainCard";
  11. import * as React from "react";
  12. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  13. const Form = ({ selectedItem, onSave }) => {
  14. const [data, setData] = React.useState({});
  15. const [value, setValue] = React.useState("");
  16. React.useEffect(() => {
  17. //if user data from parent are not null
  18. if (selectedItem !== undefined && Object.keys(selectedItem).length > 0) {
  19. setData(selectedItem);
  20. setValue(selectedItem.value)
  21. }
  22. }, [selectedItem]);
  23. return (
  24. <MainCard elevation={0}
  25. border={false}
  26. content={false}
  27. >
  28. {
  29. data?.name ?
  30. <>
  31. <Typography variant="h5" sx={{ mt: 3, ml: 3, mr: 3, borderBottom: "1px solid black" }}>
  32. Update
  33. </Typography>
  34. <form>
  35. <Grid container>
  36. <Grid item xs={12} s={12} md={12} lg={12} sx={{ ml: 3, mr: 3, mb: 3, mt: 3 }}>
  37. <Grid container alignItems={"center"}>
  38. <Grid item xs={2}
  39. sx={{ ml: 3, mr: 3, display: 'flex', alignItems: 'center' }}>
  40. <FormLabel>Name:</FormLabel>
  41. </Grid>
  42. <Grid item xs={8} >
  43. <Typography>
  44. {data?.name}
  45. </Typography>
  46. </Grid>
  47. </Grid>
  48. </Grid>
  49. <Grid item xs={12} s={12} md={12} lg={12} sx={{ ml: 3, mr: 3, mb: 3 }}>
  50. <Grid container alignItems={"center"}>
  51. <Grid item xs={2}
  52. sx={{ ml: 3, mr: 3, display: 'flex', alignItems: 'center' }}>
  53. <FormLabel >Type:</FormLabel>
  54. </Grid>
  55. <Grid item xs={8}>
  56. <Typography>
  57. {data?.type}
  58. </Typography>
  59. </Grid>
  60. </Grid>
  61. </Grid>
  62. <Grid item xs={12} s={12} md={12} lg={12} sx={{ ml: 3, mr: 3, mb: 3 }}>
  63. <Grid container alignItems={"center"}>
  64. <Grid item xs={2}
  65. sx={{ ml: 3, mr: 3, display: 'flex', alignItems: 'center' }}>
  66. <FormLabel>Category:</FormLabel>
  67. </Grid>
  68. <Grid item xs={8}>
  69. <Typography>
  70. {data?.category}
  71. </Typography>
  72. </Grid>
  73. </Grid>
  74. </Grid>
  75. <Grid item xs={12} s={12} md={12} lg={12} sx={{ ml: 3, mr: 3, mb: 3 }}>
  76. <Grid container alignItems={"center"}>
  77. <Grid item xs={2}
  78. sx={{ ml: 3, mr: 3, display: 'flex', alignItems: 'center' }}>
  79. <FormLabel>Value:</FormLabel>
  80. </Grid>
  81. <Grid item xs={8}>
  82. <FormControl variant="outlined" fullWidth required>
  83. <OutlinedInput
  84. fullWidth
  85. size="small"
  86. value={value}
  87. onChange={(event)=>{
  88. setValue(event.target.value);
  89. }}
  90. />
  91. </FormControl>
  92. </Grid>
  93. </Grid>
  94. </Grid>
  95. </Grid>
  96. <Button onClick={()=>{onSave({ name: data.name, value:value})}}>Save</Button>
  97. </form>
  98. </>
  99. :
  100. <Typography variant="h5" sx={{ mt: 3, ml: 3, mr: 3, borderBottom: "1px solid black" }}>
  101. Please select system params.
  102. </Typography>
  103. }
  104. </MainCard>
  105. );
  106. };
  107. export default Form;