@xyo-network/react-payload-table 2.40.0 → 2.40.2
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/dist/cjs/components/Table/PayloadTableColumnConfig.d.ts +6 -6
- package/dist/cjs/components/Table/PayloadTableColumnConfig.d.ts.map +1 -1
- package/dist/cjs/components/Table/Table.d.ts +7 -3
- package/dist/cjs/components/Table/Table.d.ts.map +1 -1
- package/dist/cjs/components/Table/Table.js +10 -33
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Table/TableBody.d.ts +4 -0
- package/dist/cjs/components/Table/TableBody.d.ts.map +1 -0
- package/dist/cjs/components/Table/TableBody.js +22 -0
- package/dist/cjs/components/Table/TableBody.js.map +1 -0
- package/dist/cjs/components/Table/TableFooter.d.ts +4 -0
- package/dist/cjs/components/Table/TableFooter.d.ts.map +1 -0
- package/dist/cjs/components/Table/TableFooter.js +22 -0
- package/dist/cjs/components/Table/TableFooter.js.map +1 -0
- package/dist/cjs/components/Table/TableHead.d.ts +4 -0
- package/dist/cjs/components/Table/TableHead.d.ts.map +1 -0
- package/dist/cjs/components/Table/TableHead.js +20 -0
- package/dist/cjs/components/Table/TableHead.js.map +1 -0
- package/dist/cjs/components/Table/TableRowNoData.d.ts +7 -0
- package/dist/cjs/components/Table/TableRowNoData.d.ts.map +1 -0
- package/dist/cjs/components/Table/TableRowNoData.js +12 -0
- package/dist/cjs/components/Table/TableRowNoData.js.map +1 -0
- package/dist/cjs/components/Table/index.d.ts +1 -0
- package/dist/cjs/components/Table/index.d.ts.map +1 -1
- package/dist/cjs/components/Table/index.js +1 -0
- package/dist/cjs/components/Table/index.js.map +1 -1
- package/dist/cjs/components/Table/types/PayloadTableBodyProps.d.ts +15 -0
- package/dist/cjs/components/Table/types/PayloadTableBodyProps.d.ts.map +1 -0
- package/dist/cjs/components/Table/types/PayloadTableBodyProps.js +3 -0
- package/dist/cjs/components/Table/types/PayloadTableBodyProps.js.map +1 -0
- package/dist/cjs/components/Table/types/PayloadTableFooterProps.d.ts +13 -0
- package/dist/cjs/components/Table/types/PayloadTableFooterProps.d.ts.map +1 -0
- package/dist/cjs/components/Table/types/PayloadTableFooterProps.js +3 -0
- package/dist/cjs/components/Table/types/PayloadTableFooterProps.js.map +1 -0
- package/dist/cjs/components/Table/types/PayloadTableHeadProps.d.ts +6 -0
- package/dist/cjs/components/Table/types/PayloadTableHeadProps.d.ts.map +1 -0
- package/dist/cjs/components/Table/types/PayloadTableHeadProps.js +3 -0
- package/dist/cjs/components/Table/types/PayloadTableHeadProps.js.map +1 -0
- package/dist/cjs/components/Table/types/index.d.ts +3 -0
- package/dist/cjs/components/Table/types/index.d.ts.map +1 -1
- package/dist/cjs/components/Table/types/index.js +3 -0
- package/dist/cjs/components/Table/types/index.js.map +1 -1
- package/dist/docs.json +1276 -197
- package/dist/esm/components/Table/PayloadTableColumnConfig.d.ts +6 -6
- package/dist/esm/components/Table/PayloadTableColumnConfig.d.ts.map +1 -1
- package/dist/esm/components/Table/Table.d.ts +7 -3
- package/dist/esm/components/Table/Table.d.ts.map +1 -1
- package/dist/esm/components/Table/Table.js +12 -34
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableBody.d.ts +4 -0
- package/dist/esm/components/Table/TableBody.d.ts.map +1 -0
- package/dist/esm/components/Table/TableBody.js +16 -0
- package/dist/esm/components/Table/TableBody.js.map +1 -0
- package/dist/esm/components/Table/TableFooter.d.ts +4 -0
- package/dist/esm/components/Table/TableFooter.d.ts.map +1 -0
- package/dist/esm/components/Table/TableFooter.js +18 -0
- package/dist/esm/components/Table/TableFooter.js.map +1 -0
- package/dist/esm/components/Table/TableHead.d.ts +4 -0
- package/dist/esm/components/Table/TableHead.d.ts.map +1 -0
- package/dist/esm/components/Table/TableHead.js +13 -0
- package/dist/esm/components/Table/TableHead.js.map +1 -0
- package/dist/esm/components/Table/TableRowNoData.d.ts +7 -0
- package/dist/esm/components/Table/TableRowNoData.d.ts.map +1 -0
- package/dist/esm/components/Table/TableRowNoData.js +6 -0
- package/dist/esm/components/Table/TableRowNoData.js.map +1 -0
- package/dist/esm/components/Table/index.d.ts +1 -0
- package/dist/esm/components/Table/index.d.ts.map +1 -1
- package/dist/esm/components/Table/index.js +1 -0
- package/dist/esm/components/Table/index.js.map +1 -1
- package/dist/esm/components/Table/types/PayloadTableBodyProps.d.ts +15 -0
- package/dist/esm/components/Table/types/PayloadTableBodyProps.d.ts.map +1 -0
- package/dist/esm/components/Table/types/PayloadTableBodyProps.js +2 -0
- package/dist/esm/components/Table/types/PayloadTableBodyProps.js.map +1 -0
- package/dist/esm/components/Table/types/PayloadTableFooterProps.d.ts +13 -0
- package/dist/esm/components/Table/types/PayloadTableFooterProps.d.ts.map +1 -0
- package/dist/esm/components/Table/types/PayloadTableFooterProps.js +2 -0
- package/dist/esm/components/Table/types/PayloadTableFooterProps.js.map +1 -0
- package/dist/esm/components/Table/types/PayloadTableHeadProps.d.ts +6 -0
- package/dist/esm/components/Table/types/PayloadTableHeadProps.d.ts.map +1 -0
- package/dist/esm/components/Table/types/PayloadTableHeadProps.js +2 -0
- package/dist/esm/components/Table/types/PayloadTableHeadProps.js.map +1 -0
- package/dist/esm/components/Table/types/index.d.ts +3 -0
- package/dist/esm/components/Table/types/index.d.ts.map +1 -1
- package/dist/esm/components/Table/types/index.js +3 -0
- package/dist/esm/components/Table/types/index.js.map +1 -1
- package/package.json +7 -7
- package/src/components/Table/PayloadTableColumnConfig.ts +6 -6
- package/src/components/Table/Table.stories.tsx +24 -9
- package/src/components/Table/Table.tsx +43 -86
- package/src/components/Table/TableBody.tsx +54 -0
- package/src/components/Table/TableFooter.tsx +44 -0
- package/src/components/Table/TableHead.tsx +26 -0
- package/src/components/Table/TableRowNoData.tsx +17 -0
- package/src/components/Table/index.ts +1 -0
- package/src/components/Table/types/PayloadTableBodyProps.ts +15 -0
- package/src/components/Table/types/PayloadTableFooterProps.ts +13 -0
- package/src/components/Table/types/PayloadTableHeadProps.ts +7 -0
- package/src/components/Table/types/index.ts +3 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { XyoThrownErrorBoundary } from '@xyo-network/react-error'
|
|
5
|
-
import { TableEx, TableExProps, TableFooterEx } from '@xyo-network/react-table'
|
|
6
|
-
import { forwardRef, useEffect, useState } from 'react'
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
2
|
+
import { TableEx, TableExProps } from '@xyo-network/react-table'
|
|
3
|
+
import { ComponentType, forwardRef, useEffect, useMemo, useState } from 'react'
|
|
7
4
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
5
|
+
import { PayloadTableColumnConfig } from './PayloadTableColumnConfig'
|
|
6
|
+
import { PayloadTableBody } from './TableBody'
|
|
7
|
+
import { PayloadTableFooter } from './TableFooter'
|
|
8
|
+
import { PayloadTableHead } from './TableHead'
|
|
9
|
+
import { TableRowNoData } from './TableRowNoData'
|
|
10
|
+
import { PayloadTableBodyProps, PayloadTableFooterProps, PayloadTableHeadProps } from './types'
|
|
11
11
|
|
|
12
12
|
export interface PayloadTableProps extends TableExProps {
|
|
13
13
|
exploreDomain?: string
|
|
@@ -17,6 +17,9 @@ export interface PayloadTableProps extends TableExProps {
|
|
|
17
17
|
payloads?: XyoPayload[] | null
|
|
18
18
|
loading?: boolean
|
|
19
19
|
columns?: PayloadTableColumnConfig
|
|
20
|
+
PayloadTableHeadComponent?: ComponentType<PayloadTableHeadProps>
|
|
21
|
+
PayloadTableBodyComponent?: ComponentType<PayloadTableBodyProps>
|
|
22
|
+
PayloadTableFooterComponent?: ComponentType<PayloadTableFooterProps>
|
|
20
23
|
/** External trigger to fetch more payloads */
|
|
21
24
|
fetchMorePayloads?: () => void
|
|
22
25
|
/** set number of schema parts to display starting from the end */
|
|
@@ -34,8 +37,10 @@ export const PayloadTableWithRef = forwardRef<HTMLTableElement, PayloadTableProp
|
|
|
34
37
|
fetchMorePayloads,
|
|
35
38
|
rowsPerPage: rowsPerPageProp = 25,
|
|
36
39
|
payloads,
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
columns,
|
|
41
|
+
PayloadTableHeadComponent = PayloadTableHead,
|
|
42
|
+
PayloadTableBodyComponent = PayloadTableBody,
|
|
43
|
+
PayloadTableFooterComponent = PayloadTableFooter,
|
|
39
44
|
maxSchemaDepth,
|
|
40
45
|
count = 0,
|
|
41
46
|
loading = false,
|
|
@@ -44,7 +49,6 @@ export const PayloadTableWithRef = forwardRef<HTMLTableElement, PayloadTableProp
|
|
|
44
49
|
},
|
|
45
50
|
ref,
|
|
46
51
|
) => {
|
|
47
|
-
const breakPoint = useBreakpoint()
|
|
48
52
|
const [page, setPage] = useState(0)
|
|
49
53
|
const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp)
|
|
50
54
|
const [visiblePayloads, setVisiblePayloads] = useState<XyoPayload[]>([])
|
|
@@ -82,7 +86,7 @@ export const PayloadTableWithRef = forwardRef<HTMLTableElement, PayloadTableProp
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
const handleChangePage = (
|
|
89
|
+
const handleChangePage = (_event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {
|
|
86
90
|
handleAdditionalPayloads()
|
|
87
91
|
setPage(newPage)
|
|
88
92
|
}
|
|
@@ -92,84 +96,37 @@ export const PayloadTableWithRef = forwardRef<HTMLTableElement, PayloadTableProp
|
|
|
92
96
|
setPage(0)
|
|
93
97
|
}
|
|
94
98
|
|
|
95
|
-
|
|
99
|
+
const noResults = useMemo(() => {
|
|
100
|
+
return !loading && (!payloads || payloads.length === 0)
|
|
101
|
+
}, [loading, payloads])
|
|
102
|
+
|
|
103
|
+
return (
|
|
96
104
|
<TableEx variant={variant} ref={ref} {...props}>
|
|
97
|
-
<
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
<Alert severity="error">
|
|
118
|
-
Error Loading Payload: <Typography fontWeight="bold">{e.message}</Typography>
|
|
119
|
-
</Alert>
|
|
120
|
-
)}
|
|
121
|
-
>
|
|
122
|
-
<PayloadTableRow
|
|
123
|
-
maxSchemaDepth={maxSchemaDepth}
|
|
124
|
-
archive={archive}
|
|
125
|
-
onClick={
|
|
126
|
-
onRowClick
|
|
127
|
-
? () => {
|
|
128
|
-
onRowClick(payload)
|
|
129
|
-
}
|
|
130
|
-
: undefined
|
|
131
|
-
}
|
|
132
|
-
exploreDomain={exploreDomain}
|
|
133
|
-
payload={payload}
|
|
134
|
-
/>
|
|
135
|
-
</XyoThrownErrorBoundary>
|
|
136
|
-
)
|
|
137
|
-
})}
|
|
138
|
-
{children}
|
|
139
|
-
{emptyRows > 0 && Array(emptyRows).fill(<PayloadTableRow />)}
|
|
140
|
-
</TableBody>
|
|
141
|
-
<TableFooterEx variant={variant}>
|
|
142
|
-
<TableRow>
|
|
143
|
-
<StyledTablePagination
|
|
144
|
-
rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}
|
|
145
|
-
count={count ?? 0}
|
|
146
|
-
rowsPerPage={rowsPerPage}
|
|
147
|
-
page={page}
|
|
148
|
-
SelectProps={{
|
|
149
|
-
inputProps: {
|
|
150
|
-
'aria-label': 'rows per page',
|
|
151
|
-
},
|
|
152
|
-
native: true,
|
|
153
|
-
}}
|
|
154
|
-
onPageChange={handleChangePage}
|
|
155
|
-
onRowsPerPageChange={handleChangeRowsPerPage}
|
|
156
|
-
ActionsComponent={(props) => <TablePaginationActions enableNextPage={!!fetchMorePayloads} loading={loading} {...props} />}
|
|
157
|
-
/>
|
|
158
|
-
</TableRow>
|
|
159
|
-
</TableFooterEx>
|
|
105
|
+
<PayloadTableHeadComponent columns={columns} />
|
|
106
|
+
<PayloadTableBodyComponent
|
|
107
|
+
payloads={visiblePayloads}
|
|
108
|
+
exploreDomain={exploreDomain}
|
|
109
|
+
archive={archive}
|
|
110
|
+
maxSchemaDepth={maxSchemaDepth}
|
|
111
|
+
onRowClick={onRowClick}
|
|
112
|
+
emptyRows={emptyRows}
|
|
113
|
+
noResults={noResults}
|
|
114
|
+
NoResultRowComponent={TableRowNoData}
|
|
115
|
+
/>
|
|
116
|
+
<PayloadTableFooterComponent
|
|
117
|
+
count={count}
|
|
118
|
+
variant={variant}
|
|
119
|
+
rowsPerPage={rowsPerPage}
|
|
120
|
+
handleChangePage={handleChangePage}
|
|
121
|
+
handleChangeRowsPerPage={handleChangeRowsPerPage}
|
|
122
|
+
fetchMorePayloads={fetchMorePayloads}
|
|
123
|
+
loading={loading}
|
|
124
|
+
/>
|
|
160
125
|
</TableEx>
|
|
161
|
-
)
|
|
126
|
+
)
|
|
162
127
|
},
|
|
163
128
|
)
|
|
164
129
|
|
|
165
130
|
PayloadTableWithRef.displayName = 'PayloadTable'
|
|
166
131
|
|
|
167
132
|
export const PayloadTable = PayloadTableWithRef
|
|
168
|
-
|
|
169
|
-
const StyledTablePagination = styled(TablePagination)(({ theme }) => ({
|
|
170
|
-
'& > .MuiToolbar-root': {
|
|
171
|
-
paddingLeft: theme.spacing(1),
|
|
172
|
-
},
|
|
173
|
-
borderTop: '1px solid',
|
|
174
|
-
borderTopColor: theme.palette.divider,
|
|
175
|
-
}))
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Alert, TableBody, Typography } from '@mui/material'
|
|
2
|
+
import { PayloadWrapper } from '@xyo-network/payload'
|
|
3
|
+
import { XyoThrownErrorBoundary } from '@xyo-network/react-error'
|
|
4
|
+
|
|
5
|
+
import { PayloadTableRow } from './TableRow'
|
|
6
|
+
import { PayloadTableBodyProps } from './types'
|
|
7
|
+
|
|
8
|
+
export const PayloadTableBody: React.FC<PayloadTableBodyProps> = ({
|
|
9
|
+
children,
|
|
10
|
+
exploreDomain,
|
|
11
|
+
payloads,
|
|
12
|
+
archive,
|
|
13
|
+
maxSchemaDepth,
|
|
14
|
+
onRowClick,
|
|
15
|
+
emptyRows,
|
|
16
|
+
noResults,
|
|
17
|
+
NoResultRowComponent,
|
|
18
|
+
...props
|
|
19
|
+
}) => {
|
|
20
|
+
return (
|
|
21
|
+
<TableBody {...props}>
|
|
22
|
+
{noResults && NoResultRowComponent ? <NoResultRowComponent /> : null}
|
|
23
|
+
{payloads?.map((payload, index) => {
|
|
24
|
+
const wrapper = new PayloadWrapper(payload)
|
|
25
|
+
return (
|
|
26
|
+
<XyoThrownErrorBoundary
|
|
27
|
+
key={`${wrapper.hash}-${index}`}
|
|
28
|
+
errorComponent={(e: Error) => (
|
|
29
|
+
<Alert severity="error">
|
|
30
|
+
Error Loading Payload: <Typography fontWeight="bold">{e.message}</Typography>
|
|
31
|
+
</Alert>
|
|
32
|
+
)}
|
|
33
|
+
>
|
|
34
|
+
<PayloadTableRow
|
|
35
|
+
maxSchemaDepth={maxSchemaDepth}
|
|
36
|
+
archive={archive}
|
|
37
|
+
onClick={
|
|
38
|
+
onRowClick
|
|
39
|
+
? () => {
|
|
40
|
+
onRowClick(payload)
|
|
41
|
+
}
|
|
42
|
+
: undefined
|
|
43
|
+
}
|
|
44
|
+
exploreDomain={exploreDomain}
|
|
45
|
+
payload={payload}
|
|
46
|
+
/>
|
|
47
|
+
</XyoThrownErrorBoundary>
|
|
48
|
+
)
|
|
49
|
+
})}
|
|
50
|
+
{children}
|
|
51
|
+
{(emptyRows ?? 0) > 0 && Array(emptyRows).fill(<PayloadTableRow />)}
|
|
52
|
+
</TableBody>
|
|
53
|
+
)
|
|
54
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { styled, TablePagination, TableRow } from '@mui/material'
|
|
2
|
+
import { TableFooterEx } from '@xyo-network/react-table'
|
|
3
|
+
|
|
4
|
+
import { TablePaginationActions } from './TablePagination'
|
|
5
|
+
import { PayloadTableFooterProps } from './types'
|
|
6
|
+
|
|
7
|
+
export const PayloadTableFooter: React.FC<PayloadTableFooterProps> = ({
|
|
8
|
+
count,
|
|
9
|
+
variant,
|
|
10
|
+
page,
|
|
11
|
+
rowsPerPage,
|
|
12
|
+
handleChangePage = () => undefined,
|
|
13
|
+
handleChangeRowsPerPage = () => undefined,
|
|
14
|
+
fetchMorePayloads,
|
|
15
|
+
loading,
|
|
16
|
+
}) => (
|
|
17
|
+
<TableFooterEx variant={variant}>
|
|
18
|
+
<TableRow>
|
|
19
|
+
<StyledTablePagination
|
|
20
|
+
rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}
|
|
21
|
+
count={count ?? 0}
|
|
22
|
+
rowsPerPage={rowsPerPage ?? 10}
|
|
23
|
+
page={page ?? 0}
|
|
24
|
+
SelectProps={{
|
|
25
|
+
inputProps: {
|
|
26
|
+
'aria-label': 'rows per page',
|
|
27
|
+
},
|
|
28
|
+
native: true,
|
|
29
|
+
}}
|
|
30
|
+
onPageChange={handleChangePage}
|
|
31
|
+
onRowsPerPageChange={handleChangeRowsPerPage}
|
|
32
|
+
ActionsComponent={(props) => <TablePaginationActions enableNextPage={!!fetchMorePayloads} loading={loading} {...props} />}
|
|
33
|
+
/>
|
|
34
|
+
</TableRow>
|
|
35
|
+
</TableFooterEx>
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const StyledTablePagination = styled(TablePagination)(({ theme }) => ({
|
|
39
|
+
'& > .MuiToolbar-root': {
|
|
40
|
+
paddingLeft: theme.spacing(1),
|
|
41
|
+
},
|
|
42
|
+
borderTop: '1px solid',
|
|
43
|
+
borderTopColor: theme.palette.divider,
|
|
44
|
+
}))
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { TableCell, TableHead, TableRow, Typography } from '@mui/material'
|
|
2
|
+
import { useBreakpoint } from '@xylabs/react-shared'
|
|
3
|
+
|
|
4
|
+
import { payloadColumnNames, payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig'
|
|
5
|
+
import { PayloadTableHeadProps } from './types'
|
|
6
|
+
|
|
7
|
+
export const PayloadTableHead: React.FC<PayloadTableHeadProps> = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
|
|
8
|
+
const breakPoint = useBreakpoint()
|
|
9
|
+
return (
|
|
10
|
+
<TableHead {...props}>
|
|
11
|
+
<TableRow>
|
|
12
|
+
{breakPoint && columns
|
|
13
|
+
? columns[breakPoint]?.map((column, index) => {
|
|
14
|
+
return (
|
|
15
|
+
<TableCell key={index} width={index === 0 ? '100%' : undefined} align={index === 0 ? 'left' : 'center'}>
|
|
16
|
+
<Typography variant="body2" noWrap>
|
|
17
|
+
{payloadColumnNames[column]}
|
|
18
|
+
</Typography>
|
|
19
|
+
</TableCell>
|
|
20
|
+
)
|
|
21
|
+
})
|
|
22
|
+
: null}
|
|
23
|
+
</TableRow>
|
|
24
|
+
</TableHead>
|
|
25
|
+
)
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TableCell, TableRow, TableRowProps, Typography, TypographyProps } from '@mui/material'
|
|
2
|
+
|
|
3
|
+
export interface TableRowNoDataProps extends TableRowProps {
|
|
4
|
+
typographyProps?: TypographyProps
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const TableRowNoData: React.FC<TableRowNoDataProps> = ({ typographyProps, ...props }) => {
|
|
8
|
+
return (
|
|
9
|
+
<TableRow {...props}>
|
|
10
|
+
<TableCell sx={{ border: 'none' }}>
|
|
11
|
+
<Typography variant="body2" {...typographyProps}>
|
|
12
|
+
No Data To Display...
|
|
13
|
+
</Typography>
|
|
14
|
+
</TableCell>
|
|
15
|
+
</TableRow>
|
|
16
|
+
)
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TableBodyProps, TableRowProps } from '@mui/material'
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared'
|
|
3
|
+
import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
|
|
4
|
+
import { ComponentType } from 'react'
|
|
5
|
+
|
|
6
|
+
export interface PayloadTableBodyProps extends TableBodyProps, WithChildren {
|
|
7
|
+
payloads?: XyoPayloads
|
|
8
|
+
archive?: string
|
|
9
|
+
maxSchemaDepth?: number
|
|
10
|
+
onRowClick?: (value: XyoPayload) => void
|
|
11
|
+
exploreDomain?: string
|
|
12
|
+
emptyRows?: number
|
|
13
|
+
noResults?: boolean
|
|
14
|
+
NoResultRowComponent?: ComponentType<TableRowProps>
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TableExVariants } from '@xyo-network/react-table'
|
|
2
|
+
import { ChangeEvent, MouseEvent } from 'react'
|
|
3
|
+
|
|
4
|
+
export interface PayloadTableFooterProps {
|
|
5
|
+
count?: number
|
|
6
|
+
rowsPerPage?: number
|
|
7
|
+
variant?: TableExVariants
|
|
8
|
+
page?: number
|
|
9
|
+
handleChangePage?: (event: MouseEvent<HTMLButtonElement> | null, newPage: number) => void
|
|
10
|
+
handleChangeRowsPerPage?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void
|
|
11
|
+
fetchMorePayloads?: () => void
|
|
12
|
+
loading?: boolean
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TableHeadProps } from '@mui/material'
|
|
2
|
+
|
|
3
|
+
import { PayloadTableColumnConfig, PayloadTableColumnSlug } from '../PayloadTableColumnConfig'
|
|
4
|
+
|
|
5
|
+
export interface PayloadTableHeadProps extends TableHeadProps {
|
|
6
|
+
columns?: PayloadTableColumnConfig<PayloadTableColumnSlug>
|
|
7
|
+
}
|