@campxdev/shared 1.8.13 → 1.8.14

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.
Files changed (266) hide show
  1. package/package.json +20 -4
  2. package/antd.customize.less +0 -73
  3. package/exports.ts +0 -19
  4. package/src/assets/fonts/avenir/Avenir-Book.ttf +0 -0
  5. package/src/assets/fonts/avenir/Avenir-Heavy.ttf +0 -0
  6. package/src/assets/fonts/avenir/Avenir-HeavyOblique.ttf +0 -0
  7. package/src/assets/fonts/avenir/Avenir-Medium.ttf +0 -0
  8. package/src/assets/fonts/avenir/Avenir-MediumOblique.ttf +0 -0
  9. package/src/assets/fonts/avenir/index.ts +0 -13
  10. package/src/assets/fonts/poppins/Poppins-Bold.ttf +0 -0
  11. package/src/assets/fonts/poppins/Poppins-Italic.ttf +0 -0
  12. package/src/assets/fonts/poppins/Poppins-Light.ttf +0 -0
  13. package/src/assets/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  14. package/src/assets/fonts/poppins/Poppins-Medium.ttf +0 -0
  15. package/src/assets/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  16. package/src/assets/fonts/poppins/Poppins-Regular.ttf +0 -0
  17. package/src/assets/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  18. package/src/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  19. package/src/assets/fonts/poppins/index.ts +0 -18
  20. package/src/assets/images/401.png +0 -0
  21. package/src/assets/images/403.png +0 -0
  22. package/src/assets/images/404.png +0 -0
  23. package/src/assets/images/404notfound.svg +0 -1
  24. package/src/assets/images/500.png +0 -0
  25. package/src/assets/images/avatar.png +0 -0
  26. package/src/assets/images/campx_logo__full_primary.png +0 -0
  27. package/src/assets/images/index.ts +0 -17
  28. package/src/assets/images/internalservererror.svg +0 -1
  29. package/src/assets/images/noInternet.svg +0 -1
  30. package/src/assets/images/nointernet.png +0 -0
  31. package/src/assets/images/notfound.png +0 -0
  32. package/src/assets/images/pagenotfound.svg +0 -1
  33. package/src/assets/images/permissiondenied.svg +0 -1
  34. package/src/assets/images/unauth.svg +0 -92
  35. package/src/components/ActionButton.tsx +0 -20
  36. package/src/components/Attachment.tsx +0 -26
  37. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +0 -57
  38. package/src/components/AutocompleteSearch/index.tsx +0 -1
  39. package/src/components/Breadcrumbs.tsx +0 -72
  40. package/src/components/Card.tsx +0 -98
  41. package/src/components/CardsGrid.tsx +0 -28
  42. package/src/components/ChangePassword.tsx +0 -123
  43. package/src/components/Chips.tsx +0 -81
  44. package/src/components/Detail.tsx +0 -15
  45. package/src/components/DetailsGrid.tsx +0 -52
  46. package/src/components/DividerHeading.tsx +0 -41
  47. package/src/components/DrawerWrapper/DialogWrapper.tsx +0 -67
  48. package/src/components/DrawerWrapper/DrawerTemplate.tsx +0 -53
  49. package/src/components/DrawerWrapper/DrawerWrapper.tsx +0 -53
  50. package/src/components/DropDownButton/AnchorElement.tsx +0 -44
  51. package/src/components/DropDownButton/DropDownButton.tsx +0 -184
  52. package/src/components/DropDownButton/DropdownMenuItem.tsx +0 -110
  53. package/src/components/DropDownButton/index.tsx +0 -1
  54. package/src/components/DropDownButton/styles.tsx +0 -59
  55. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -33
  56. package/src/components/ErrorBoundary/ErrorFallback.tsx +0 -241
  57. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +0 -13
  58. package/src/components/ErrorBoundary/index.tsx +0 -1
  59. package/src/components/ErrorBox.tsx +0 -42
  60. package/src/components/ExcelToJsonInput/ExcelJsonUpload.tsx +0 -50
  61. package/src/components/ExcelToJsonInput/ExcelToJsonInput.tsx +0 -57
  62. package/src/components/ExcelToJsonInput/index.tsx +0 -1
  63. package/src/components/FilterComponents/FilterButton.tsx +0 -56
  64. package/src/components/FilterComponents/SearchBar.tsx +0 -45
  65. package/src/components/FloatingContainer.tsx +0 -33
  66. package/src/components/Form/Form.tsx +0 -147
  67. package/src/components/Form/RenderForm.tsx +0 -189
  68. package/src/components/FullScreenLoader.tsx +0 -19
  69. package/src/components/HookForm/AutoCompleteSearch.tsx +0 -113
  70. package/src/components/HookForm/DatePicker.tsx +0 -40
  71. package/src/components/HookForm/DateTimePicker.tsx +0 -47
  72. package/src/components/HookForm/FormLabel.tsx +0 -14
  73. package/src/components/HookForm/MultiCheckbox.tsx +0 -69
  74. package/src/components/HookForm/MultiSelect.tsx +0 -53
  75. package/src/components/HookForm/RadioGroup.tsx +0 -47
  76. package/src/components/HookForm/SingleCheckbox.tsx +0 -34
  77. package/src/components/HookForm/SingleSelect.tsx +0 -46
  78. package/src/components/HookForm/TextField.tsx +0 -40
  79. package/src/components/HookForm/TimePicker.tsx +0 -40
  80. package/src/components/HookForm/index.ts +0 -23
  81. package/src/components/IconButtons/IconButtons.tsx +0 -137
  82. package/src/components/IconButtons/Icons.tsx +0 -268
  83. package/src/components/IconButtons/assets/edit.svg +0 -4
  84. package/src/components/IconButtons/assets/eye.svg +0 -6
  85. package/src/components/IconButtons/assets/trash.svg +0 -7
  86. package/src/components/IconButtons/index.tsx +0 -8
  87. package/src/components/IconLabel.tsx +0 -37
  88. package/src/components/Image/Image.tsx +0 -45
  89. package/src/components/Image/broken-image.png +0 -0
  90. package/src/components/Image/index.tsx +0 -1
  91. package/src/components/ImageUpload.tsx +0 -98
  92. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +0 -216
  93. package/src/components/Input/AsyncSearchSelect/index.tsx +0 -1
  94. package/src/components/Input/AsyncSearchSelect/styles.tsx +0 -105
  95. package/src/components/Input/AutoCompleteSearch.tsx +0 -121
  96. package/src/components/Input/DatePicker.tsx +0 -87
  97. package/src/components/Input/DateRangePicker.tsx +0 -105
  98. package/src/components/Input/DateTimePicker.tsx +0 -84
  99. package/src/components/Input/FormLabel.tsx +0 -21
  100. package/src/components/Input/MultiCheckbox.tsx +0 -64
  101. package/src/components/Input/MultiSelect.tsx +0 -150
  102. package/src/components/Input/RadioGroup.tsx +0 -104
  103. package/src/components/Input/SingleCheckbox.tsx +0 -78
  104. package/src/components/Input/SingleSelect.tsx +0 -104
  105. package/src/components/Input/TextField.tsx +0 -46
  106. package/src/components/Input/TimePicker.tsx +0 -77
  107. package/src/components/Input/index.ts +0 -26
  108. package/src/components/Input/types.ts +0 -3
  109. package/src/components/JsonPreview.tsx +0 -7
  110. package/src/components/LabelValue.tsx +0 -21
  111. package/src/components/Layout/ChangePassword.tsx +0 -49
  112. package/src/components/Layout/Header/AppHeader.tsx +0 -112
  113. package/src/components/Layout/Header/AppsMenu.tsx +0 -105
  114. package/src/components/Layout/Header/HeaderActions/CogWheelMenu.tsx +0 -33
  115. package/src/components/Layout/Header/HeaderActions/FreshDeskHelpButton.tsx +0 -24
  116. package/src/components/Layout/Header/HeaderActions/HeaderActions.tsx +0 -18
  117. package/src/components/Layout/Header/HeaderActions/UserBox.tsx +0 -56
  118. package/src/components/Layout/Header/Notification.tsx +0 -13
  119. package/src/components/Layout/Header/applications.ts +0 -103
  120. package/src/components/Layout/Header/assets/background.png +0 -0
  121. package/src/components/Layout/Header/assets/campx.png +0 -0
  122. package/src/components/Layout/Header/assets/campx_square_small.svg +0 -9
  123. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  124. package/src/components/Layout/Header/assets/commutex.png +0 -0
  125. package/src/components/Layout/Header/assets/commutex.svg +0 -14
  126. package/src/components/Layout/Header/assets/commutexSmall.svg +0 -11
  127. package/src/components/Layout/Header/assets/contactBg.png +0 -0
  128. package/src/components/Layout/Header/assets/enroll.svg +0 -14
  129. package/src/components/Layout/Header/assets/enroll_logo.svg +0 -9
  130. package/src/components/Layout/Header/assets/enrollx.svg +0 -14
  131. package/src/components/Layout/Header/assets/entrollx.png +0 -0
  132. package/src/components/Layout/Header/assets/exams_small.svg +0 -12
  133. package/src/components/Layout/Header/assets/examsx.svg +0 -14
  134. package/src/components/Layout/Header/assets/examx.png +0 -0
  135. package/src/components/Layout/Header/assets/hostel_small.svg +0 -13
  136. package/src/components/Layout/Header/assets/hostelx.png +0 -0
  137. package/src/components/Layout/Header/assets/hostelx.svg +0 -13
  138. package/src/components/Layout/Header/assets/index.ts +0 -35
  139. package/src/components/Layout/Header/assets/libraryx.svg +0 -12
  140. package/src/components/Layout/Header/assets/libreryx.png +0 -0
  141. package/src/components/Layout/Header/assets/pay_small.svg +0 -16
  142. package/src/components/Layout/Header/assets/payx.png +0 -0
  143. package/src/components/Layout/Header/assets/payx.svg +0 -19
  144. package/src/components/Layout/Header/assets/people_small.svg +0 -9
  145. package/src/components/Layout/Header/assets/peoplex.svg +0 -12
  146. package/src/components/Layout/Header/assets/pepolex.png +0 -0
  147. package/src/components/Layout/Header/assets/squarex.svg +0 -12
  148. package/src/components/Layout/Header/icons.tsx +0 -57
  149. package/src/components/Layout/Header/index.tsx +0 -1
  150. package/src/components/Layout/Header/styles.tsx +0 -133
  151. package/src/components/Layout/Helmet.tsx +0 -49
  152. package/src/components/Layout/LayoutWrapper.tsx +0 -28
  153. package/src/components/Layout/SideMenuHeader.tsx +0 -29
  154. package/src/components/Layout/SideNav.tsx +0 -168
  155. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +0 -273
  156. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +0 -94
  157. package/src/components/Layout/Tickets/MyTickets.tsx +0 -72
  158. package/src/components/Layout/Tickets/TicketDetails.tsx +0 -65
  159. package/src/components/Layout/Tickets/TimeLine.tsx +0 -64
  160. package/src/components/Layout/Tickets/index.tsx +0 -1
  161. package/src/components/Layout/Tickets/services.ts +0 -11
  162. package/src/components/Layout/Tickets/styles.tsx +0 -136
  163. package/src/components/LinearProgress.tsx +0 -19
  164. package/src/components/ListItemButton.tsx +0 -95
  165. package/src/components/LoginForm.tsx +0 -279
  166. package/src/components/MediaRow/MediaRow.tsx +0 -67
  167. package/src/components/MediaRow/index.tsx +0 -1
  168. package/src/components/ModalButtons/DialogButton.tsx +0 -126
  169. package/src/components/ModalButtons/DrawerButton.tsx +0 -115
  170. package/src/components/ModalButtons/index.tsx +0 -4
  171. package/src/components/NoDataIllustration.tsx +0 -32
  172. package/src/components/PageContent.tsx +0 -12
  173. package/src/components/PageHeader.tsx +0 -55
  174. package/src/components/PageNotFound.tsx +0 -26
  175. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +0 -40
  176. package/src/components/PopupConfirm/PopupConfirm.tsx +0 -67
  177. package/src/components/PopupConfirm/animation.gif +0 -0
  178. package/src/components/PopupConfirm/index.tsx +0 -1
  179. package/src/components/PopupConfirm/useConfirm.ts +0 -47
  180. package/src/components/ResetPassword.tsx +0 -107
  181. package/src/components/Row.tsx +0 -24
  182. package/src/components/Spinner.tsx +0 -18
  183. package/src/components/StepsHeader/StepsHeader.tsx +0 -115
  184. package/src/components/StepsHeader/index.tsx +0 -1
  185. package/src/components/StyledTableContainer.tsx +0 -33
  186. package/src/components/SwitchButton.tsx +0 -41
  187. package/src/components/Table.tsx +0 -42
  188. package/src/components/Tables/BasicTable/Table.tsx +0 -198
  189. package/src/components/Tables/BasicTable/TableFooter.tsx +0 -86
  190. package/src/components/Tables/BasicTable/index.tsx +0 -1
  191. package/src/components/Tables/ReactTable/BatchActionsHeader.tsx +0 -58
  192. package/src/components/Tables/ReactTable/ReactTable.tsx +0 -295
  193. package/src/components/Tables/ReactTable/RenderTableBody.tsx +0 -49
  194. package/src/components/Tables/ReactTable/index.tsx +0 -1
  195. package/src/components/Tables/ReactTable/react-table-config.d.ts +0 -128
  196. package/src/components/Tables/common/NoRecordsFound.tsx +0 -27
  197. package/src/components/Tables/common/TableStats.tsx +0 -22
  198. package/src/components/Tables/common/icons.tsx +0 -50
  199. package/src/components/Tables/common/no-data-illu.svg +0 -1
  200. package/src/components/Tables/common/styles.tsx +0 -170
  201. package/src/components/Tables/common/types.ts +0 -57
  202. package/src/components/Tabs/NavigationTabs.tsx +0 -80
  203. package/src/components/Tabs/Tabs.tsx +0 -53
  204. package/src/components/Tabs/TabsContainer.tsx +0 -53
  205. package/src/components/Tabs/index.tsx +0 -1
  206. package/src/components/Tabs/styles.tsx +0 -55
  207. package/src/components/ToastContainer/ToastContainer.tsx +0 -57
  208. package/src/components/ToastContainer/index.tsx +0 -1
  209. package/src/components/UploadButton/UploadButton.tsx +0 -126
  210. package/src/components/UploadButton/index.tsx +0 -1
  211. package/src/components/UploadButton/types.ts +0 -19
  212. package/src/components/UploadDocument.tsx +0 -108
  213. package/src/components/UploadFileDialog/AnimatedUploadFile.gif +0 -0
  214. package/src/components/UploadFileDialog/UploadFileDialog.tsx +0 -238
  215. package/src/components/UploadFileDialog/index.tsx +0 -1
  216. package/src/components/index.ts +0 -106
  217. package/src/config/axios.ts +0 -73
  218. package/src/config/axiosEvaluator.ts +0 -53
  219. package/src/config/axiosXTenant.ts +0 -57
  220. package/src/constants/UIConstants.ts +0 -97
  221. package/src/constants/formValidations.ts +0 -6
  222. package/src/constants/index.ts +0 -5
  223. package/src/constants/isDevelopment.ts +0 -4
  224. package/src/constants/permissions.ts +0 -67
  225. package/src/constants/validateMessages.ts +0 -12
  226. package/src/contexts/LoginFormProvider.tsx +0 -44
  227. package/src/contexts/Providers.tsx +0 -50
  228. package/src/contexts/PublicProviders.tsx +0 -30
  229. package/src/contexts/QueryClientProvider.tsx +0 -22
  230. package/src/hooks/index.ts +0 -4
  231. package/src/hooks/useAuth.ts +0 -96
  232. package/src/hooks/useFetch.ts +0 -53
  233. package/src/hooks/useFilters.ts +0 -83
  234. package/src/hooks/useRouter.ts +0 -31
  235. package/src/layouts/Components/DashBoardMenu.tsx +0 -232
  236. package/src/layouts/Components/icons/index.tsx +0 -403
  237. package/src/layouts/Components/styles.tsx +0 -74
  238. package/src/layouts/ComponentsLayout.tsx +0 -3
  239. package/src/permissions/PageWithPermission.tsx +0 -18
  240. package/src/permissions/PermissionDeniedPage.tsx +0 -16
  241. package/src/permissions/ValidateAccess.tsx +0 -18
  242. package/src/permissions/index.ts +0 -2
  243. package/src/react-app-env.d.ts +0 -1
  244. package/src/shared-state/AssetsStore.ts +0 -15
  245. package/src/shared-state/PermissionsStore.ts +0 -384
  246. package/src/shared-state/UserStore.ts +0 -13
  247. package/src/shared-state/index.ts +0 -4
  248. package/src/theme/App.less +0 -3
  249. package/src/theme/MuiThemeProvider.tsx +0 -18
  250. package/src/theme/customCssBaseline.ts +0 -135
  251. package/src/theme/index.css +0 -28
  252. package/src/theme/muiTheme.ts +0 -595
  253. package/src/theme/theme.d.ts +0 -75
  254. package/src/utils/adminAxios.ts +0 -15
  255. package/src/utils/alphabet.ts +0 -23
  256. package/src/utils/arrayPadEnd.ts +0 -3
  257. package/src/utils/formatCurrency.ts +0 -9
  258. package/src/utils/getUrlParams.ts +0 -5
  259. package/src/utils/index.ts +0 -7
  260. package/src/utils/logout.ts +0 -25
  261. package/src/utils/ordinalSuffixOf.ts +0 -14
  262. package/src/utils/romanize.ts +0 -40
  263. package/src/utils/withRouteWrapper.tsx +0 -25
  264. package/src/utils/withSuspense.tsx +0 -6
  265. package/styled-components.tsx +0 -60
  266. package/tsconfig.json +0 -21
