@xyo-network/react-payload-table 2.50.0 → 2.51.0
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/DynamicTable/DynamicTableRow.js +4 -4
- package/dist/cjs/components/DynamicTable/DynamicTableRow.js.map +1 -1
- package/dist/cjs/components/DynamicTable/Table.js +5 -4
- package/dist/cjs/components/DynamicTable/Table.js.map +1 -1
- package/dist/cjs/components/Table/TableBody.js +4 -4
- package/dist/cjs/components/Table/TableBody.js.map +1 -1
- package/dist/cjs/components/Table/TableRow.js +6 -6
- package/dist/cjs/components/Table/TableRow.js.map +1 -1
- package/dist/docs.json +119 -119
- package/dist/esm/components/DynamicTable/DynamicTableRow.js +5 -5
- package/dist/esm/components/DynamicTable/DynamicTableRow.js.map +1 -1
- package/dist/esm/components/DynamicTable/Table.js +6 -5
- package/dist/esm/components/DynamicTable/Table.js.map +1 -1
- package/dist/esm/components/Table/TableBody.js +4 -4
- package/dist/esm/components/Table/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableRow.js +5 -5
- package/dist/esm/components/Table/TableRow.js.map +1 -1
- package/dist/types/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
- package/dist/types/components/DynamicTable/Table.d.ts.map +1 -1
- package/dist/types/components/Table/TableBody.d.ts.map +1 -1
- package/dist/types/components/Table/TableRow.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/components/DynamicTable/DynamicTableRow.tsx +5 -6
- package/src/components/DynamicTable/Table.tsx +8 -5
- package/src/components/Table/TableBody.tsx +5 -4
- package/src/components/Table/TableRow.tsx +5 -6
|
@@ -5,17 +5,18 @@ import WarningAmberRoundedIcon from '@mui/icons-material/WarningAmberRounded';
|
|
|
5
5
|
import { TableCell, TableRow, Typography } from '@mui/material';
|
|
6
6
|
import { useBreakpoint } from '@xylabs/react-shared';
|
|
7
7
|
import { PayloadValidator } from '@xyo-network/payload-validator';
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
9
8
|
import { useNetwork } from '@xyo-network/react-network';
|
|
10
9
|
import { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver';
|
|
11
|
-
import { HashTableCell } from '@xyo-network/react-shared';
|
|
10
|
+
import { HashTableCell, usePayloadHash, usePromise } from '@xyo-network/react-shared';
|
|
12
11
|
import { payloadDynamicTableColumnConfigDefaults, } from './PayloadDynamicTableColumnConfig';
|
|
13
12
|
export const PayloadDynamicTableRow = ({ archive, columns = payloadDynamicTableColumnConfigDefaults(), exploreDomain, network: networkProp, payload, ...props }) => {
|
|
14
13
|
const breakPoint = useBreakpoint();
|
|
15
|
-
const
|
|
14
|
+
const payloadHash = usePayloadHash(payload);
|
|
16
15
|
const { network } = useNetwork();
|
|
17
16
|
const { resolver } = usePayloadRenderPluginResolver();
|
|
18
|
-
const
|
|
17
|
+
const [validationErrors = []] = usePromise(payload ? new PayloadValidator(payload).validate() : undefined, [payload]);
|
|
18
|
+
const isValid = validationErrors.length === 0;
|
|
19
|
+
const hash = (props) => (_jsx(HashTableCell, { align: "left", archive: archive, value: payloadHash, dataType: "payload", exploreDomain: exploreDomain, network: networkProp ?? network?.slug, ...props }, "hash"));
|
|
19
20
|
const schema = (props) => (_jsx(TableCell, { align: "left", ...props, children: _jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: payload?.schema }) }, "payloads"));
|
|
20
21
|
const details = (props) => (_jsx(TableCell, { align: "left", ...props, children: _jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: payload?.sources }) }, "payloads"));
|
|
21
22
|
const render = (props) => {
|
|
@@ -30,7 +31,6 @@ export const PayloadDynamicTableRow = ({ archive, columns = payloadDynamicTableC
|
|
|
30
31
|
: undefined;
|
|
31
32
|
return (_jsx(TableCell, { align: "left", ...props, children: Avatar ? _jsx(Avatar, { payload: payload }) : null }, "payloads"));
|
|
32
33
|
};
|
|
33
|
-
const isValid = wrapper ? new PayloadValidator(wrapper.body).validate().length === 0 : undefined;
|
|
34
34
|
const valid = (props) => (_jsx(TableCell, { align: "center", ...props, children: isValid === undefined && payload != undefined ? (_jsx(WarningAmberRoundedIcon, { fontSize: "small", color: "warning" })) : isValid === true ? (_jsx(CheckCircleOutlineRoundedIcon, { fontSize: "small", color: "success" })) : isValid === false ? (_jsx(ErrorOutlineRoundedIcon, { color: "error", fontSize: "small" })) : (
|
|
35
35
|
//nbsp to keep row height consistent even when no data is provided for the row
|
|
36
36
|
_jsx(Typography, { children: " \u00A0" })) }, "valid"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicTableRow.js","sourceRoot":"","sources":["../../../../src/components/DynamicTable/DynamicTableRow.tsx"],"names":[],"mappings":";AAAA,OAAO,6BAA6B,MAAM,+CAA+C,CAAA;AACzF,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAe,SAAS,EAAkB,QAAQ,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAA;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DynamicTableRow.js","sourceRoot":"","sources":["../../../../src/components/DynamicTable/DynamicTableRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';
|
|
|
5
5
|
import LastPageIcon from '@mui/icons-material/LastPage';
|
|
6
6
|
import { Alert, Box, IconButton, Table, TableBody, TableCell, TableFooter, TableHead, TablePagination, TableRow, Typography, useTheme, } from '@mui/material';
|
|
7
7
|
import { useBreakpoint } from '@xylabs/react-shared';
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
9
8
|
import { XyoThrownErrorBoundary } from '@xyo-network/react-error';
|
|
10
|
-
import {
|
|
9
|
+
import { usePayloadHashes } from '@xyo-network/react-shared';
|
|
10
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
11
11
|
import { PayloadDynamicTableRow } from './DynamicTableRow';
|
|
12
12
|
import { payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig';
|
|
13
13
|
function TablePaginationActions(props) {
|
|
@@ -34,6 +34,8 @@ export const PayloadDynamicTable = ({ archive, children, columns = payloadDynami
|
|
|
34
34
|
const payloadCount = payloads ? payloads.length : 0;
|
|
35
35
|
// Avoid a layout jump when reaching the last page with empty rows.
|
|
36
36
|
const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0;
|
|
37
|
+
const pagedPayloads = useMemo(() => payloads?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [payloads, page, rowsPerPage]);
|
|
38
|
+
const payloadPairs = usePayloadHashes(pagedPayloads);
|
|
37
39
|
useEffect(() => {
|
|
38
40
|
setRowsPerPage(rowsPerPageProp);
|
|
39
41
|
}, [rowsPerPageProp]);
|
|
@@ -46,13 +48,12 @@ export const PayloadDynamicTable = ({ archive, children, columns = payloadDynami
|
|
|
46
48
|
};
|
|
47
49
|
return breakPoint ? (_jsxs(Table, { stickyHeader: true, ...props, children: [_jsx(TableHead, { children: _jsx(TableRow, { children: columns[breakPoint]?.map((column, index) => {
|
|
48
50
|
return (_jsx(TableCell, { align: column.alignment ?? 'left', width: column.width, children: _jsx(Typography, { variant: "body2", noWrap: true, children: column.name }) }, index));
|
|
49
|
-
}) }) }), _jsxs(TableBody, { sx: { overflowY: 'scroll ' }, children: [
|
|
50
|
-
const wrapper = new PayloadWrapper(payload);
|
|
51
|
+
}) }) }), _jsxs(TableBody, { sx: { overflowY: 'scroll ' }, children: [payloadPairs?.map(([payload, hash], index) => {
|
|
51
52
|
return (_jsx(XyoThrownErrorBoundary, { boundaryName: "PayloadTableBody", errorComponent: (e) => (_jsxs(Alert, { severity: "error", children: ["Error Loading Payload: ", _jsx(Typography, { fontWeight: "bold", children: e.message })] })), children: _jsx(PayloadDynamicTableRow, { archive: archive, onClick: onRowClick
|
|
52
53
|
? () => {
|
|
53
54
|
onRowClick(payload);
|
|
54
55
|
}
|
|
55
|
-
: undefined, exploreDomain: exploreDomain, payload: payload }) }, `${
|
|
56
|
+
: undefined, exploreDomain: exploreDomain, payload: payload }) }, `${hash}-${index}`));
|
|
56
57
|
}), children, emptyRows > 0 && Array(emptyRows).fill(_jsx(PayloadDynamicTableRow, {}))] }), _jsx(TableFooter, { children: _jsx(TableRow, { children: _jsx(TablePagination, { rowsPerPageOptions: [5, 10, 25, { label: 'All', value: -1 }], colSpan: 5, count: payloadCount, rowsPerPage: rowsPerPage, page: page, SelectProps: {
|
|
57
58
|
inputProps: {
|
|
58
59
|
'aria-label': 'rows per page',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/DynamicTable/Table.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,iBAAiB,MAAM,uCAAuC,CAAA;AACrE,OAAO,kBAAkB,MAAM,wCAAwC,CAAA;AACvE,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,EACL,KAAK,EACL,GAAG,EACH,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,eAAe,EAEf,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/DynamicTable/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Alert, TableBody, Typography } from '@mui/material';
|
|
3
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
4
3
|
import { XyoThrownErrorBoundary } from '@xyo-network/react-error';
|
|
4
|
+
import { usePayloadHashes } from '@xyo-network/react-shared';
|
|
5
5
|
import { PayloadTableRow } from './TableRow';
|
|
6
6
|
export const PayloadTableBody = ({ children, exploreDomain, payloads, archive, maxSchemaDepth, onRowClick, emptyRows, noResults, NoResultRowComponent, ...props }) => {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const payloadPairs = usePayloadHashes(payloads);
|
|
8
|
+
return (_jsxs(TableBody, { ...props, children: [noResults && NoResultRowComponent ? _jsx(NoResultRowComponent, {}) : null, payloadPairs?.map(([payload, hash], index) => {
|
|
9
9
|
return (_jsx(XyoThrownErrorBoundary, { boundaryName: "PayloadTableBody", errorComponent: (e) => (_jsxs(Alert, { severity: "error", children: ["Error Loading Payload: ", _jsx(Typography, { fontWeight: "bold", children: e.message })] })), children: _jsx(PayloadTableRow, { maxSchemaDepth: maxSchemaDepth, archive: archive, onClick: onRowClick
|
|
10
10
|
? () => {
|
|
11
11
|
onRowClick(payload);
|
|
12
12
|
}
|
|
13
|
-
: undefined, exploreDomain: exploreDomain, payload: payload }) }, `${
|
|
13
|
+
: undefined, exploreDomain: exploreDomain, payload: payload }) }, `${hash}-${index}`));
|
|
14
14
|
}), children, (emptyRows ?? 0) > 0 && Array(emptyRows).fill(_jsx(PayloadTableRow, {}))] }));
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=TableBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAChE,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,OAAO,EACP,cAAc,EACd,UAAU,EACV,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,OAAO,CACL,MAAC,SAAS,OAAK,KAAK,aACjB,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAC,oBAAoB,KAAG,CAAC,CAAC,CAAC,IAAI,EACnE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5C,OAAO,CACL,KAAC,sBAAsB,IACrB,YAAY,EAAC,kBAAkB,EAE/B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,wCACE,KAAC,UAAU,IAAC,UAAU,EAAC,MAAM,YAAE,CAAC,CAAC,OAAO,GAAc,IACvE,CACT,YAED,KAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EACL,UAAU;4BACR,CAAC,CAAC,GAAG,EAAE;gCACH,UAAU,CAAC,OAAO,CAAC,CAAA;4BACrB,CAAC;4BACH,CAAC,CAAC,SAAS,EAEf,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,GAChB,IAnBG,GAAG,IAAI,IAAI,KAAK,EAAE,CAoBA,CAC1B,CAAA;YACH,CAAC,CAAC,EACD,QAAQ,EACR,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAC,eAAe,KAAG,CAAC,IACzD,CACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -5,15 +5,16 @@ import WarningAmberRoundedIcon from '@mui/icons-material/WarningAmberRounded';
|
|
|
5
5
|
import { alpha, TableCell, TableRow, Typography } from '@mui/material';
|
|
6
6
|
import { useBreakpoint } from '@xylabs/react-shared';
|
|
7
7
|
import { PayloadValidator } from '@xyo-network/payload-validator';
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
9
8
|
import { useNetwork } from '@xyo-network/react-network';
|
|
10
|
-
import { HashTableCell } from '@xyo-network/react-shared';
|
|
9
|
+
import { HashTableCell, usePayloadHash, usePromise } from '@xyo-network/react-shared';
|
|
11
10
|
import { payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig';
|
|
12
11
|
export const PayloadTableRow = ({ archive, columns = payloadTableColumnConfigDefaults(), exploreDomain, maxSchemaDepth, network: networkProp, payload, ...props }) => {
|
|
13
12
|
const breakPoint = useBreakpoint();
|
|
14
|
-
const
|
|
13
|
+
const payloadHash = usePayloadHash(payload);
|
|
15
14
|
const { network } = useNetwork();
|
|
16
|
-
const
|
|
15
|
+
const [errors = []] = usePromise((payload ? new PayloadValidator(payload) : undefined)?.validate(), [payload]);
|
|
16
|
+
const isValid = errors.length === 0;
|
|
17
|
+
const hash = (props) => (_jsx(HashTableCell, { archive: archive, width: "100%", value: payloadHash, dataType: "payload", exploreDomain: exploreDomain, network: networkProp ?? network?.slug, ...props }, "hash"));
|
|
17
18
|
const reduceSchemaDepth = (schema, maxSchemaDepth) => {
|
|
18
19
|
if (maxSchemaDepth) {
|
|
19
20
|
const parts = schema?.split('.') ?? [];
|
|
@@ -25,7 +26,6 @@ export const PayloadTableRow = ({ archive, columns = payloadTableColumnConfigDef
|
|
|
25
26
|
return schema;
|
|
26
27
|
};
|
|
27
28
|
const schema = (props) => (_jsx(TableCell, { title: payload?.schema, align: "center", ...props, children: _jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload?.schema, maxSchemaDepth) }) }, "payloads"));
|
|
28
|
-
const isValid = wrapper ? new PayloadValidator(wrapper.body).validate().length === 0 : undefined;
|
|
29
29
|
const valid = (props) => (_jsx(TableCell, { align: "center", ...props, children: isValid === undefined && payload != undefined ? (_jsx(WarningAmberRoundedIcon, { fontSize: "small", color: "warning" })) : isValid === true ? (_jsx(CheckCircleOutlineRoundedIcon, { fontSize: "small", color: "success" })) : isValid === false ? (_jsx(ErrorOutlineRoundedIcon, { color: "error", fontSize: "small" })) : (
|
|
30
30
|
//to keep row height consistent when no data provided, may need fix later
|
|
31
31
|
_jsx(ErrorOutlineRoundedIcon, { sx: { color: alpha('#fff', 0) }, fontSize: "small" })) }, "valid"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":";AAAA,OAAO,6BAA6B,MAAM,+CAA+C,CAAA;AACzF,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAkB,QAAQ,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAA;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicTableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/DynamicTableRow.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAoD,aAAa,EAAc,MAAM,eAAe,CAAA;AAE3G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"DynamicTableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/DynamicTableRow.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAoD,aAAa,EAAc,MAAM,eAAe,CAAA;AAE3G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAQpD,OAAO,EACL,+BAA+B,EAGhC,MAAM,mCAAmC,CAAA;AAE1C,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAChE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA6FxE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/Table.tsx"],"names":[],"mappings":";AAIA,OAAO,EAUL,UAAU,EAIX,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAMpD,OAAO,EAAE,+BAA+B,EAA2C,MAAM,mCAAmC,CAAA;AAE5H,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA+CD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/Table.tsx"],"names":[],"mappings":";AAIA,OAAO,EAUL,UAAU,EAIX,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAMpD,OAAO,EAAE,+BAA+B,EAA2C,MAAM,mCAAmC,CAAA;AAE5H,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA+CD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAqGlE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAgD5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":";AAGA,OAAO,EAA8C,aAAa,EAAc,MAAM,eAAe,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":";AAGA,OAAO,EAA8C,aAAa,EAAc,MAAM,eAAe,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,wBAAwB,EAA4D,MAAM,4BAA4B,CAAA;AAE/H,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgF1D,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,27 +11,27 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/react-shared": "^2.17.3",
|
|
14
|
-
"@xyo-network/payload-model": "^2.
|
|
15
|
-
"@xyo-network/payload-validator": "^2.
|
|
16
|
-
"@xyo-network/payload-wrapper": "^2.
|
|
17
|
-
"@xyo-network/react-error": "^2.
|
|
18
|
-
"@xyo-network/react-event": "^2.
|
|
19
|
-
"@xyo-network/react-network": "^2.
|
|
20
|
-
"@xyo-network/react-payload-plugin": "^2.
|
|
21
|
-
"@xyo-network/react-payload-plugin-resolver": "^2.
|
|
22
|
-
"@xyo-network/react-shared": "^2.
|
|
23
|
-
"@xyo-network/react-table": "^2.
|
|
14
|
+
"@xyo-network/payload-model": "^2.60.0",
|
|
15
|
+
"@xyo-network/payload-validator": "^2.60.0",
|
|
16
|
+
"@xyo-network/payload-wrapper": "^2.60.0",
|
|
17
|
+
"@xyo-network/react-error": "^2.51.0",
|
|
18
|
+
"@xyo-network/react-event": "^2.51.0",
|
|
19
|
+
"@xyo-network/react-network": "^2.51.0",
|
|
20
|
+
"@xyo-network/react-payload-plugin": "^2.51.0",
|
|
21
|
+
"@xyo-network/react-payload-plugin-resolver": "^2.51.0",
|
|
22
|
+
"@xyo-network/react-shared": "^2.51.0",
|
|
23
|
+
"@xyo-network/react-table": "^2.51.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@storybook/react": "^7.0.
|
|
26
|
+
"@storybook/react": "^7.0.18",
|
|
27
27
|
"@uniswap/sdk": "^3.0.3",
|
|
28
28
|
"@uniswap/sdk-core": "^3.2.2",
|
|
29
29
|
"@uniswap/v3-sdk": "^3.9.0",
|
|
30
30
|
"@xylabs/delay": "^2.8.1",
|
|
31
31
|
"@xylabs/ts-scripts-yarn3": "^2.17.13",
|
|
32
32
|
"@xylabs/tsconfig-react": "^2.17.13",
|
|
33
|
-
"@xyo-network/react-crypto-market-uniswap-plugin": "^2.
|
|
34
|
-
"@xyo-network/react-storybook": "^2.
|
|
33
|
+
"@xyo-network/react-crypto-market-uniswap-plugin": "^2.51.0",
|
|
34
|
+
"@xyo-network/react-storybook": "^2.51.0",
|
|
35
35
|
"typescript": "^5.0.4"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
},
|
|
87
87
|
"sideEffects": false,
|
|
88
88
|
"types": "dist/types/index.d.ts",
|
|
89
|
-
"version": "2.
|
|
89
|
+
"version": "2.51.0"
|
|
90
90
|
}
|
|
@@ -5,11 +5,10 @@ import { AvatarProps, TableCell, TableCellProps, TableRow, TableRowProps, Typogr
|
|
|
5
5
|
import { useBreakpoint } from '@xylabs/react-shared'
|
|
6
6
|
import { Payload } from '@xyo-network/payload-model'
|
|
7
7
|
import { PayloadValidator } from '@xyo-network/payload-validator'
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
9
8
|
import { useNetwork } from '@xyo-network/react-network'
|
|
10
9
|
import { PayloadRenderProps } from '@xyo-network/react-payload-plugin'
|
|
11
10
|
import { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver'
|
|
12
|
-
import { HashTableCell, HashTableCellProps } from '@xyo-network/react-shared'
|
|
11
|
+
import { HashTableCell, HashTableCellProps, usePayloadHash, usePromise } from '@xyo-network/react-shared'
|
|
13
12
|
import { ComponentType } from 'react'
|
|
14
13
|
|
|
15
14
|
import {
|
|
@@ -35,15 +34,17 @@ export const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps> = ({
|
|
|
35
34
|
...props
|
|
36
35
|
}) => {
|
|
37
36
|
const breakPoint = useBreakpoint()
|
|
38
|
-
const
|
|
37
|
+
const payloadHash = usePayloadHash(payload)
|
|
39
38
|
const { network } = useNetwork()
|
|
40
39
|
const { resolver } = usePayloadRenderPluginResolver()
|
|
40
|
+
const [validationErrors = []] = usePromise(payload ? new PayloadValidator(payload).validate() : undefined, [payload])
|
|
41
|
+
const isValid = validationErrors.length === 0
|
|
41
42
|
const hash: React.FC<HashTableCellProps> = (props) => (
|
|
42
43
|
<HashTableCell
|
|
43
44
|
key="hash"
|
|
44
45
|
align="left"
|
|
45
46
|
archive={archive}
|
|
46
|
-
value={
|
|
47
|
+
value={payloadHash}
|
|
47
48
|
dataType="payload"
|
|
48
49
|
exploreDomain={exploreDomain}
|
|
49
50
|
network={networkProp ?? network?.slug}
|
|
@@ -86,8 +87,6 @@ export const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps> = ({
|
|
|
86
87
|
)
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
const isValid = wrapper ? new PayloadValidator(wrapper.body).validate().length === 0 : undefined
|
|
90
|
-
|
|
91
90
|
const valid: React.FC<TableCellProps> = (props) => (
|
|
92
91
|
<TableCell key="valid" align="center" {...props}>
|
|
93
92
|
{isValid === undefined && payload != undefined ? (
|
|
@@ -19,9 +19,9 @@ import {
|
|
|
19
19
|
} from '@mui/material'
|
|
20
20
|
import { useBreakpoint } from '@xylabs/react-shared'
|
|
21
21
|
import { Payload } from '@xyo-network/payload-model'
|
|
22
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
23
22
|
import { XyoThrownErrorBoundary } from '@xyo-network/react-error'
|
|
24
|
-
import {
|
|
23
|
+
import { usePayloadHashes } from '@xyo-network/react-shared'
|
|
24
|
+
import { useEffect, useMemo, useState } from 'react'
|
|
25
25
|
|
|
26
26
|
import { PayloadDynamicTableRow } from './DynamicTableRow'
|
|
27
27
|
import { PayloadDynamicTableColumnConfig, payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig'
|
|
@@ -97,6 +97,10 @@ export const PayloadDynamicTable: React.FC<PayloadDynamicTableProps> = ({
|
|
|
97
97
|
// Avoid a layout jump when reaching the last page with empty rows.
|
|
98
98
|
const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0
|
|
99
99
|
|
|
100
|
+
const pagedPayloads = useMemo(() => payloads?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [payloads, page, rowsPerPage])
|
|
101
|
+
|
|
102
|
+
const payloadPairs = usePayloadHashes(pagedPayloads)
|
|
103
|
+
|
|
100
104
|
useEffect(() => {
|
|
101
105
|
setRowsPerPage(rowsPerPageProp)
|
|
102
106
|
}, [rowsPerPageProp])
|
|
@@ -126,12 +130,11 @@ export const PayloadDynamicTable: React.FC<PayloadDynamicTableProps> = ({
|
|
|
126
130
|
</TableRow>
|
|
127
131
|
</TableHead>
|
|
128
132
|
<TableBody sx={{ overflowY: 'scroll ' }}>
|
|
129
|
-
{
|
|
130
|
-
const wrapper = new PayloadWrapper(payload)
|
|
133
|
+
{payloadPairs?.map(([payload, hash], index) => {
|
|
131
134
|
return (
|
|
132
135
|
<XyoThrownErrorBoundary
|
|
133
136
|
boundaryName="PayloadTableBody"
|
|
134
|
-
key={`${
|
|
137
|
+
key={`${hash}-${index}`}
|
|
135
138
|
errorComponent={(e) => (
|
|
136
139
|
<Alert severity="error">
|
|
137
140
|
Error Loading Payload: <Typography fontWeight="bold">{e.message}</Typography>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Alert, TableBody, Typography } from '@mui/material'
|
|
2
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
3
2
|
import { XyoThrownErrorBoundary } from '@xyo-network/react-error'
|
|
3
|
+
import { usePayloadHashes } from '@xyo-network/react-shared'
|
|
4
4
|
|
|
5
5
|
import { PayloadTableRow } from './TableRow'
|
|
6
6
|
import { PayloadTableBodyProps } from './types'
|
|
@@ -17,15 +17,16 @@ export const PayloadTableBody: React.FC<PayloadTableBodyProps> = ({
|
|
|
17
17
|
NoResultRowComponent,
|
|
18
18
|
...props
|
|
19
19
|
}) => {
|
|
20
|
+
const payloadPairs = usePayloadHashes(payloads)
|
|
21
|
+
|
|
20
22
|
return (
|
|
21
23
|
<TableBody {...props}>
|
|
22
24
|
{noResults && NoResultRowComponent ? <NoResultRowComponent /> : null}
|
|
23
|
-
{
|
|
24
|
-
const wrapper = new PayloadWrapper(payload)
|
|
25
|
+
{payloadPairs?.map(([payload, hash], index) => {
|
|
25
26
|
return (
|
|
26
27
|
<XyoThrownErrorBoundary
|
|
27
28
|
boundaryName="PayloadTableBody"
|
|
28
|
-
key={`${
|
|
29
|
+
key={`${hash}-${index}`}
|
|
29
30
|
errorComponent={(e) => (
|
|
30
31
|
<Alert severity="error">
|
|
31
32
|
Error Loading Payload: <Typography fontWeight="bold">{e.message}</Typography>
|
|
@@ -5,9 +5,8 @@ import { alpha, TableCell, TableCellProps, TableRow, TableRowProps, Typography }
|
|
|
5
5
|
import { useBreakpoint } from '@xylabs/react-shared'
|
|
6
6
|
import { Payload } from '@xyo-network/payload-model'
|
|
7
7
|
import { PayloadValidator } from '@xyo-network/payload-validator'
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
9
8
|
import { useNetwork } from '@xyo-network/react-network'
|
|
10
|
-
import { HashTableCell } from '@xyo-network/react-shared'
|
|
9
|
+
import { HashTableCell, usePayloadHash, usePromise } from '@xyo-network/react-shared'
|
|
11
10
|
|
|
12
11
|
import { PayloadTableColumnConfig, payloadTableColumnConfigDefaults, PayloadTableColumnSlug } from './PayloadTableColumnConfig'
|
|
13
12
|
|
|
@@ -30,15 +29,17 @@ export const PayloadTableRow: React.FC<PayloadTableRowProps> = ({
|
|
|
30
29
|
...props
|
|
31
30
|
}) => {
|
|
32
31
|
const breakPoint = useBreakpoint()
|
|
33
|
-
const
|
|
32
|
+
const payloadHash = usePayloadHash(payload)
|
|
34
33
|
const { network } = useNetwork()
|
|
34
|
+
const [errors = []] = usePromise((payload ? new PayloadValidator(payload) : undefined)?.validate(), [payload])
|
|
35
|
+
const isValid = errors.length === 0
|
|
35
36
|
|
|
36
37
|
const hash: React.FC<TableCellProps> = (props) => (
|
|
37
38
|
<HashTableCell
|
|
38
39
|
key="hash"
|
|
39
40
|
archive={archive}
|
|
40
41
|
width="100%"
|
|
41
|
-
value={
|
|
42
|
+
value={payloadHash}
|
|
42
43
|
dataType="payload"
|
|
43
44
|
exploreDomain={exploreDomain}
|
|
44
45
|
network={networkProp ?? network?.slug}
|
|
@@ -70,8 +71,6 @@ export const PayloadTableRow: React.FC<PayloadTableRowProps> = ({
|
|
|
70
71
|
</TableCell>
|
|
71
72
|
)
|
|
72
73
|
|
|
73
|
-
const isValid = wrapper ? new PayloadValidator(wrapper.body).validate().length === 0 : undefined
|
|
74
|
-
|
|
75
74
|
const valid: React.FC<TableCellProps> = (props) => (
|
|
76
75
|
<TableCell key="valid" align="center" {...props}>
|
|
77
76
|
{isValid === undefined && payload != undefined ? (
|