irongit

'made prettier rc to match the code style here'

huncholanehuncholaneauthored
parent 455f345commit b39f7460f9c9f2ac519fcd8afcb4c2b54f4236a5Browse files

2 files changed, +242 -210

+8-0Client/.prettierrc
@@ -0,0 +1,8 @@
1+{
2+ "singleQuote": true,
3+ "trailingComma": "es5",
4+ "semi": true,
5+ "tabWidth": 4,
6+ "printWidth": 9999,
7+ "jsxBracketSameLine": true
8+}
+234-210Client/src/views/admin/task/components/taskView.js
@@ -1,40 +1,40 @@
1-import { Button, Grid, GridItem, Flex, IconButton, Text, Menu, MenuButton, MenuDivider, MenuItem, MenuList, useDisclosure, Box, Heading, Input } from '@chakra-ui/react'
2-import { AddIcon, ChevronDownIcon, DeleteIcon, EditIcon } from "@chakra-ui/icons";
3-import React from 'react'
4-import moment from 'moment'
5-import { Link, useNavigate, useParams } from 'react-router-dom'
6-import { BiLink } from 'react-icons/bi'
7-import { useEffect } from 'react'
8-import { useState } from 'react'
9-import { getApi } from 'services/api'
10-import Card from 'components/card/Card'
11-import { IoIosArrowBack } from "react-icons/io";
1+import { Button, Grid, GridItem, Flex, IconButton, Text, Menu, MenuButton, MenuDivider, MenuItem, MenuList, useDisclosure, Box, Heading, Input } from '@chakra-ui/react';
2+import { AddIcon, ChevronDownIcon, DeleteIcon, EditIcon } from '@chakra-ui/icons';
3+import React from 'react';
4+import moment from 'moment';
5+import { Link, useNavigate, useParams } from 'react-router-dom';
6+import { BiLink } from 'react-icons/bi';
7+import { useEffect } from 'react';
8+import { useState } from 'react';
9+import { getApi } from 'services/api';
10+import Card from 'components/card/Card';
11+import { IoIosArrowBack } from 'react-icons/io';
1212 import { HasAccess } from '../../../../redux/accessUtils';
1313 import { HSeparator } from 'components/separator/Separator';
1414 import AddEdit from './AddEdit';
1515 import CommonDeleteModel from 'components/commonDeleteModel';
1616 import { deleteManyApi } from 'services/api';
17-import { FaFilePdf } from "react-icons/fa";
18-import html2pdf from "html2pdf.js";
17+import { FaFilePdf } from 'react-icons/fa';
18+import html2pdf from 'html2pdf.js';
1919 import { TaskSchema } from 'schema';
2020 import { useFormik } from 'formik';
2121 import { putApi } from 'services/api';
2222 import dayjs from 'dayjs';
2323
2424 const TaskView = (props) => {
25- const params = useParams()
26- const { id } = params
27- const user = JSON.parse(localStorage.getItem("user"))
25+ const params = useParams();
26+ const { id } = params;
27+ const user = JSON.parse(localStorage.getItem('user'));
2828
29- const [permission, contactAccess, leadAccess] = HasAccess(['Tasks', 'Contacts', 'Leads'])
29+ const [permission, contactAccess, leadAccess] = HasAccess(['Tasks', 'Contacts', 'Leads']);
3030
31- const [data, setData] = useState()
32- const { onOpen, onClose } = useDisclosure()
31+ const [data, setData] = useState();
32+ const { onOpen, onClose } = useDisclosure();
3333 const [edit, setEdit] = useState(false);
3434 const [deleteModel, setDelete] = useState(false);
3535 const [deleteManyModel, setDeleteManyModel] = useState(false);
36- const [loading, setLoading] = useState(false)
37- const navigate = useNavigate()
36+ const [loading, setLoading] = useState(false);
37+ const navigate = useNavigate();
3838 const [editableField, setEditableField] = useState(null);
3939 const today = new Date().toISOString().split('T')[0];
4040 const todayTime = new Date().toISOString().split('.')[0];
@@ -43,11 +43,11 @@ const TaskView = (props) => {
4343 let result = await getApi('api/task/view/', id?.event ? id?.event?._def?.extendedProps?._id : id);
4444 setData(result?.data);
4545 }
46- }
46+ };
4747 const generatePDF = () => {
48- setLoading(true)
49- const element = document.getElementById("reports");
50- const hideBtn = document.getElementById("hide-btn");
48+ setLoading(true);
49+ const element = document.getElementById('reports');
50+ const hideBtn = document.getElementById('hide-btn');
5151
5252 if (element) {
5353 hideBtn.style.display = 'none';
@@ -55,33 +55,37 @@ const TaskView = (props) => {
5555 .from(element)
5656 .set({
5757 margin: [0, 0, 0, 0],
58- filename: `Task_Details_${moment().format("DD-MM-YYYY")}.pdf`,
59- image: { type: "jpeg", quality: 0.98 },
58+ filename: `Task_Details_${moment().format('DD-MM-YYYY')}.pdf`,
59+ image: { type: 'jpeg', quality: 0.98 },
6060 html2canvas: { scale: 2, useCORS: true, allowTaint: true },
61- jsPDF: { unit: "in", format: "letter", orientation: "portrait" },
61+ jsPDF: {
62+ unit: 'in',
63+ format: 'letter',
64+ orientation: 'portrait',
65+ },
6266 })
63- .save().then(() => {
64- setLoading(false)
67+ .save()
68+ .then(() => {
69+ setLoading(false);
6570 hideBtn.style.display = '';
66- })
71+ });
6772 // }, 500);
6873 } else {
6974 console.error("Element with ID 'reports' not found.");
70- setLoading(false)
75+ setLoading(false);
7176 }
7277 };
7378 const handleDeleteTask = async (ids) => {
7479 try {
75- let response = await deleteManyApi('api/task/deleteMany', ids)
80+ let response = await deleteManyApi('api/task/deleteMany', ids);
7681 if (response.status === 200) {
77- navigate('/task')
78- setDeleteManyModel(false)
82+ navigate('/task');
83+ setDeleteManyModel(false);
7984 }
8085 } catch (error) {
81- console.log(error)
86+ console.log(error);
8287 }
83-
84- }
88+ };
8589
8690 const initialValues = {
8791 title: data?.title,
@@ -89,70 +93,93 @@ const TaskView = (props) => {
8993 notes: data?.notes,
9094 start: data?.start,
9195 end: data?.end,
92- }
96+ };
9397
9498 const formik = useFormik({
9599 initialValues: initialValues,
96100 validationSchema: TaskSchema,
97101 enableReinitialize: true,
98102 onSubmit: async (values, { resetForm }) => {
99- let response = await putApi(`api/task/edit/${id}`, values)
103+ let response = await putApi(`api/task/edit/${id}`, values);
100104 if (response.status === 200) {
101105 setEditableField(null);
102- fetchViewData()
106+ fetchViewData();
103107 }
104108 },
105109 });
106110 const handleDoubleClick = (fieldName, value) => {
107111 formik.setFieldValue(fieldName, value);
108- setEditableField(fieldName)
112+ setEditableField(fieldName);
109113 };
110114
111115 const handleBlur = (e) => {
112116 formik.handleSubmit();
113117 };
114118 useEffect(() => {
115- fetchViewData()
116- }, [id, edit])
119+ fetchViewData();
120+ }, [id, edit]);
117121
118122 const handleClick = () => {
119- onOpen()
120- }
123+ onOpen();
124+ };
121125 return (
122126 <div>
123127 <Grid templateColumns="repeat(4, 1fr)" gap={3} id="reports">
124128 <GridItem colSpan={{ base: 4 }}>
125129 <Heading size="lg" m={3}>
126- {data?.title || ""}
130+ {data?.title || ''}
127131 </Heading>
128132 </GridItem>
129133 <GridItem colSpan={{ base: 4 }}>
130- <Card >
134+ <Card>
131135 <Grid gap={4}>
132136 <GridItem colSpan={2}>
133137 <Box>
134- <Box display={"flex"} justifyContent={"space-between"} >
138+ <Box display={'flex'} justifyContent={'space-between'}>
135139 <Heading size="md" mb={3}>
136140 Task Details
137141 </Heading>
138- <Flex id="hide-btn" >
142+ <Flex id="hide-btn">
139143 <Menu>
140- {(user.role === 'superAdmin' || permission?.create || permission?.update || permission?.delete) && <MenuButton variant="outline" colorScheme='blackAlpha' size="sm" va mr={2.5} as={Button} rightIcon={<ChevronDownIcon />}>
141- Actions
142- </MenuButton>}
144+ {(user.role === 'superAdmin' || permission?.create || permission?.update || permission?.delete) && (
145+ <MenuButton variant="outline" colorScheme="blackAlpha" size="sm" va mr={2.5} as={Button} rightIcon={<ChevronDownIcon />}>
146+ Actions
147+ </MenuButton>
148+ )}
143149 <MenuDivider />
144150 <MenuList minWidth={2}>
145- {(user.role === 'superAdmin' || permission?.create) && <MenuItem onClick={() => handleClick()} alignItems={'start'} color={'blue'} icon={<AddIcon />}>Add</MenuItem>}
146- {(user.role === 'superAdmin' || permission?.update) && <MenuItem onClick={() => setEdit(true)} alignItems={'start'} icon={<EditIcon />}>Edit</MenuItem>}
147- <MenuItem onClick={generatePDF} alignItems={"start"} icon={<FaFilePdf />} display={"flex"} style={{ alignItems: "center" }}>Print as PDF</MenuItem >
151+ {(user.role === 'superAdmin' || permission?.create) && (
152+ <MenuItem onClick={() => handleClick()} alignItems={'start'} color={'blue'} icon={<AddIcon />}>
153+ Add
154+ </MenuItem>
155+ )}
156+ {(user.role === 'superAdmin' || permission?.update) && (
157+ <MenuItem onClick={() => setEdit(true)} alignItems={'start'} icon={<EditIcon />}>
158+ Edit
159+ </MenuItem>
160+ )}
161+ <MenuItem
162+ onClick={generatePDF}
163+ alignItems={'start'}
164+ icon={<FaFilePdf />}
165+ display={'flex'}
166+ style={{
167+ alignItems: 'center',
168+ }}>
169+ Print as PDF
170+ </MenuItem>
148171
149- {(user.role === 'superAdmin' || permission?.delete) && <>
150- <MenuDivider />
151- <MenuItem alignItems={'start'} onClick={() => setDeleteManyModel(true)} color={'red'} icon={<DeleteIcon />}>Delete</MenuItem>
152- </>}
172+ {(user.role === 'superAdmin' || permission?.delete) && (
173+ <>
174+ <MenuDivider />
175+ <MenuItem alignItems={'start'} onClick={() => setDeleteManyModel(true)} color={'red'} icon={<DeleteIcon />}>
176+ Delete
177+ </MenuItem>
178+ </>
179+ )}
153180 </MenuList>
154181 </Menu>
155- <Button leftIcon={<IoIosArrowBack />} size='sm' variant="brand" onClick={() => navigate(-1)} >
182+ <Button leftIcon={<IoIosArrowBack />} size="sm" variant="brand" onClick={() => navigate(-1)}>
156183 Back
157184 </Button>
158185 </Flex>
@@ -160,174 +187,171 @@ const TaskView = (props) => {
160187 <HSeparator />
161188 </Box>
162189 </GridItem>
163- <GridItem colSpan={{ base: 2, md: 1 }} >
164- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task Title </Text>
165- {
166- editableField === "title" ?
167- <>
168- <Input
169- id="text"
170- name="title"
171- type="text"
172- onChange={formik.handleChange}
173- onBlur={handleBlur}
174- value={formik.values.title}
175- borderColor={formik?.errors?.title && formik?.touched?.title ? "red.300" : null}
176- autoFocus
177- />
178- <Text mb='10px' color={'red'}> {formik?.errors.title && formik?.touched.title && formik?.errors.title}</Text>
179- </>
180- :
181- <Text onDoubleClick={() => handleDoubleClick("title", data?.title)}>{data?.title ? data?.title : ' - '}</Text>
182- }
190+ <GridItem colSpan={{ base: 2, md: 1 }}>
191+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
192+ {' '}
193+ Task Title{' '}
194+ </Text>
195+ {editableField === 'title' ? (
196+ <>
197+ <Input id="text" name="title" type="text" onChange={formik.handleChange} onBlur={handleBlur} value={formik.values.title} borderColor={formik?.errors?.title && formik?.touched?.title ? 'red.300' : null} autoFocus />
198+ <Text mb="10px" color={'red'}>
199+ {' '}
200+ {formik?.errors.title && formik?.touched.title && formik?.errors.title}
201+ </Text>
202+ </>
203+ ) : (
204+ <Text onDoubleClick={() => handleDoubleClick('title', data?.title)}>{data?.title ? data?.title : ' - '}</Text>
205+ )}
183206 </GridItem>
184- <GridItem colSpan={{ base: 2, md: 1 }} >
185- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task Related To </Text>
207+ <GridItem colSpan={{ base: 2, md: 1 }}>
208+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
209+ {' '}
210+ Task Related To{' '}
211+ </Text>
186212 <Text>{data?.category ? data?.category : ' - '}</Text>
187213 </GridItem>
188- <GridItem colSpan={{ base: 2, md: 1 }} >
189- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task start </Text>
190- {
191- editableField === "start" ?
192- <>
193- <Input
194- name="start"
195- type={data?.allDay ? 'date' : 'datetime-local'}
196- onChange={formik.handleChange}
197- onBlur={handleBlur}
198- value={data.allDay === true
199- ? moment(formik.values.start).format('YYYY-MM-DD')
200- : moment(formik.values.start).format('YYYY-MM-DD HH:mm A')}
201- autoFocus
202- borderColor={formik?.errors?.start && formik?.touched?.start ? "red.300" : null}
203- min={data?.allDay ? dayjs(today).format('YYYY-MM-DD') : dayjs(todayTime).format('YYYY-MM-DD HH:mm')}
204- />
205- <Text mb='10px' color={'red'}> {formik?.errors.start && formik?.touched.start && formik?.errors.start}</Text>
206-
207- </>
208- :
209- <Text onDoubleClick={() => handleDoubleClick("start", data?.start)}>
210- {data && data?.start ? (
211- data.allDay === true
212- ? moment(data.start).format('DD-MM-YYYY')
213- : moment(data.start).format('DD-MM-YYYY HH:mm A')
214- ) : (
215- "-"
216- )}
214+ <GridItem colSpan={{ base: 2, md: 1 }}>
215+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
216+ {' '}
217+ Task start{' '}
218+ </Text>
219+ {editableField === 'start' ? (
220+ <>
221+ <Input name="start" type={data?.allDay ? 'date' : 'datetime-local'} onChange={formik.handleChange} onBlur={handleBlur} value={data.allDay === true ? moment(formik.values.start).format('YYYY-MM-DD') : moment(formik.values.start).format('YYYY-MM-DD HH:mm A')} autoFocus borderColor={formik?.errors?.start && formik?.touched?.start ? 'red.300' : null} min={data?.allDay ? dayjs(today).format('YYYY-MM-DD') : dayjs(todayTime).format('YYYY-MM-DD HH:mm')} />
222+ <Text mb="10px" color={'red'}>
223+ {' '}
224+ {formik?.errors.start && formik?.touched.start && formik?.errors.start}
217225 </Text>
218- }
219-
226+ </>
227+ ) : (
228+ <Text onDoubleClick={() => handleDoubleClick('start', data?.start)}>{data && data?.start ? (data.allDay === true ? moment(data.start).format('DD-MM-YYYY') : moment(data.start).format('DD-MM-YYYY HH:mm A')) : '-'}</Text>
229+ )}
220230 </GridItem>
221- <GridItem colSpan={{ base: 2, md: 1 }} >
222- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task end </Text>
223- {
224- editableField === "end" ?
225- <>
226- <Input
227- name="end"
228- type={data?.allDay ? 'date' : 'datetime-local'}
229- onChange={formik.handleChange}
230- onBlur={handleBlur}
231- min={formik.values.start}
232- value={data.allDay === true
233- ? moment(formik.values.end).format('YYYY-MM-DD')
234- : moment(formik.values.end).format('YYYY-MM-DD HH:mm A')}
235- autoFocus
236- borderColor={formik.errors?.end && formik.touched?.end ? "red.300" : null}
237-
238- />
239- <Text mb='10px' color={'red'}> {formik.errors.end && formik.touched.end && formik.errors.end}</Text>
240- </>
241-
242- :
243- <Text onDoubleClick={() => handleDoubleClick("end", data?.end)}>{data?.allDay === true ? moment(data?.end).format('DD-MM-YYYY') : moment(data?.end).format('DD-MM-YYYY HH:mm A')}</Text>
244-
245- }
231+ <GridItem colSpan={{ base: 2, md: 1 }}>
232+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
233+ {' '}
234+ Task end{' '}
235+ </Text>
236+ {editableField === 'end' ? (
237+ <>
238+ <Input name="end" type={data?.allDay ? 'date' : 'datetime-local'} onChange={formik.handleChange} onBlur={handleBlur} min={formik.values.start} value={data.allDay === true ? moment(formik.values.end).format('YYYY-MM-DD') : moment(formik.values.end).format('YYYY-MM-DD HH:mm A')} autoFocus borderColor={formik.errors?.end && formik.touched?.end ? 'red.300' : null} />
239+ <Text mb="10px" color={'red'}>
240+ {' '}
241+ {formik.errors.end && formik.touched.end && formik.errors.end}
242+ </Text>
243+ </>
244+ ) : (
245+ <Text onDoubleClick={() => handleDoubleClick('end', data?.end)}>{data?.allDay === true ? moment(data?.end).format('DD-MM-YYYY') : moment(data?.end).format('DD-MM-YYYY HH:mm A')}</Text>
246+ )}
246247 </GridItem>
247- <GridItem colSpan={{ base: 2, md: 1 }} >
248- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task Link </Text>
249- {data?.url ?
250- <a target='_blank' href={data?.url}>
248+ <GridItem colSpan={{ base: 2, md: 1 }}>
249+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
250+ {' '}
251+ Task Link{' '}
252+ </Text>
253+ {data?.url ? (
254+ <a target="_blank" href={data?.url}>
251255 <IconButton borderRadius="10px" size="md" icon={<BiLink />} />
252- </a> : '-'
253- }
256+ </a>
257+ ) : (
258+ '-'
259+ )}
254260 </GridItem>
255- <GridItem colSpan={{ base: 2, md: 1 }} >
256- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task reminder </Text>
261+ <GridItem colSpan={{ base: 2, md: 1 }}>
262+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
263+ {' '}
264+ Task reminder{' '}
265+ </Text>
257266 <Text>{data?.reminder ? data?.reminder : ' - '}</Text>
258267 </GridItem>
259- <GridItem colSpan={{ base: 2, md: 1 }} >
260- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Assign To </Text>
268+ <GridItem colSpan={{ base: 2, md: 1 }}>
269+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
270+ {' '}
271+ Assign To{' '}
272+ </Text>
261273 <Link to={data?.assignTo ? contactAccess?.view && `/contactView/${data?.assignTo}` : leadAccess?.view && `/leadView/${data?.assignToLead}`}>
262- <Text color={(data?.category === 'contact' && (contactAccess?.view || user?.role === 'superAdmin')) ? 'brand.600' : (leadAccess?.view || user?.role === 'superAdmin' && data?.category === 'lead') ? 'brand.600' : 'blackAlpha.900'} sx={{ '&:hover': { color: 'blue.500', textDecoration: 'underline' } }}>{data?.assignToName ? data?.assignToName : ' - '}</Text>
274+ <Text
275+ color={data?.category === 'contact' && (contactAccess?.view || user?.role === 'superAdmin') ? 'brand.600' : leadAccess?.view || (user?.role === 'superAdmin' && data?.category === 'lead') ? 'brand.600' : 'blackAlpha.900'}
276+ sx={{
277+ '&:hover': {
278+ color: 'blue.500',
279+ textDecoration: 'underline',
280+ },
281+ }}>
282+ {data?.assignToName ? data?.assignToName : ' - '}
283+ </Text>
263284 </Link>
264285 </GridItem>
265- <GridItem colSpan={{ base: 2, md: 1 }} >
266- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task createBy </Text>
286+ <GridItem colSpan={{ base: 2, md: 1 }}>
287+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
288+ {' '}
289+ Task createBy{' '}
290+ </Text>
267291 <Text>{data?.createByName ? data?.createByName : ' - '}</Text>
268292 </GridItem>
269- <GridItem colSpan={{ base: 2 }} >
270- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task Description</Text>
271- {
272- editableField === "description" ?
273- <>
274- <Input
275- id="text"
276- name="description"
277- type="text"
278- onChange={formik.handleChange}
279- onBlur={handleBlur}
280- value={formik.values.description}
281- autoFocus
282- borderColor={formik?.errors?.description && formik?.touched?.description ? "red.300" : null}
283- />
284- <Text mb='10px' color={'red'}> {formik?.errors.description && formik?.touched.description && formik?.errors.description}</Text>
285- </>
286- :
287- <Text onDoubleClick={() => handleDoubleClick("description", data?.description)}>{data?.description ? data?.description : ' - '}</Text>
288- }
293+ <GridItem colSpan={{ base: 2 }}>
294+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
295+ {' '}
296+ Task Description
297+ </Text>
298+ {editableField === 'description' ? (
299+ <>
300+ <Input id="text" name="description" type="text" onChange={formik.handleChange} onBlur={handleBlur} value={formik.values.description} autoFocus borderColor={formik?.errors?.description && formik?.touched?.description ? 'red.300' : null} />
301+ <Text mb="10px" color={'red'}>
302+ {' '}
303+ {formik?.errors.description && formik?.touched.description && formik?.errors.description}
304+ </Text>
305+ </>
306+ ) : (
307+ <Text onDoubleClick={() => handleDoubleClick('description', data?.description)}>{data?.description ? data?.description : ' - '}</Text>
308+ )}
289309 </GridItem>
290- <GridItem colSpan={{ base: 2 }} >
291- <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}> Task notes </Text>
292- {
293- editableField === "notes" ?
294- <>
295- <Input
296- id="text"
297- name="notes"
298- type="text"
299- onChange={formik.handleChange}
300- onBlur={handleBlur}
301- value={formik.values.notes}
302- autoFocus
303- borderColor={formik?.errors?.notes && formik?.touched?.notes ? "red.300" : null}
304- />
305- <Text mb='10px' color={'red'}> {formik?.errors.notes && formik?.touched.notes && formik?.errors.notes}</Text>
306-
307- </>
308- :
309- <Text onDoubleClick={() => handleDoubleClick("notes", data?.notes)}>{data?.notes ? data?.notes : ' - '}</Text>
310- }
310+ <GridItem colSpan={{ base: 2 }}>
311+ <Text fontSize="sm" fontWeight="bold" color={'blackAlpha.900'}>
312+ {' '}
313+ Task notes{' '}
314+ </Text>
315+ {editableField === 'notes' ? (
316+ <>
317+ <Input id="text" name="notes" type="text" onChange={formik.handleChange} onBlur={handleBlur} value={formik.values.notes} autoFocus borderColor={formik?.errors?.notes && formik?.touched?.notes ? 'red.300' : null} />
318+ <Text mb="10px" color={'red'}>
319+ {' '}
320+ {formik?.errors.notes && formik?.touched.notes && formik?.errors.notes}
321+ </Text>
322+ </>
323+ ) : (
324+ <Text onDoubleClick={() => handleDoubleClick('notes', data?.notes)}>{data?.notes ? data?.notes : ' - '}</Text>
325+ )}
311326 </GridItem>
312327 </Grid>
313328 </Card>
314329 </GridItem>
315-
316330 </Grid>
317- {(permission?.update || permission?.delete || user?.role === 'superAdmin') && <Card mt={3}>
318- <Grid templateColumns="repeat(6, 1fr)" gap={1}>
319- <GridItem colStart={6} >
320- <Flex justifyContent={"right"}>
321- {(permission?.update || user?.role === 'superAdmin') && <Button size="sm" onClick={() => setEdit(true)} leftIcon={<EditIcon />} mr={2.5} variant="outline" colorScheme="green">Edit</Button>}
322- {(permission?.delete || user?.role === 'superAdmin') && <Button size="sm" style={{ background: 'red.800' }} onClick={() => setDeleteManyModel(true)} leftIcon={<DeleteIcon />} colorScheme="red" >Delete</Button>}
323- </Flex>
324- </GridItem>
325- </Grid>
326- </Card>}
327- <AddEdit isOpen={edit} onClose={() => setEdit(false)} viewClose={onClose} id={id?.event ? id?.event?._def?.extendedProps?._id : id} userAction={"edit"} />
328- <CommonDeleteModel isOpen={deleteManyModel} onClose={() => setDeleteManyModel(false)} type='Task' handleDeleteData={handleDeleteTask} ids={[id]} />
329- </div >
330- )
331-}
331+ {(permission?.update || permission?.delete || user?.role === 'superAdmin') && (
332+ <Card mt={3}>
333+ <Grid templateColumns="repeat(6, 1fr)" gap={1}>
334+ <GridItem colStart={6}>
335+ <Flex justifyContent={'right'}>
336+ {(permission?.update || user?.role === 'superAdmin') && (
337+ <Button size="sm" onClick={() => setEdit(true)} leftIcon={<EditIcon />} mr={2.5} variant="outline" colorScheme="green">
338+ Edit
339+ </Button>
340+ )}
341+ {(permission?.delete || user?.role === 'superAdmin') && (
342+ <Button size="sm" style={{ background: 'red.800' }} onClick={() => setDeleteManyModel(true)} leftIcon={<DeleteIcon />} colorScheme="red">
343+ Delete
344+ </Button>
345+ )}
346+ </Flex>
347+ </GridItem>
348+ </Grid>
349+ </Card>
350+ )}
351+ <AddEdit isOpen={edit} onClose={() => setEdit(false)} viewClose={onClose} id={id?.event ? id?.event?._def?.extendedProps?._id : id} userAction={'edit'} />
352+ <CommonDeleteModel isOpen={deleteManyModel} onClose={() => setDeleteManyModel(false)} type="Task" handleDeleteData={handleDeleteTask} ids={[id]} />
353+ </div>
354+ );
355+};
332356
333-export default TaskView
357+export default TaskView;