OrgCourseWiseAdmission

OrgCourseWiseAdmission
 avatar
Yash
javascript
20 days ago
6.6 kB
2
Indexable
// export const OrgCourseWiseAdmission = ({ branchData, CourseData, courseWiseStnData }) => {

//     const tdStyle = { color: 'gray.600' }
//     const stnData = map(courseWiseStnData, (item) => item?.totalAdmission)
//     const activeStnData = map(courseWiseStnData, (item) => item?.active)
//     const inactiveStnData = map(courseWiseStnData, (item) => item?.inactive)

//     const grpData = useMemo(() => {
//         const grpedData = {};
//         for (let i = 0; i < courseWiseStnData?.length; i++) {
//             const branch = find(CourseData, cd => cd?._id === courseWiseStnData[i]?.courseId)?.branch?._id;
//             if (branch) {
//                 if (!grpedData[branch]) {
//                     grpedData[branch] = [courseWiseStnData[i]];
//                 } else {
//                     grpedData[branch].push(courseWiseStnData[i]);
//                 }
//             }
//         }
//         return grpedData;
//     }, [courseWiseStnData, CourseData]);

//     return (
//         <VStack align={'stretch'} flex={1}>
//             <HStack justify={'space-between'}>
//                 <HStack px={4}>
//                     <Text fontWeight={'bold'} fontSize='lg'>Course Wise Admission</Text>
//                 </HStack>
//             </HStack>
//             <Box
//                 flex={1}
//                 border={'1px solid'} borderColor='gray.100'
//                 bg={'white'} borderRadius={10}
//                 boxShadow='sm'
//                 maxH={"40vh"}
//                 overflow={"auto"}
//                 className="scrollbar-1"
//             >
//                 {size(courseWiseStnData) > 0 ?
//                     <Table size={'sm'} variant='simple'>
//                         <Thead>
//                             <Tr
//                                 color="#6C757D"
//                                 position="sticky"
//                                 top="0"
//                                 left="0"
//                                 bg="gray.100"
//                                 zIndex="2"
//                             >
//                                 <Th>Courses</Th>
//                                 <Th isNumeric>Active</Th>
//                                 <Th isNumeric>Inactive</Th>
//                                 <Th isNumeric>No. of Students</Th>
//                             </Tr>
//                         </Thead>
//                         <Tbody>
//                             {grpData ? map(Object.entries(grpData), ([branchId, CourseList]) => {
//                                 const branchName = find(branchData, bd => bd?._id === branchId)?.name
//                                 const totalAddmissionBranchWise = sumBy(CourseList, (item) => item?.totalAdmission)
//                                 const totalActiveBranchWise = sumBy(CourseList, (item) => item?.active)
//                                 const totalInactiveBranchWise = sumBy(CourseList, (item) => item?.inactive)
//                                 return (
//                                     <>
//                                         {size(CourseList) > 0 ? <Tr key={branchId} bg="gray.50" position="sticky" top={"20px"} zIndex="3">
//                                             <Td fontWeight="bold">
//                                                 {branchName}
//                                             </Td>
//                                             <Td fontWeight="bold" isNumeric>
//                                                 {totalActiveBranchWise}
//                                             </Td>
//                                             <Td fontWeight="bold" isNumeric>
//                                                 {totalInactiveBranchWise}
//                                             </Td>
//                                             <Td fontWeight="bold" isNumeric>
//                                                 {totalAddmissionBranchWise}
//                                             </Td>

//                                         </Tr> : ""}
//                                         {
//                                             map(CourseList, (item) => {
//                                                 const crc = find(CourseData, crc => crc?._id == item?.courseId)

//                                                 return (<Tr key={crc?._id}>
//                                                     <Td {...tdStyle}>
//                                                         <Text>{crc?.name} {crc?.session ? `(${crc?.session})` : ""}</Text>
//                                                     </Td>
//                                                     <Td isNumeric>{item?.active ?? 0}</Td>
//                                                     <Td isNumeric>{item?.inactive ?? 0}</Td>
//                                                     <Td isNumeric {...tdStyle}>
//                                                         <Text>{item?.totalAdmission}</Text>
//                                                     </Td>
//                                                 </Tr>)
//                                             })
//                                         }
//                                     </>
//                                 )
//                             }) : "No Data"}
//                         </Tbody>
//                         <Tfoot>
//                             <Tr
//                                 color="#6C757D"
//                                 position="sticky"
//                                 bottom="0"
//                                 left="0"
//                                 bg="gray.50"
//                                 zIndex="4"
//                             >
//                                 <Th color={'blue.500'}>Total</Th>
//                                 <Th color={'blue.500'} fontSize={'sm'} isNumeric>{sum(activeStnData)}</Th>
//                                 <Th color={'blue.500'} fontSize={'sm'} isNumeric>{sum(inactiveStnData)}</Th>
//                                 <Th color={'blue.500'} fontSize={'sm'} isNumeric>{sum(stnData)}</Th>
//                             </Tr>
//                         </Tfoot>
//                     </Table>
//                     :
//                     <Text color={'gray.500'}>No Data</Text>
//                 }
//             </Box>
//         </VStack>
//     )
// }
Editor is loading...
Leave a Comment