@@ -1,295 +0,0 @@
1
- import { ExpandMore } from '@mui/icons-material'
2
- import {
3
- Box,
4
- Checkbox,
5
- IconButton,
6
- ListItemIcon,
7
- MenuItem,
8
- Table,
9
- TableCell,
10
- TableHead,
11
- TableRow,
12
- Typography,
13
- } from '@mui/material'
14
- import { useEffect, useMemo, useState } from 'react'
15
- import { usePagination, useRowSelect, useTable } from 'react-table'
16
- import BatchActionsHeader from './BatchActionsHeader'
17
- import { SortAscIcon, SortDescIcon, SortIcon } from '../common/icons'
18
- import { RenderTableBody } from './RenderTableBody'
19
- import {
20
- StyledLimitBox,
21
- StyledLimitMenu,
22
- StyledPagination,
23
- StyledTableFooter,
24
- } from '../common/styles'
25
- import { ColumnProps, Sort, TableProps } from '../common/types'
26
- import TableStats from '../common/TableStats'
27
-
28
- type ReactTableCell = {
29
- Header: any
30
- accessor: any
31
- Cell?: any
32
- sort?: boolean
33
- } & ColumnProps
34
-
35
- const selectColumn = {
36
- id: 'selection',
37
- Header: ({ getToggleAllPageRowsSelectedProps }) => (
38
- <Checkbox
39
- onClick={(e) => {
40
- e.stopPropagation()
41
- }}
42
- {...getToggleAllPageRowsSelectedProps()}
43
- />
44
- ),
45
- Cell: ({ row }) => (
46
- <Checkbox
47
- onClick={(e) => {
48
- e.stopPropagation()
49
- }}
50
- {...row.getToggleRowSelectedProps()}
51
- />
52
- ),
53
- }
54
-
55
- const getTableCol = (headerItem: ColumnProps) => {
56
- let col: ReactTableCell = {
57
- Header: headerItem?.title,
58
- accessor: headerItem?.dataIndex,
59
- ...headerItem,
60
- }
61
-
62
- if (headerItem?.render) {
63
- return {
64
- ...col,
65
- Cell: ({ row }) =>
66
- headerItem?.render(
67
- row?.original[headerItem?.dataIndex],
68
- row?.original,
69
- row?.index,
70
- ),
71
- }
72
- }
73
- return col
74
- }
75
-
76
- export default function ReactTable({
77
- columns,
78
- dataSource,
79
- loading,
80
- pagination,
81
- refetching,
82
- onSort,
83
- select = {
84
- enable: false,
85
- },
86
- onRowClick,
87
- }: TableProps) {
88
- const [sort, setSort] = useState<Sort>({})
89
-
90
- const headers = useMemo(() => {
91
- if (!columns) return []
92
-
93
- return columns?.map((item) => getTableCol(item))
94
- }, [columns])
95
-
96
- const tableData = useMemo(() => {
97
- if (!dataSource) return []
98
- return [...dataSource]
99
- }, [dataSource])
100
-
101
- const {
102
- getTableProps,
103
- getTableBodyProps,
104
- headerGroups,
105
- rows,
106
- prepareRow,
107
- pageCount,
108
- gotoPage,
109
- setPageSize,
110
- toggleAllRowsSelected,
111
- state: { pageIndex, pageSize, selectedRowIds },
112
- } = useTable(
113
- {
114
- columns: headers || [],
115
- data: tableData || [],
116
- stateReducer: (newState, action) => {
117
- switch (action.type) {
118
- case 'toggleAllRowsSelected':
119
- return { ...newState, selectedRowIds: {} }
120
- default:
121
- return newState
122
- }
123
- },
124
- initialState: {
125
- pageIndex: pagination?.page ?? 0,
126
- pageSize: pagination?.limit ?? 10,
127
- },
128
- manualPagination: true,
129
- autoResetSelectedRows: false,
130
- pageCount: pagination?.totalCount ?? dataSource?.length,
131
- getRowId: select?.enable ? (row) => row?.id : undefined,
132
- },
133
- // useSortBy,
134
- usePagination,
135
- useRowSelect,
136
- (hooks) => {
137
- if (!select.enable) return
138
- hooks.visibleColumns.push((columns) => [selectColumn, ...columns])
139
- },
140
- )
141
-
142
- const handleSortClick = (sortBykey) => {
143
- setSort((prev) => {
144
- if (prev[sortBykey]) {
145
- if (prev[sortBykey] === 'desc') return { ...prev, [sortBykey]: 'asc' }
146
- if (prev[sortBykey] === 'asc') {
147
- delete prev[sortBykey]
148
- return { ...prev }
149
- }
150
- } else {
151
- return {
152
- ...prev,
153
- [sortBykey]: 'desc',
154
- }
155
- }
156
- })
157
- }
158
- useEffect(() => {
159
- if (!onSort) return
160
-
161
- onSort({
162
- sortBy: Object.keys(sort).join(','),
163
- sortOrder: Object.keys(sort)
164
- .map((item) => sort[item])
165
- .join(','),
166
- })
167
- }, [sort])
168
-
169
- const handlePagination = (e, value) => {
170
- gotoPage(value - 1)
171
- }
172
-
173
- useEffect(() => {
174
- if (!pagination) return
175
- pagination.onChange(pageIndex * pageSize)
176
- }, [pageIndex])
177
-
178
- useEffect(() => {
179
- if (!pagination) return
180
- pagination.onChangeLimit(pageSize)
181
- pagination.onChange(0)
182
- }, [pageSize])
183
-
184
- const clearSelection = () => {
185
- toggleAllRowsSelected(false)
186
- }
187
-
188
- return (
189
- <>
190
- <BatchActionsHeader
191
- actions={select?.actions || []}
192
- selectedRowIds={selectedRowIds}
193
- clearSelection={clearSelection}
194
- />
195
- <Table sx={{ position: 'relative' }} {...getTableProps()}>
196
- <TableHead>
197
- {headerGroups.map((headerGroup, index) => (
198
- <TableRow key={index} {...headerGroup.getHeaderGroupProps()}>
199
- {headerGroup.headers.map((column: any, index) => (
200
- <TableCell key={index} {...column.getHeaderProps()}>
201
- {column.render('Header')}
202
- {column.sort && (
203
- <IconButton onClick={() => handleSortClick(column.id)}>
204
- <ListItemIcon>
205
- {sort[column.id] === 'asc' ? (
206
- <SortAscIcon />
207
- ) : sort[column.id] === 'desc' ? (
208
- <SortDescIcon />
209
- ) : (
210
- <SortIcon />
211
- )}
212
- </ListItemIcon>
213
- </IconButton>
214
- )}
215
- </TableCell>
216
- ))}
217
- </TableRow>
218
- ))}
219
- </TableHead>
220
- <RenderTableBody
221
- onRowClick={onRowClick}
222
- colLength={columns?.length}
223
- loading={loading || refetching}
224
- getTableBodyProps={getTableBodyProps}
225
- rows={rows}
226
- prepareRow={prepareRow}
227
- />
228
- </Table>
229
- {pagination && dataSource && !loading && (
230
- <StyledTableFooter>
231
- <TableStats
232
- limit={pageSize}
233
- page={pageIndex + 1}
234
- totalCount={pageCount}
235
- />
236
- <StyledPagination
237
- variant="outlined"
238
- shape="rounded"
239
- onChange={handlePagination}
240
- count={Math.ceil(pageCount / pageSize)}
241
- page={pageIndex + 1}
242
- />
243
- <Limit pageSize={pageSize} setPageSize={setPageSize} />
244
- </StyledTableFooter>
245
- )}
246
- </>
247
- )
248
- }
249
-
250
- const Limit = ({ pageSize, setPageSize }) => {
251
- const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
252
- const open = Boolean(anchorEl)
253
-
254
- const handleClick = (event) => {
255
- setAnchorEl(event.currentTarget)
256
- }
257
-
258
- const handleClose = () => {
259
- setAnchorEl(null)
260
- }
261
- const menuItems = [
262
- { label: '10', value: 10 },
263
- { label: '20', value: 20 },
264
- { label: '50', value: 50 },
265
- { label: '100', value: 100 },
266
- ]
267
-
268
- return (
269
- <StyledLimitBox open={open}>
270
- <Box onClick={handleClick}>
271
- <Typography>{`${pageSize} / Page`}</Typography>
272
- <ExpandMore />
273
- </Box>
274
- <StyledLimitMenu
275
- id="basic-menu"
276
- anchorEl={anchorEl}
277
- open={open}
278
- onClose={handleClose}
279
- >
280
- {menuItems?.map((item, index) => (
281
- <MenuItem
282
- onClick={() => {
283
- setPageSize(item?.value)
284
- handleClose()
285
- }}
286
- value={item?.value}
287
- key={index}
288
- >
289
- {item?.label}
290
- </MenuItem>
291
- ))}
292
- </StyledLimitMenu>
293
- </StyledLimitBox>
294
- )
295
- }
@@ -1,49 +0,0 @@
1
- import { Box, TableBody, TableCell, Typography } from '@mui/material'
2
- import Spinner from '../../Spinner'
3
- import { StyledTableRow } from '../common/styles'
4
- import NoRecordsFound from '../common/NoRecordsFound'
5
-
6
- export const RenderTableBody = ({
7
- getTableBodyProps,
8
- prepareRow,
9
- rows,
10
- loading,
11
- colLength,
12
- onRowClick,
13
- }) => {
14
- if (loading)
15
- return (
16
- <TableCell colSpan={colLength}>
17
- <Spinner />
18
- </TableCell>
19
- )
20
-
21
- if (!loading && rows?.length < 1)
22
- return <NoRecordsFound colLength={colLength} />
23
-
24
- return (
25
- <TableBody {...getTableBodyProps()}>
26
- {rows?.map((row, index) => {
27
- prepareRow(row)
28
- return (
29
- <StyledTableRow
30
- onClick={() => {
31
- if (onRowClick) onRowClick(row)
32
- }}
33
- key={index}
34
- {...row.getRowProps()}
35
- isSelected={row?.isSelected}
36
- >
37
- {row.cells?.map((cell, index) => {
38
- return (
39
- <TableCell key={index} {...cell.getCellProps()}>
40
- {cell?.render('Cell')}
41
- </TableCell>
42
- )
43
- })}
44
- </StyledTableRow>
45
- )
46
- })}
47
- </TableBody>
48
- )
49
- }
@@ -1 +0,0 @@
1
- export { default } from './ReactTable'
@@ -1,128 +0,0 @@
1
- import {
2
- UseColumnOrderInstanceProps,
3
- UseColumnOrderState,
4
- UseExpandedHooks,
5
- UseExpandedInstanceProps,
6
- UseExpandedOptions,
7
- UseExpandedRowProps,
8
- UseExpandedState,
9
- UseFiltersColumnOptions,
10
- UseFiltersColumnProps,
11
- UseFiltersInstanceProps,
12
- UseFiltersOptions,
13
- UseFiltersState,
14
- UseGlobalFiltersColumnOptions,
15
- UseGlobalFiltersInstanceProps,
16
- UseGlobalFiltersOptions,
17
- UseGlobalFiltersState,
18
- UseGroupByCellProps,
19
- UseGroupByColumnOptions,
20
- UseGroupByColumnProps,
21
- UseGroupByHooks,
22
- UseGroupByInstanceProps,
23
- UseGroupByOptions,
24
- UseGroupByRowProps,
25
- UseGroupByState,
26
- UsePaginationInstanceProps,
27
- UsePaginationOptions,
28
- UsePaginationState,
29
- UseResizeColumnsColumnOptions,
30
- UseResizeColumnsColumnProps,
31
- UseResizeColumnsOptions,
32
- UseResizeColumnsState,
33
- UseRowSelectHooks,
34
- UseRowSelectInstanceProps,
35
- UseRowSelectOptions,
36
- UseRowSelectRowProps,
37
- UseRowSelectState,
38
- UseRowStateCellProps,
39
- UseRowStateInstanceProps,
40
- UseRowStateOptions,
41
- UseRowStateRowProps,
42
- UseRowStateState,
43
- UseSortByColumnOptions,
44
- UseSortByColumnProps,
45
- UseSortByHooks,
46
- UseSortByInstanceProps,
47
- UseSortByOptions,
48
- UseSortByState,
49
- } from 'react-table'
50
-
51
- declare module 'react-table' {
52
- // take this file as-is, or comment out the sections that don't apply to your plugin configuration
53
-
54
- export interface TableOptions<D extends Record<string, unknown>>
55
- extends UseExpandedOptions<D>,
56
- UseFiltersOptions<D>,
57
- UseGlobalFiltersOptions<D>,
58
- UseGroupByOptions<D>,
59
- UsePaginationOptions<D>,
60
- UseResizeColumnsOptions<D>,
61
- UseRowSelectOptions<D>,
62
- UseRowStateOptions<D>,
63
- UseSortByOptions<D>,
64
- // note that having Record here allows you to add anything to the options, this matches the spirit of the
65
- // underlying js library, but might be cleaner if it's replaced by a more specific type that matches your
66
- // feature set, this is a safe default.
67
- Record<string, any> {}
68
-
69
- export interface Hooks<
70
- D extends Record<string, unknown> = Record<string, unknown>,
71
- > extends UseExpandedHooks<D>,
72
- UseGroupByHooks<D>,
73
- UseRowSelectHooks<D>,
74
- UseSortByHooks<D> {}
75
-
76
- export interface TableInstance<
77
- D extends Record<string, unknown> = Record<string, unknown>,
78
- > extends UseColumnOrderInstanceProps<D>,
79
- UseExpandedInstanceProps<D>,
80
- UseFiltersInstanceProps<D>,
81
- UseGlobalFiltersInstanceProps<D>,
82
- UseGroupByInstanceProps<D>,
83
- UsePaginationInstanceProps<D>,
84
- UseRowSelectInstanceProps<D>,
85
- UseRowStateInstanceProps<D>,
86
- UseSortByInstanceProps<D> {}
87
-
88
- export interface TableState<
89
- D extends Record<string, unknown> = Record<string, unknown>,
90
- > extends UseColumnOrderState<D>,
91
- UseExpandedState<D>,
92
- UseFiltersState<D>,
93
- UseGlobalFiltersState<D>,
94
- UseGroupByState<D>,
95
- UsePaginationState<D>,
96
- UseResizeColumnsState<D>,
97
- UseRowSelectState<D>,
98
- UseRowStateState<D>,
99
- UseSortByState<D> {}
100
-
101
- export interface ColumnInterface<
102
- D extends Record<string, unknown> = Record<string, unknown>,
103
- > extends UseFiltersColumnOptions<D>,
104
- UseGlobalFiltersColumnOptions<D>,
105
- UseGroupByColumnOptions<D>,
106
- UseResizeColumnsColumnOptions<D>,
107
- UseSortByColumnOptions<D> {}
108
-
109
- export interface ColumnInstance<
110
- D extends Record<string, unknown> = Record<string, unknown>,
111
- > extends UseFiltersColumnProps<D>,
112
- UseGroupByColumnProps<D>,
113
- UseResizeColumnsColumnProps<D>,
114
- UseSortByColumnProps<D> {}
115
-
116
- export interface Cell<
117
- D extends Record<string, unknown> = Record<string, unknown>,
118
- V = any,
119
- > extends UseGroupByCellProps<D>,
120
- UseRowStateCellProps<D> {}
121
-
122
- export interface Row<
123
- D extends Record<string, unknown> = Record<string, unknown>,
124
- > extends UseExpandedRowProps<D>,
125
- UseGroupByRowProps<D>,
126
- UseRowSelectRowProps<D>,
127
- UseRowStateRowProps<D> {}
128
- }
@@ -1,27 +0,0 @@
1
- import { Box, TableCell, Typography } from '@mui/material'
2
- import noDataImage from './no-data-illu.svg'
3
-
4
- const NoRecordsFound = ({ colLength }) => {
5
- return (
6
- <TableCell colSpan={colLength}>
7
- <Box
8
- sx={{
9
- display: 'flex',
10
- flexDirection: 'column',
11
- alignItems: 'center',
12
- justifyContent: 'center',
13
- }}
14
- >
15
- <img
16
- style={{ width: '200px', height: 'auto', textAlign: 'center' }}
17
- src={noDataImage}
18
- />
19
- <Typography variant="h6" align="center">
20
- No Records Found
21
- </Typography>
22
- </Box>
23
- </TableCell>
24
- )
25
- }
26
-
27
- export default NoRecordsFound
@@ -1,22 +0,0 @@
1
- import { Box, Typography } from '@mui/material'
2
-
3
- const TableStats = ({
4
- limit,
5
- totalCount,
6
- page,
7
- }: {
8
- limit: number
9
- page: number
10
- totalCount: number
11
- }) => {
12
- const pageStart = (page - 1) * limit + 1
13
- const pageEnd = page * limit <= totalCount ? page * limit : totalCount
14
-
15
- return (
16
- <Box>
17
- <Typography variant="subtitle1">{`${pageStart} - ${pageEnd} of ${totalCount}`}</Typography>
18
- </Box>
19
- )
20
- }
21
-
22
- export default TableStats
@@ -1,50 +0,0 @@
1
- export const SortIcon = () => {
2
- return (
3
- <>
4
- <svg
5
- xmlns="http://www.w3.org/2000/svg"
6
- id="Layer_1"
7
- data-name="Layer 1"
8
- viewBox="0 0 24 24"
9
- width="16.416"
10
- height="16.416"
11
- >
12
- <path d="M11.293,17.707l-3.293,3.293V1c0-.553-.447-1-1-1s-1,.447-1,1V21l-3.293-3.293c-.391-.391-1.023-.391-1.414,0s-.391,1.023,0,1.414l4.293,4.293c.39,.39,.902,.585,1.414,.585s1.024-.195,1.414-.585l4.293-4.293c.391-.391,.391-1.023,0-1.414s-1.023-.391-1.414,0ZM22.707,6.293c.391-.391,.391-1.023,0-1.414L18.414,.586C18.024,.196,17.512,0,17,0s-1.024,.195-1.414,.585l-4.293,4.293c-.391,.391-.391,1.023,0,1.414s1.023,.391,1.414,0l3.293-3.293V23c0,.553,.447,1,1,1s1-.447,1-1V3l3.293,3.293c.391,.391,1.023,.391,1.414,0Z" />
13
- </svg>
14
- </>
15
- )
16
- }
17
-
18
- export const SortAscIcon = () => {
19
- return (
20
- <>
21
- <svg
22
- xmlns="http://www.w3.org/2000/svg"
23
- id="Layer_1"
24
- data-name="Layer 1"
25
- viewBox="0 0 24 24"
26
- width="16.416"
27
- height="16.416"
28
- >
29
- <path d="M24,8c0,.553-.447,1-1,1H10c-.552,0-1-.447-1-1s.448-1,1-1h13c.553,0,1,.447,1,1Zm-4,4H10c-.552,0-1,.447-1,1s.448,1,1,1h10c.553,0,1-.447,1-1s-.447-1-1-1Zm-3,5h-7c-.552,0-1,.447-1,1s.448,1,1,1h7c.553,0,1-.447,1-1s-.447-1-1-1Zm-3,5h-4c-.552,0-1,.447-1,1s.448,1,1,1h4c.552,0,1-.447,1-1s-.448-1-1-1ZM9.121,3.293L6.413,.584c-.779-.777-2.047-.778-2.828,0L.878,3.293c-.391,.391-.391,1.023,0,1.414s1.024,.391,1.414,0l1.708-1.708V23c0,.553,.448,1,1,1s1-.447,1-1V2.999l1.707,1.708c.195,.195,.451,.293,.707,.293s.512-.098,.707-.293c.391-.391,.391-1.023,0-1.414Z" />
30
- </svg>
31
- </>
32
- )
33
- }
34
-
35
- export const SortDescIcon = () => {
36
- return (
37
- <>
38
- <svg
39
- xmlns="http://www.w3.org/2000/svg"
40
- id="Layer_1"
41
- data-name="Layer 1"
42
- viewBox="0 0 24 24"
43
- width="16.416"
44
- height="16.416"
45
- >
46
- <path d="M24,1c0,.553-.448,1-1,1H10c-.552,0-1-.447-1-1s.448-1,1-1h13c.552,0,1,.447,1,1Zm-4,4H10c-.552,0-1,.447-1,1s.448,1,1,1h10c.552,0,1-.447,1-1s-.448-1-1-1Zm-3,5h-7c-.552,0-1,.447-1,1s.448,1,1,1h7c.552,0,1-.447,1-1s-.448-1-1-1Zm-3,5h-4c-.552,0-1,.447-1,1s.448,1,1,1h4c.552,0,1-.447,1-1s-.448-1-1-1Zm-6.293,4.293l-1.707,1.707V1c0-.553-.448-1-1-1s-1,.447-1,1V21l-1.708-1.708c-.391-.391-1.023-.391-1.414,0s-.391,1.023,0,1.414l2.707,2.707c.39,.39,.902,.585,1.415,.585s1.024-.195,1.414-.585l2.707-2.707c.391-.391,.391-1.023,0-1.414s-1.023-.391-1.414,0Z" />
47
- </svg>
48
- </>
49
- )
50
- }