@campxdev/shared 1.11.28 → 1.11.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/ActivityLog/ActivityLog.tsx +145 -0
- package/src/components/ActivityLog/Styles.tsx +28 -0
- package/src/components/HookForm/SingleSelect.tsx +2 -2
- package/src/components/Input/SingleSelect.tsx +7 -7
- package/src/components/Institutions/InsititutionsDialog.tsx +1 -1
- package/src/components/Selectors/ClassRoomSelector.tsx +2 -2
- package/src/components/Selectors/CourseSelector.tsx +2 -2
- package/src/components/Selectors/DepartmentSelector.tsx +2 -2
- package/src/components/Selectors/ExamGroupSelector.tsx +2 -2
- package/src/components/Selectors/FacultySelector.tsx +2 -2
- package/src/components/Selectors/FeeTypeSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormClassRoomSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormCourseSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormDepartmentSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormExamGroupSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormFacultySelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormFeeTypeSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormProgramSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormQuotaSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/FormSemesterSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/MultiSelect/MultiFacultySelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/MultiSelect/MultiFeeTypeSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/MultiSelect/MultiProgramSelector.tsx +2 -2
- package/src/components/Selectors/FormSelectors/MultiSelect/MultiQuotaSelector.tsx +2 -2
- package/src/components/Selectors/ProgramSelector.tsx +3 -3
- package/src/components/Selectors/QuotaSelector.tsx +2 -2
- package/src/components/Selectors/SemesterSelector.tsx +2 -2
package/package.json
CHANGED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Timeline,
|
|
3
|
+
TimelineConnector,
|
|
4
|
+
TimelineContent,
|
|
5
|
+
TimelineItem,
|
|
6
|
+
TimelineSeparator,
|
|
7
|
+
} from '@mui/lab'
|
|
8
|
+
import { Box, SxProps, Typography } from '@mui/material'
|
|
9
|
+
import { useQuery } from 'react-query'
|
|
10
|
+
import axios from '../../config/axios'
|
|
11
|
+
import { useErrorModal } from '../ErrorModalWrapper/ErrorModalWrapper'
|
|
12
|
+
import { PageContent } from '../PageContent'
|
|
13
|
+
import PageHeader from '../PageHeader'
|
|
14
|
+
import Spinner from '../Spinner'
|
|
15
|
+
import Table from '../Tables/BasicTable/Table'
|
|
16
|
+
import { StyledAvatar, StyledCircleIcon, StyledTimeLineDot } from './Styles'
|
|
17
|
+
|
|
18
|
+
export const getData = async (url: string) => {
|
|
19
|
+
return await axios.get(url).then((res) => res.data)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface Activity {
|
|
23
|
+
id: number
|
|
24
|
+
date: string
|
|
25
|
+
time: string
|
|
26
|
+
message: string
|
|
27
|
+
userName: string
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const ActivityLog = ({
|
|
31
|
+
activities,
|
|
32
|
+
endPoint,
|
|
33
|
+
tableView,
|
|
34
|
+
title,
|
|
35
|
+
sx,
|
|
36
|
+
}: {
|
|
37
|
+
activities: Activity[]
|
|
38
|
+
sx?: SxProps
|
|
39
|
+
endPoint?: string
|
|
40
|
+
title?: string
|
|
41
|
+
tableView: boolean
|
|
42
|
+
}) => {
|
|
43
|
+
const errorModal = useErrorModal()
|
|
44
|
+
const { data, isLoading } = useQuery('activity', () => getData(endPoint), {
|
|
45
|
+
onError: (error) => {
|
|
46
|
+
// eslint-disable-next-line no-console
|
|
47
|
+
console.log(error)
|
|
48
|
+
errorModal({ error: error })
|
|
49
|
+
},
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
if (isLoading) {
|
|
53
|
+
return <Spinner />
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<>
|
|
58
|
+
<PageHeader title={title ?? 'Activity Log'} />
|
|
59
|
+
<PageContent>
|
|
60
|
+
{!tableView ? (
|
|
61
|
+
<Box
|
|
62
|
+
sx={{
|
|
63
|
+
padding: '20px',
|
|
64
|
+
maxWidth: '550px',
|
|
65
|
+
...sx,
|
|
66
|
+
}}
|
|
67
|
+
>
|
|
68
|
+
<Timeline>
|
|
69
|
+
{activities.map((item, index) => (
|
|
70
|
+
<TimelineItem
|
|
71
|
+
key={index}
|
|
72
|
+
sx={{
|
|
73
|
+
margin: 0,
|
|
74
|
+
padding: 0,
|
|
75
|
+
'&:before': { flex: 'none' },
|
|
76
|
+
}}
|
|
77
|
+
>
|
|
78
|
+
<TimelineSeparator>
|
|
79
|
+
<StyledTimeLineDot>
|
|
80
|
+
<StyledCircleIcon />
|
|
81
|
+
</StyledTimeLineDot>
|
|
82
|
+
{index < activities.length - 1 && (
|
|
83
|
+
<TimelineConnector
|
|
84
|
+
sx={{ bgcolor: '#12121233', width: '1px' }}
|
|
85
|
+
/>
|
|
86
|
+
)}
|
|
87
|
+
</TimelineSeparator>
|
|
88
|
+
<TimelineContent sx={{ padding: '6px 16px' }}>
|
|
89
|
+
<Box>
|
|
90
|
+
<Typography variant="subtitle2" sx={{ fontSize: '14px' }}>
|
|
91
|
+
{item.date} - {item.time}
|
|
92
|
+
</Typography>
|
|
93
|
+
<Typography sx={{ fontSize: '16px' }} variant="body1">
|
|
94
|
+
{item.message}
|
|
95
|
+
</Typography>
|
|
96
|
+
<Typography
|
|
97
|
+
style={{
|
|
98
|
+
display: 'flex',
|
|
99
|
+
alignItems: 'center',
|
|
100
|
+
marginTop: '5px',
|
|
101
|
+
}}
|
|
102
|
+
>
|
|
103
|
+
<StyledAvatar />
|
|
104
|
+
<Typography sx={{ fontSize: '13px', fontWeight: 900 }}>
|
|
105
|
+
{item.userName}
|
|
106
|
+
</Typography>
|
|
107
|
+
</Typography>
|
|
108
|
+
</Box>
|
|
109
|
+
</TimelineContent>
|
|
110
|
+
</TimelineItem>
|
|
111
|
+
))}
|
|
112
|
+
</Timeline>
|
|
113
|
+
</Box>
|
|
114
|
+
) : (
|
|
115
|
+
<Table columns={columns} dataSource={activities ?? []} />
|
|
116
|
+
)}
|
|
117
|
+
</PageContent>
|
|
118
|
+
</>
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export default ActivityLog
|
|
123
|
+
|
|
124
|
+
const columns = [
|
|
125
|
+
{
|
|
126
|
+
title: 'Date',
|
|
127
|
+
dataIndex: 'date',
|
|
128
|
+
key: 'date',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
title: 'Time',
|
|
132
|
+
dataIndex: 'time',
|
|
133
|
+
key: 'time',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
title: 'Message',
|
|
137
|
+
dataIndex: 'message',
|
|
138
|
+
key: 'message',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'User',
|
|
142
|
+
dataIndex: 'userName',
|
|
143
|
+
key: 'userName',
|
|
144
|
+
},
|
|
145
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import CircleRoundedIcon from '@mui/icons-material/CircleRounded'
|
|
2
|
+
import { TimelineDot } from '@mui/lab'
|
|
3
|
+
import { Avatar, styled } from '@mui/material'
|
|
4
|
+
|
|
5
|
+
export const StyledTimeLineDot = styled(TimelineDot)({
|
|
6
|
+
width: '20px',
|
|
7
|
+
height: '20px',
|
|
8
|
+
boxShadow: 'none',
|
|
9
|
+
backgroundColor: '#F5F5F5',
|
|
10
|
+
border: '1px solid #12121233',
|
|
11
|
+
borderRadius: '50%',
|
|
12
|
+
margin: '5.5px 0',
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
export const StyledCircleIcon = styled(CircleRoundedIcon)({
|
|
16
|
+
position: 'relative',
|
|
17
|
+
left: '1px',
|
|
18
|
+
top: '1px',
|
|
19
|
+
color: 'black',
|
|
20
|
+
width: '7px',
|
|
21
|
+
height: '7px',
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
export const StyledAvatar = styled(Avatar)({
|
|
25
|
+
width: 30,
|
|
26
|
+
height: 30,
|
|
27
|
+
marginRight: '8px',
|
|
28
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { ReactNode } from 'react'
|
|
3
3
|
import { Controller } from 'react-hook-form'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -9,7 +9,7 @@ type Props = {
|
|
|
9
9
|
options: Array<{ label: ReactNode; value: any }>
|
|
10
10
|
firstItemEmpty?: boolean
|
|
11
11
|
onOpen?: (e: any) => void
|
|
12
|
-
} &
|
|
12
|
+
} & BaseSelectProps
|
|
13
13
|
|
|
14
14
|
export default function FormSingleSelect(props: Props) {
|
|
15
15
|
const {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KeyboardArrowDown } from '@mui/icons-material'
|
|
2
2
|
import {
|
|
3
|
+
BaseSelectProps,
|
|
4
|
+
Box,
|
|
5
|
+
BoxProps,
|
|
3
6
|
FormControl,
|
|
7
|
+
FormHelperText,
|
|
4
8
|
MenuItem,
|
|
5
|
-
SelectProps,
|
|
6
|
-
styled,
|
|
7
9
|
Select,
|
|
8
|
-
|
|
9
|
-
Box,
|
|
10
|
-
BoxProps,
|
|
10
|
+
styled,
|
|
11
11
|
} from '@mui/material'
|
|
12
12
|
import { ReactNode } from 'react'
|
|
13
13
|
import FormLabel from './FormLabel'
|
|
@@ -55,7 +55,7 @@ type Props = {
|
|
|
55
55
|
helperText?: string
|
|
56
56
|
containerProps?: BoxProps
|
|
57
57
|
onOpen?: (e: any) => void
|
|
58
|
-
} &
|
|
58
|
+
} & BaseSelectProps
|
|
59
59
|
|
|
60
60
|
export default function SingleSelect({
|
|
61
61
|
name = 'select',
|
|
@@ -46,7 +46,7 @@ const InstitutionCard = ({ institution }) => {
|
|
|
46
46
|
alt="logo"
|
|
47
47
|
height={'100px'}
|
|
48
48
|
width="100%"
|
|
49
|
-
src={institution?.
|
|
49
|
+
src={institution?.imageSquare?.url}
|
|
50
50
|
/>
|
|
51
51
|
<Typography variant="body2">{institution?.name}</Typography>
|
|
52
52
|
</StyledInstitutionCard>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -13,7 +13,7 @@ type ClassRoomSelectorProps = {
|
|
|
13
13
|
error?: boolean
|
|
14
14
|
helperText?: string
|
|
15
15
|
api?: string
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
const ClassRoomSelector = (props: ClassRoomSelectorProps) => {
|
|
18
18
|
const {
|
|
19
19
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -13,7 +13,7 @@ type CourseSelectorProps = {
|
|
|
13
13
|
helperText?: string
|
|
14
14
|
api?: string
|
|
15
15
|
valueByUniqueId?: boolean
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
export default function CourseSelector(props: CourseSelectorProps) {
|
|
18
18
|
const {
|
|
19
19
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -12,7 +12,7 @@ type DepartmentSelectorProps = {
|
|
|
12
12
|
error?: boolean
|
|
13
13
|
helperText?: string
|
|
14
14
|
api?: string
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
export default function DepartmentSelector(props: DepartmentSelectorProps) {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -12,7 +12,7 @@ type ExamGroupSelectorProps = {
|
|
|
12
12
|
allowAll?: boolean
|
|
13
13
|
error?: boolean
|
|
14
14
|
helperText?: string
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
const ExamGroupSelector = (props: ExamGroupSelectorProps) => {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -18,7 +18,7 @@ type FacultySelectorProps = {
|
|
|
18
18
|
error?: boolean
|
|
19
19
|
helperText?: string
|
|
20
20
|
api?: string
|
|
21
|
-
} &
|
|
21
|
+
} & BaseSelectProps
|
|
22
22
|
const FacultySelector = (props: FacultySelectorProps) => {
|
|
23
23
|
const {
|
|
24
24
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -11,7 +11,7 @@ type FeeTypeSelectorProps = {
|
|
|
11
11
|
onChange?: (value: any) => void
|
|
12
12
|
error?: boolean
|
|
13
13
|
helperText?: string
|
|
14
|
-
} &
|
|
14
|
+
} & BaseSelectProps
|
|
15
15
|
export default function FeeTypeSelector(props: FeeTypeSelectorProps) {
|
|
16
16
|
const { name, required = false, label, onChange, allowAll = true } = props
|
|
17
17
|
const [options, setOptions] = useState([])
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import ClassRoomSelector from '../ClassRoomSelector'
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ type ClassRoomSelectorProps = {
|
|
|
12
12
|
filters?: { programId: number; courseId: number; batch: string }
|
|
13
13
|
onChange?: (value: any) => void
|
|
14
14
|
api?: string
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
export default function FormClassRoomSelector(props: ClassRoomSelectorProps) {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import CourseSelector from '../CourseSelector'
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ type FormCourseSelectorProps = {
|
|
|
12
12
|
onChange?: (value: any) => void
|
|
13
13
|
api?: string
|
|
14
14
|
valueByUniqueId?: boolean
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
export default function FormCourseSelector(props: FormCourseSelectorProps) {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import DepartmentSelector from '../DepartmentSelector'
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ type FormDepartmentSelectorProps = {
|
|
|
11
11
|
allowAll?: boolean
|
|
12
12
|
onChange?: (value: any) => void
|
|
13
13
|
api?: string
|
|
14
|
-
} &
|
|
14
|
+
} & BaseSelectProps
|
|
15
15
|
export default function FormDepartmentSelector(
|
|
16
16
|
props: FormDepartmentSelectorProps,
|
|
17
17
|
) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import ExamGroupSelector from '../ExamGroupSelector'
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ type ExamGroupSelectorProps = {
|
|
|
11
11
|
allowAll?: boolean
|
|
12
12
|
filters?: { courseId: number; examType: string }
|
|
13
13
|
onChange?: (value: any) => void
|
|
14
|
-
} &
|
|
14
|
+
} & BaseSelectProps
|
|
15
15
|
export default function FormExamGroupSelector(props: ExamGroupSelectorProps) {
|
|
16
16
|
const {
|
|
17
17
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import FacultySelector from '../FacultySelector'
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ type FacultySelectorProps = {
|
|
|
17
17
|
}
|
|
18
18
|
onChange?: (value: any) => void
|
|
19
19
|
api?: string
|
|
20
|
-
} &
|
|
20
|
+
} & BaseSelectProps
|
|
21
21
|
export default function FormFacultySelector(props: FacultySelectorProps) {
|
|
22
22
|
const {
|
|
23
23
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import FeeTypeSelector from '../FeeTypeSelector'
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ type FormFeeTypeSelectorProps = {
|
|
|
11
11
|
allowAll?: boolean
|
|
12
12
|
onChange?: (value: any) => void
|
|
13
13
|
api?: string
|
|
14
|
-
} &
|
|
14
|
+
} & BaseSelectProps
|
|
15
15
|
export default function FormFeeTypeSelector(props: FormFeeTypeSelectorProps) {
|
|
16
16
|
const {
|
|
17
17
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import ProgramSelector from '../ProgramSelector'
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ type ProgramSelectorProps = {
|
|
|
13
13
|
onChange?: (value: any) => void
|
|
14
14
|
api?: string
|
|
15
15
|
valueByBranchCode?: boolean
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
export default function FormProgramSelector(props: ProgramSelectorProps) {
|
|
18
18
|
const {
|
|
19
19
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import QuotaSelector from '../QuotaSelector'
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ type FormQuotaSelectorProps = {
|
|
|
12
12
|
onChange?: (value: any) => void
|
|
13
13
|
filters?: { courseId: number }
|
|
14
14
|
api?: string
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
export default function FormQuotaSelector(props: FormQuotaSelectorProps) {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { Controller } from 'react-hook-form'
|
|
3
3
|
import SemesterSelector from '../SemesterSelector'
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ type SemesterSelectorProps = {
|
|
|
12
12
|
filters?: { courseId: number }
|
|
13
13
|
onChange?: (value: any) => void
|
|
14
14
|
api?: string
|
|
15
|
-
} &
|
|
15
|
+
} & BaseSelectProps
|
|
16
16
|
export default function FormSemseterSelector(props: SemesterSelectorProps) {
|
|
17
17
|
const {
|
|
18
18
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import { Controller } from 'react-hook-form'
|
|
4
4
|
import axios from '../../../../config/axios'
|
|
@@ -20,7 +20,7 @@ type MultiFacultySelectorProps = {
|
|
|
20
20
|
error?: boolean
|
|
21
21
|
helperText?: string
|
|
22
22
|
api?: string
|
|
23
|
-
} &
|
|
23
|
+
} & BaseSelectProps
|
|
24
24
|
const MultiFacultySelector = (props: MultiFacultySelectorProps) => {
|
|
25
25
|
const {
|
|
26
26
|
control,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import { Controller } from 'react-hook-form'
|
|
4
4
|
import axios from '../../../../config/axios'
|
|
@@ -13,7 +13,7 @@ type MultiProgramSelectorProps = {
|
|
|
13
13
|
allowAll?: boolean
|
|
14
14
|
error?: boolean
|
|
15
15
|
helperText?: string
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
const MultiFeeTypeSelector = (props: MultiProgramSelectorProps) => {
|
|
18
18
|
const {
|
|
19
19
|
control,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import { Controller } from 'react-hook-form'
|
|
4
4
|
import axios from '../../../../config/axios'
|
|
@@ -15,7 +15,7 @@ type MultiProgramSelectorProps = {
|
|
|
15
15
|
error?: boolean
|
|
16
16
|
helperText?: string
|
|
17
17
|
api?: string
|
|
18
|
-
} &
|
|
18
|
+
} & BaseSelectProps
|
|
19
19
|
const MultiProgramSelector = (props: MultiProgramSelectorProps) => {
|
|
20
20
|
const {
|
|
21
21
|
control,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import { Controller } from 'react-hook-form'
|
|
4
4
|
import axios from '../../../../config/axios'
|
|
@@ -15,7 +15,7 @@ type MultiQuotaSelectorProps = {
|
|
|
15
15
|
error?: boolean
|
|
16
16
|
helperText?: string
|
|
17
17
|
api?: string
|
|
18
|
-
} &
|
|
18
|
+
} & BaseSelectProps
|
|
19
19
|
export default function MultiQuotaSelector(props: MultiQuotaSelectorProps) {
|
|
20
20
|
const {
|
|
21
21
|
control,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -6,7 +6,7 @@ import { SingleSelect } from '../Input'
|
|
|
6
6
|
type ProgramSelectorProps = {
|
|
7
7
|
name?: string
|
|
8
8
|
label: string
|
|
9
|
-
filters?: { courseId: number| string }
|
|
9
|
+
filters?: { courseId: number | string }
|
|
10
10
|
required?: boolean
|
|
11
11
|
onChange?: (value: any) => void
|
|
12
12
|
allowAll?: boolean
|
|
@@ -14,7 +14,7 @@ type ProgramSelectorProps = {
|
|
|
14
14
|
helperText?: string
|
|
15
15
|
api?: string
|
|
16
16
|
valueByBranchCode?: boolean
|
|
17
|
-
} &
|
|
17
|
+
} & BaseSelectProps
|
|
18
18
|
const ProgramSelector = (props: ProgramSelectorProps) => {
|
|
19
19
|
const {
|
|
20
20
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -13,7 +13,7 @@ type QuotaSelectorProps = {
|
|
|
13
13
|
error?: boolean
|
|
14
14
|
helperText?: string
|
|
15
15
|
api?: string
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
export default function QuotaSelector(props: QuotaSelectorProps) {
|
|
18
18
|
const {
|
|
19
19
|
name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSelectProps } from '@mui/material'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import axios from '../../config/axios'
|
|
4
4
|
import { SingleSelect } from '../Input'
|
|
@@ -13,7 +13,7 @@ type SemesterSelectorProps = {
|
|
|
13
13
|
error?: boolean
|
|
14
14
|
helperText?: string
|
|
15
15
|
api?: string
|
|
16
|
-
} &
|
|
16
|
+
} & BaseSelectProps
|
|
17
17
|
const SemesterSelector = (props: SemesterSelectorProps) => {
|
|
18
18
|
const {
|
|
19
19
|
name,
|