Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

312 rader
14 KiB

  1. // material-ui
  2. import {
  3. FormControl,
  4. Grid,
  5. Typography,
  6. FormLabel,
  7. OutlinedInput,
  8. Button,
  9. // TextField,
  10. // Autocomplete,
  11. } from '@mui/material';
  12. // import { useFormik } from 'formik';
  13. import * as React from "react";
  14. import Loadable from 'components/Loadable';
  15. const MainCard = Loadable(React.lazy(() => import('components/MainCard')));
  16. import { useForm } from 'react-hook-form';
  17. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  18. const ApplicationDetailCard = ({
  19. formData,
  20. _onSubmit,
  21. handleDelete
  22. }) => {
  23. // const [data, setData] = React.useState({});
  24. // React.useEffect(() => {
  25. // if (formData) {
  26. // setData(formData);
  27. // }
  28. // }, [formData]);
  29. // const formik = useFormik({
  30. // enableReinitialize: true,
  31. // initialValues: data,
  32. // });
  33. const DisplayField = ({ name, width, value, rows = 1, disabled = false }) => {
  34. return <OutlinedInput
  35. fullWidth
  36. multiline
  37. disabled={disabled}
  38. size="small"
  39. // onChange={formik.handleChange}
  40. {...register(name,
  41. {
  42. value: value,
  43. })}
  44. id={name}
  45. name={name}
  46. variant="outlined"
  47. maxRows={6}
  48. rows={rows}
  49. sx={
  50. {
  51. "& .Mui-disabled": {
  52. WebkitTextFillColor: "#000000",
  53. background: "#f8f8f8",
  54. },
  55. // "& .MuiInputBase-input.Mui-disabled": {
  56. // WebkitTextFillColor: "#000000",
  57. // background: "#f8f8f8",
  58. // },
  59. width: width ? width : '100%'
  60. }
  61. }
  62. />;
  63. }
  64. const { register, handleSubmit } = useForm()
  65. // const DisplaySelection = ({ name = "test", value = "", onChange }) => {
  66. // return <Autocomplete
  67. // {...register(name)}
  68. // disablePortal
  69. // id={name}
  70. // options={formData}
  71. // vale={value}
  72. // onChange={onChange}
  73. // renderInput={(params) => (
  74. // <TextField {...params}
  75. // InputLabelProps={{
  76. // shrink: true
  77. // }}
  78. // />
  79. // )}
  80. // />
  81. // }
  82. return (
  83. <MainCard
  84. id={"emailTemplateMainCard"}
  85. border={false}
  86. content={false}
  87. >
  88. <Typography variant="h4" sx={{ textAlign: "left", mb: 2, borderBottom: "1px solid black" }}>
  89. Maintain Email Template
  90. </Typography>
  91. <form onSubmit={handleSubmit(_onSubmit)}>
  92. <Grid container direction="column">
  93. <Grid item xs={12} md={12} lg={12}>
  94. <Grid container direction="row" justifyContent="space-between"
  95. alignItems="center">
  96. {/* <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  97. <Grid container alignItems={"center"}>
  98. <Grid item xs={12} md={3} lg={3}
  99. sx={{ display: 'flex', alignItems: 'center' }}>
  100. <FormLabel>Email Key:</FormLabel>
  101. </Grid>
  102. <Grid item xs={12} md={9} lg={9}>
  103. <DisplaySelection
  104. />
  105. </Grid>
  106. </Grid>
  107. </Grid> */}
  108. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  109. <Grid container alignItems={"center"}>
  110. <Grid item xs={12} md={3} lg={3}
  111. sx={{ display: 'flex', alignItems: 'center' }}>
  112. <FormLabel required>Key:</FormLabel>
  113. </Grid>
  114. <Grid item xs={12} md={9} lg={9}>
  115. <DisplayField
  116. name={"tempKey"}
  117. value={formData?.tempKey}
  118. />
  119. </Grid>
  120. </Grid>
  121. </Grid>
  122. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1 }}>
  123. <Grid container alignItems={"center"}>
  124. <Grid item xs={12} md={3} lg={3}
  125. sx={{ display: 'flex', alignItems: 'center' }}>
  126. <FormLabel>Description:</FormLabel>
  127. </Grid>
  128. <Grid item xs={12} md={9} lg={9}>
  129. <FormControl variant="outlined" fullWidth disabled >
  130. <DisplayField
  131. name="description"
  132. value={formData?.description}
  133. />
  134. </FormControl>
  135. </Grid>
  136. </Grid>
  137. </Grid>
  138. </Grid>
  139. <Grid container direction="row" justifyContent="space-between"
  140. alignItems="center">
  141. <Grid item xs={12} md={12} lg={12} sx={{ mb: 1 }}>
  142. <Grid container alignItems={"center"}>
  143. <Grid item xs={12} md={1.5} lg={1.5}
  144. sx={{ display: 'flex', alignItems: 'center' }}>
  145. <FormLabel>Params:</FormLabel>
  146. </Grid>
  147. <Grid item xs={12} md={10.5} lg={10.5}>
  148. <DisplayField
  149. name="params"
  150. value={formData?.params}
  151. />
  152. </Grid>
  153. </Grid>
  154. </Grid>
  155. </Grid>
  156. <Grid container direction="row" justifyContent="space-between"
  157. alignItems="center">
  158. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  159. <Grid container alignItems={"center"}>
  160. <Grid item xs={12} md={3} lg={3}
  161. sx={{ display: 'flex', alignItems: 'center' }}>
  162. <FormLabel>Subject (Cht):</FormLabel>
  163. </Grid>
  164. <Grid item xs={12} md={9} lg={9}>
  165. <DisplayField
  166. name="subjectCht"
  167. value={formData?.subjectCht}
  168. rows={2}
  169. />
  170. </Grid>
  171. </Grid>
  172. </Grid>
  173. </Grid>
  174. <Grid container direction="row" justifyContent="space-between"
  175. alignItems="center" sx={{ mb: 1 }}>
  176. <Grid item xs={12} md={1.5} lg={1.5}
  177. sx={{ display: 'flex', alignItems: 'center' }}>
  178. <FormLabel>Content (Cht):</FormLabel>
  179. </Grid>
  180. <Grid item xs={12} md={10.5} lg={10.5}>
  181. <DisplayField
  182. name="contentCht"
  183. value={formData?.contentCht}
  184. rows={4}
  185. />
  186. </Grid>
  187. </Grid>
  188. <Grid container direction="row" justifyContent="space-between"
  189. alignItems="center">
  190. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  191. <Grid container alignItems={"center"}>
  192. <Grid item xs={12} md={3} lg={3}
  193. sx={{ display: 'flex', alignItems: 'center' }}>
  194. <FormLabel>Subject (Chs):</FormLabel>
  195. </Grid>
  196. <Grid item xs={12} md={9} lg={9}>
  197. <DisplayField
  198. name="subjectChs"
  199. value={formData?.subjectChs}
  200. rows={2}
  201. />
  202. </Grid>
  203. </Grid>
  204. </Grid>
  205. </Grid>
  206. <Grid container direction="row" justifyContent="space-between"
  207. alignItems="center" sx={{ mb: 1 }}>
  208. <Grid item xs={12} md={1.5} lg={1.5}
  209. sx={{ display: 'flex', alignItems: 'center' }}>
  210. <FormLabel>Content (Chs):</FormLabel>
  211. </Grid>
  212. <Grid item xs={12} md={10.5} lg={10.5}>
  213. <DisplayField
  214. name="contentChs"
  215. value={formData?.contentChs}
  216. rows={4}
  217. />
  218. </Grid>
  219. </Grid>
  220. <Grid container direction="row" justifyContent="space-between"
  221. alignItems="center">
  222. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  223. <Grid container alignItems={"center"}>
  224. <Grid item xs={12} md={3} lg={3}
  225. sx={{ display: 'flex', alignItems: 'center' }}>
  226. <FormLabel>Subject (Eng):</FormLabel>
  227. </Grid>
  228. <Grid item xs={12} md={9} lg={9}>
  229. <DisplayField
  230. name="subjectEng"
  231. value={formData?.subjectEng}
  232. rows={2}
  233. />
  234. </Grid>
  235. </Grid>
  236. </Grid>
  237. </Grid>
  238. <Grid container direction="row" justifyContent="space-between"
  239. alignItems="center" sx={{ mb: 1 }}>
  240. <Grid item xs={12} md={1.5} lg={1.5}
  241. sx={{ display: 'flex', alignItems: 'center' }}>
  242. <FormLabel>Content (Eng):</FormLabel>
  243. </Grid>
  244. <Grid item xs={12} md={10.5} lg={10.5}>
  245. <DisplayField
  246. name="contentEng"
  247. value={formData?.contentEng}
  248. rows={4}
  249. />
  250. </Grid>
  251. </Grid>
  252. </Grid>
  253. {/*bottom button*/}
  254. <Grid item s={12} md={12} lg={12} sx={{ mb: 3 }} alignItems={"end"} justifyContent="center">
  255. <Grid container maxWidth justifyContent="flex-end">
  256. <Grid item sx={{ ml: 3, mr: 3 }}>
  257. <Button
  258. size="large"
  259. color="error"
  260. variant="contained"
  261. onClick={handleDelete}
  262. sx={{
  263. textTransform: 'capitalize',
  264. alignItems: 'end'
  265. }}
  266. >
  267. <Typography variant="h5">Delete</Typography>
  268. </Button>
  269. </Grid>
  270. <Grid item sx={{ ml: 3, mr: 3 }}>
  271. <Button
  272. size="large"
  273. variant="contained"
  274. type="submit"
  275. sx={{
  276. textTransform: 'capitalize',
  277. alignItems: 'end'
  278. }}
  279. >
  280. <Typography variant="h5">Save</Typography>
  281. </Button>
  282. </Grid>
  283. </Grid>
  284. </Grid>
  285. </Grid>
  286. </form>
  287. </MainCard>
  288. );
  289. };
  290. export default ApplicationDetailCard;