@xyo-network/react-payload 2.25.21 → 2.25.22
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/Details/DataDetails.d.ts +4 -4
- package/dist/cjs/components/Details/DataDetails.js +11 -7
- package/dist/cjs/components/Details/DataDetails.js.map +1 -1
- package/dist/cjs/components/Details/Details.d.ts +10 -10
- package/dist/cjs/components/Details/Details.js +2 -2
- package/dist/cjs/components/Details/Details.js.map +1 -1
- package/dist/cjs/components/Details/JsonDetails.d.ts +2 -2
- package/dist/cjs/components/Details/JsonDetails.js +6 -1
- package/dist/cjs/components/Details/JsonDetails.js.map +1 -1
- package/dist/cjs/components/Details/MetaDetails.d.ts +2 -2
- package/dist/cjs/components/Details/MetaDetails.js +6 -2
- package/dist/cjs/components/Details/MetaDetails.js.map +1 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.js +7 -3
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.js.map +1 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetailsProps.d.ts +2 -2
- package/dist/docs.json +11728 -135202
- package/dist/esm/components/Details/DataDetails.d.ts +4 -4
- package/dist/esm/components/Details/DataDetails.js +10 -7
- package/dist/esm/components/Details/DataDetails.js.map +1 -1
- package/dist/esm/components/Details/Details.d.ts +10 -10
- package/dist/esm/components/Details/Details.js +2 -2
- package/dist/esm/components/Details/Details.js.map +1 -1
- package/dist/esm/components/Details/JsonDetails.d.ts +2 -2
- package/dist/esm/components/Details/JsonDetails.js +5 -1
- package/dist/esm/components/Details/JsonDetails.js.map +1 -1
- package/dist/esm/components/Details/MetaDetails.d.ts +2 -2
- package/dist/esm/components/Details/MetaDetails.js +5 -1
- package/dist/esm/components/Details/MetaDetails.js.map +1 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.js +6 -2
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.js.map +1 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetailsProps.d.ts +2 -2
- package/package.json +13 -13
- package/src/components/Details/DataDetails.tsx +15 -20
- package/src/components/Details/Details.stories.tsx +18 -2
- package/src/components/Details/Details.tsx +15 -21
- package/src/components/Details/JsonDetails.tsx +7 -2
- package/src/components/Details/MetaDetails.tsx +23 -7
- package/src/components/Details/ValidationDetails/ValidationDetails.tsx +8 -2
- package/src/components/Details/ValidationDetails/ValidationDetailsProps.ts +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { FlexBoxProps } from '@xylabs/sdk-react';
|
|
3
2
|
import { XyoPayload } from '@xyo-network/core';
|
|
3
|
+
import { PropertyProps } from '@xyo-network/react-property';
|
|
4
4
|
import { SizeProp } from '@xyo-network/react-shared';
|
|
5
|
-
export
|
|
6
|
-
|
|
5
|
+
export declare type PayloadDataDetailsProps = PropertyProps & {
|
|
6
|
+
payload?: XyoPayload;
|
|
7
7
|
size?: SizeProp;
|
|
8
8
|
badge?: boolean;
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
10
|
export declare const PayloadDataDetails: React.FC<PayloadDataDetailsProps>;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
|
|
3
3
|
import VisibilityIcon from '@mui/icons-material/Visibility';
|
|
4
4
|
import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material';
|
|
5
|
-
import { ButtonEx
|
|
5
|
+
import { ButtonEx } from '@xylabs/sdk-react';
|
|
6
6
|
import { XyoPayloadWrapper } from '@xyo-network/core';
|
|
7
|
-
import { Property
|
|
7
|
+
import { Property } from '@xyo-network/react-property';
|
|
8
8
|
import { useState } from 'react';
|
|
9
9
|
import { PayloadHashSourceDetails } from './HashSourceDetails';
|
|
10
|
-
export const PayloadDataDetails = ({ size, badge,
|
|
11
|
-
const wrapper =
|
|
12
|
-
const propertyHeroProps = usePropertyHeroProps(props);
|
|
10
|
+
export const PayloadDataDetails = ({ size, badge, payload, ...props }) => {
|
|
11
|
+
const wrapper = payload ? new XyoPayloadWrapper(payload) : undefined;
|
|
13
12
|
const [viewSourceOpen, setViewSourceOpen] = useState(false);
|
|
14
13
|
const hash = wrapper?.hash;
|
|
14
|
+
let elevation = 2;
|
|
15
|
+
if (props.paper) {
|
|
16
|
+
elevation += props.elevation ?? 0;
|
|
17
|
+
}
|
|
15
18
|
const actions = [
|
|
16
19
|
{
|
|
17
20
|
icon: _jsx(VisibilityIcon, {}),
|
|
@@ -27,6 +30,6 @@ export const PayloadDataDetails = ({ size, badge, value, ...props }) => {
|
|
|
27
30
|
const onCopy = async () => {
|
|
28
31
|
await navigator.clipboard.writeText(wrapper?.stringified ?? '');
|
|
29
32
|
};
|
|
30
|
-
return (_jsxs(
|
|
33
|
+
return (_jsxs(_Fragment, { children: [_jsx(Property, { titleProps: { elevation }, badge: badge, size: size, actions: actions, title: "Payload Hash", value: hash ?? '<Unknown>', tip: "This is the payload hash", ...props }), _jsxs(Dialog, { open: viewSourceOpen, onClose: () => setViewSourceOpen(false), children: [_jsx(DialogTitle, { children: "Hash Source" }), _jsx(DialogContent, { children: _jsx(PayloadHashSourceDetails, { noTitle: true, payload: payload }) }), _jsxs(DialogActions, { children: [_jsx(ButtonEx, { color: "secondary", onClick: onCopy, children: "Copy" }), _jsx(ButtonEx, { color: "secondary", onClick: () => setViewSourceOpen(false), children: "Close" })] })] })] }));
|
|
31
34
|
};
|
|
32
35
|
//# sourceMappingURL=DataDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/DataDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,iCAAiC,CAAA;AAC7D,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"DataDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/DataDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,iCAAiC,CAAA;AAC7D,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAc,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAiC,MAAM,6BAA6B,CAAA;AAErF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAQ9D,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC1G,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAA;IAE1B,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;KAClC;IAED,MAAM,OAAO,GAAqB;QAChC;YACE,IAAI,EAAE,KAAC,cAAc,KAAG;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACvC;QACD;YACE,IAAI,EAAE,KAAC,eAAe,KAAG;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;SAC9E;KACF,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC,CAAA;IAED,OAAO,CACL,8BACE,KAAC,QAAQ,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,cAAc,EAAC,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,GAAG,EAAC,0BAA0B,KAAK,KAAK,GAAI,EAC9K,MAAC,MAAM,IAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,aACnE,KAAC,WAAW,8BAA0B,EACtC,KAAC,aAAa,cACZ,KAAC,wBAAwB,IAAC,OAAO,QAAC,OAAO,EAAE,OAAO,GAAI,GACxC,EAChB,MAAC,aAAa,eACZ,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,qBAEhC,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,sBAExD,IACG,IACT,IACR,CACJ,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { StackProps } from '@mui/material';
|
|
3
3
|
import { XyoPayload } from '@xyo-network/core';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export declare type WithPaper<T> = T & {
|
|
5
|
+
paper: true;
|
|
6
|
+
};
|
|
7
|
+
export declare type WithoutPaper<T> = T & {
|
|
8
|
+
paper?: false;
|
|
9
|
+
};
|
|
10
|
+
export declare type PayloadDetailsProps = StackProps & {
|
|
9
11
|
payload?: XyoPayload;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
payloadJsonDetailsProps?: PayloadJsonDetailsProps;
|
|
14
|
-
}
|
|
12
|
+
paper?: boolean;
|
|
13
|
+
archivePath?: string;
|
|
14
|
+
};
|
|
15
15
|
export declare const PayloadDetails: React.FC<PayloadDetailsProps>;
|
|
@@ -4,7 +4,7 @@ import { PayloadDataDetails } from './DataDetails';
|
|
|
4
4
|
import { PayloadJsonDetails } from './JsonDetails';
|
|
5
5
|
import { PayloadMetaDetails } from './MetaDetails';
|
|
6
6
|
import { PayloadValidationDetails } from './ValidationDetails';
|
|
7
|
-
export const PayloadDetails = ({
|
|
8
|
-
return (_jsxs(Stack, { direction: "column", spacing: 1, justifyContent: "flex-start", alignItems: "stretch", marginTop: 2, marginBottom: 8, ...props, children: [_jsx(PayloadDataDetails, { size: "large", badge: true,
|
|
7
|
+
export const PayloadDetails = ({ archivePath, paper, payload, ...props }) => {
|
|
8
|
+
return (_jsxs(Stack, { direction: "column", spacing: 1, justifyContent: "flex-start", alignItems: "stretch", marginTop: 2, marginBottom: 8, ...props, children: [_jsx(PayloadDataDetails, { paper: paper, size: "large", badge: true, payload: payload }), _jsx(PayloadMetaDetails, { archivePath: archivePath, paper: paper ? true : false, value: payload }), _jsx(PayloadValidationDetails, { paper: paper, value: payload }), _jsx(PayloadJsonDetails, { paper: paper, payload: payload })] }));
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=Details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../../src/components/Details/Details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,eAAe,CAAA;AAGjD,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../../src/components/Details/Details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,eAAe,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAW9D,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACzG,OAAO,CACL,MAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,YAAY,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,KAAM,KAAK,aAC7H,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,QAAC,OAAO,EAAE,OAAO,GAAI,EACzE,KAAC,kBAAkB,IAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAI,EAC7F,KAAC,wBAAwB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAI,EAC1D,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,IAChD,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { XyoPayload } from '@xyo-network/core';
|
|
3
3
|
import { PropertyGroupProps } from '@xyo-network/react-property';
|
|
4
4
|
import { ReactJsonViewProps } from 'react-json-view';
|
|
5
|
-
export
|
|
5
|
+
export declare type PayloadJsonDetailsProps = PropertyGroupProps & {
|
|
6
6
|
payload?: XyoPayload;
|
|
7
7
|
jsonViewProps?: ReactJsonViewProps;
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
9
|
export declare const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps>;
|
|
@@ -7,6 +7,10 @@ const JsonView = lazy(() => import(/* webpackChunkName: "jsonView" */ 'react-jso
|
|
|
7
7
|
export const PayloadJsonDetails = ({ jsonViewProps, payload = {}, ...props }) => {
|
|
8
8
|
const { breakpoints } = useTheme();
|
|
9
9
|
const belowSm = useMediaQuery(breakpoints.down('sm'));
|
|
10
|
-
|
|
10
|
+
let elevation = 2;
|
|
11
|
+
if (props.paper) {
|
|
12
|
+
elevation += props.elevation ?? 0;
|
|
13
|
+
}
|
|
14
|
+
return (_jsx(PropertyGroup, { titleProps: { elevation }, title: "JSON", tip: "The raw JSON of the payload", ...props, children: _jsx(Suspense, { fallback: _jsx(FlexGrowRow, {}), children: _jsx(JsonView, { src: payload, enableClipboard: true, collapseStringsAfterLength: belowSm ? 24 : 32, ...jsonViewProps }) }) }));
|
|
11
15
|
};
|
|
12
16
|
//# sourceMappingURL=JsonDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/JsonDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAsB,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAOzF,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACjH,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAErD,OAAO,CACL,KAAC,aAAa,IAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"JsonDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/JsonDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAsB,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAOzF,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACjH,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAErD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;KAClC;IAED,OAAO,CACL,KAAC,aAAa,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,6BAA6B,KAAK,KAAK,YAChG,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,WAAW,KAAG,YACjC,KAAC,QAAQ,IAAC,GAAG,EAAE,OAAO,EAAE,eAAe,QAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAM,aAAa,GAAI,GACnG,GACG,CACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { XyoPayload } from '@xyo-network/core';
|
|
3
3
|
import { PropertyGroupProps } from '@xyo-network/react-property';
|
|
4
|
-
export
|
|
4
|
+
export declare type PayloadMetaDetailsProps = PropertyGroupProps & {
|
|
5
5
|
value?: XyoPayload;
|
|
6
6
|
archivePath?: string;
|
|
7
|
-
}
|
|
7
|
+
};
|
|
8
8
|
export declare const PayloadMetaDetails: React.FC<PayloadMetaDetailsProps>;
|
|
@@ -2,6 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { ArchiveProperty } from '@xyo-network/react-archive';
|
|
3
3
|
import { Property, PropertyGroup } from '@xyo-network/react-property';
|
|
4
4
|
export const PayloadMetaDetails = ({ archivePath, value, ...props }) => {
|
|
5
|
-
|
|
5
|
+
let elevation = 2;
|
|
6
|
+
if (props.paper) {
|
|
7
|
+
elevation += props.elevation ?? 0;
|
|
8
|
+
}
|
|
9
|
+
return (_jsxs(PropertyGroup, { titleProps: { elevation }, title: "Meta", tip: "The meta fields added to the record by the archivist", ...props, children: [value?._client ? (_jsx(Property, { titleProps: { elevation }, flexGrow: 1, title: "Client", value: value?._client ?? '<Unknown>', tip: "This client used to create this payload" })) : null, value?._archive ? _jsx(ArchiveProperty, { titleProps: { elevation }, flexGrow: 1, payload: value, path: archivePath }) : null, value?._reportedHash ? (_jsx(Property, { titleProps: { elevation }, flexGrow: 1, title: "Reported Hash", value: value?._reportedHash ?? '<Unknown>', tip: "The has reported by the payload" })) : null, value?._timestamp ? (_jsx(Property, { titleProps: { elevation }, flexGrow: 1, title: "Timestamp", value: value?._timestamp ?? '<Unknown>', tip: "This timestamp of the payload" })) : null, value?._observeDuration ? (_jsx(Property, { titleProps: { elevation }, flexGrow: 1, title: "Observation Duration", value: value?._observeDuration ?? '<Unknown>', tip: "This duration of time observed by the witness" })) : null] }));
|
|
6
10
|
};
|
|
7
11
|
//# sourceMappingURL=MetaDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/MetaDetails.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAsB,MAAM,6BAA6B,CAAA;AAOzF,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxG,OAAO,CACL,MAAC,aAAa,IAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,sDAAsD,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"MetaDetails.js","sourceRoot":"","sources":["../../../../src/components/Details/MetaDetails.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAsB,MAAM,6BAA6B,CAAA;AAOzF,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxG,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;KAClC;IACD,OAAO,CACL,MAAC,aAAa,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,sDAAsD,KAAK,KAAK,aACxH,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAChB,KAAC,QAAQ,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,GAAG,EAAC,yCAAyC,GAAG,CACxJ,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAC,eAAe,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,GAAI,CAAC,CAAC,CAAC,IAAI,EACvH,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CACtB,KAAC,QAAQ,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,eAAe,EAAC,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,WAAW,EAAE,GAAG,EAAC,iCAAiC,GAAG,CAC7J,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CACnB,KAAC,QAAQ,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,GAAG,EAAC,+BAA+B,GAAG,CACpJ,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CACzB,KAAC,QAAQ,IACP,UAAU,EAAE,EAAE,SAAS,EAAE,EACzB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAE,KAAK,EAAE,gBAAgB,IAAI,WAAW,EAC7C,GAAG,EAAC,+CAA+C,GACnD,CACH,CAAC,CAAC,CAAC,IAAI,IACM,CACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -9,8 +9,12 @@ export const PayloadValidationDetails = ({ viewSchemaUrl, skipMeta = false, skip
|
|
|
9
9
|
const bodyErrors = skipBody ? [] : validator?.body.all() ?? [];
|
|
10
10
|
const metaErrors = skipMeta ? [] : validator?.meta.all() ?? [];
|
|
11
11
|
const errors = [...bodyErrors, ...metaErrors];
|
|
12
|
-
|
|
12
|
+
let elevation = 2;
|
|
13
|
+
if (props.paper) {
|
|
14
|
+
elevation += props.elevation ?? 0;
|
|
15
|
+
}
|
|
16
|
+
return (_jsxs(PropertyGroup, { titleProps: { elevation }, title: "Validation", tip: "The results from validating the payload", ...props, children: [_jsx(Property, { titleProps: { elevation }, flexGrow: 1, title: "Valid", value: errors.length === 0 ? 'True' : 'False', tip: errors.length > 0 ? (_jsx(FlexCol, { children: errors.map((error, index) => {
|
|
13
17
|
return _jsx(Typography, { children: error.toString() }, index);
|
|
14
|
-
}) })) : (_jsx(Typography, { children: "No Errors" })) }), value?.schema && _jsx(SchemaProperty, { value: value.schema, viewSchemaUrl: viewSchemaUrl })] }));
|
|
18
|
+
}) })) : (_jsx(Typography, { children: "No Errors" })) }), value?.schema && _jsx(SchemaProperty, { titleProps: { elevation }, value: value.schema, viewSchemaUrl: viewSchemaUrl })] }));
|
|
15
19
|
};
|
|
16
20
|
//# sourceMappingURL=ValidationDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationDetails.js","sourceRoot":"","sources":["../../../../../src/components/Details/ValidationDetails/ValidationDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC1J,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAY,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAA;IAEtD,OAAO,CACL,MAAC,aAAa,IAAC,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,yCAAyC,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"ValidationDetails.js","sourceRoot":"","sources":["../../../../../src/components/Details/ValidationDetails/ValidationDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC1J,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAY,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAA;IAEtD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;KAClC;IAED,OAAO,CACL,MAAC,aAAa,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,yCAAyC,KAAK,KAAK,aAClH,KAAC,QAAQ,IACP,UAAU,EAAE,EAAE,SAAS,EAAE,EACzB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAC,OAAO,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC7C,GAAG,EACD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,KAAC,OAAO,cACL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBAC3B,OAAO,KAAC,UAAU,cAAc,KAAK,CAAC,QAAQ,EAAE,IAAxB,KAAK,CAAiC,CAAA;oBAChE,CAAC,CAAC,GACM,CACX,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,4BAAuB,CACnC,GAEH,EACD,KAAK,EAAE,MAAM,IAAI,KAAC,cAAc,IAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,GAAI,IACpG,CACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { XyoPayload } from '@xyo-network/core';
|
|
2
2
|
import { PropertyGroupProps } from '@xyo-network/react-property';
|
|
3
|
-
export
|
|
3
|
+
export declare type PayloadValidationDetailsProps = PropertyGroupProps & {
|
|
4
4
|
skipBody?: boolean;
|
|
5
5
|
skipMeta?: boolean;
|
|
6
6
|
value?: XyoPayload;
|
|
7
7
|
viewSchemaUrl?: string;
|
|
8
|
-
}
|
|
8
|
+
};
|
package/package.json
CHANGED
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
"@emotion/styled": "^11.8.1",
|
|
15
15
|
"@mui/icons-material": "^5.8.0",
|
|
16
16
|
"@mui/material": "^5.8.1",
|
|
17
|
-
"@xylabs/sdk-react": "^2.12.
|
|
17
|
+
"@xylabs/sdk-react": "^2.12.10",
|
|
18
18
|
"@xyo-network/api": "^2.20.33",
|
|
19
19
|
"@xyo-network/core": "^2.20.33",
|
|
20
20
|
"@xyo-network/network": "^2.20.33",
|
|
21
|
-
"@xyo-network/react-archive": "^2.25.
|
|
22
|
-
"@xyo-network/react-archivist-api": "^2.25.
|
|
23
|
-
"@xyo-network/react-auth-service": "^2.25.
|
|
24
|
-
"@xyo-network/react-network": "^2.25.
|
|
25
|
-
"@xyo-network/react-property": "^2.25.
|
|
26
|
-
"@xyo-network/react-schema": "^2.25.
|
|
27
|
-
"@xyo-network/react-shared": "^2.25.
|
|
28
|
-
"@xyo-network/react-theme": "^2.25.
|
|
21
|
+
"@xyo-network/react-archive": "^2.25.22",
|
|
22
|
+
"@xyo-network/react-archivist-api": "^2.25.22",
|
|
23
|
+
"@xyo-network/react-auth-service": "^2.25.22",
|
|
24
|
+
"@xyo-network/react-network": "^2.25.22",
|
|
25
|
+
"@xyo-network/react-property": "^2.25.22",
|
|
26
|
+
"@xyo-network/react-schema": "^2.25.22",
|
|
27
|
+
"@xyo-network/react-shared": "^2.25.22",
|
|
28
|
+
"@xyo-network/react-theme": "^2.25.22",
|
|
29
29
|
"@xyo-network/utils": "^2.20.33",
|
|
30
30
|
"lodash": "^4.17.21",
|
|
31
31
|
"luxon": "^2.4.0",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
},
|
|
40
40
|
"description": "Common React library for all XYO projects that use React",
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@babel/core": "^7.18.
|
|
43
|
-
"@babel/preset-env": "^7.18.
|
|
42
|
+
"@babel/core": "^7.18.2",
|
|
43
|
+
"@babel/preset-env": "^7.18.2",
|
|
44
44
|
"@storybook/addons": "^6.5.5",
|
|
45
45
|
"@storybook/api": "^6.5.5",
|
|
46
46
|
"@storybook/components": "^6.5.5",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@storybook/theming": "^6.5.5",
|
|
50
50
|
"@types/lodash": "^4.14.182",
|
|
51
51
|
"@types/luxon": "^2.3.2",
|
|
52
|
-
"@xylabs/sdk-react": "^2.12.
|
|
52
|
+
"@xylabs/sdk-react": "^2.12.10",
|
|
53
53
|
"@xylabs/ts-scripts": "^1.0.66",
|
|
54
54
|
"@xylabs/tsconfig": "^1.0.13",
|
|
55
55
|
"axios": "^0.27.2",
|
|
@@ -114,6 +114,6 @@
|
|
|
114
114
|
},
|
|
115
115
|
"sideEffects": false,
|
|
116
116
|
"types": "dist/esm/index.d.ts",
|
|
117
|
-
"version": "2.25.
|
|
117
|
+
"version": "2.25.22",
|
|
118
118
|
"packageManager": "yarn@3.1.1"
|
|
119
119
|
}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
import ContentCopyIcon from '@mui/icons-material/ContentCopy'
|
|
2
2
|
import VisibilityIcon from '@mui/icons-material/Visibility'
|
|
3
3
|
import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'
|
|
4
|
-
import { ButtonEx
|
|
4
|
+
import { ButtonEx } from '@xylabs/sdk-react'
|
|
5
5
|
import { XyoPayload, XyoPayloadWrapper } from '@xyo-network/core'
|
|
6
|
-
import { Property, PropertyAction,
|
|
6
|
+
import { Property, PropertyAction, PropertyProps } from '@xyo-network/react-property'
|
|
7
7
|
import { SizeProp } from '@xyo-network/react-shared'
|
|
8
8
|
import { useState } from 'react'
|
|
9
9
|
|
|
10
10
|
import { PayloadHashSourceDetails } from './HashSourceDetails'
|
|
11
11
|
|
|
12
|
-
export
|
|
13
|
-
|
|
12
|
+
export type PayloadDataDetailsProps = PropertyProps & {
|
|
13
|
+
payload?: XyoPayload
|
|
14
14
|
size?: SizeProp
|
|
15
15
|
badge?: boolean
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, badge,
|
|
19
|
-
const wrapper =
|
|
18
|
+
export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, badge, payload, ...props }) => {
|
|
19
|
+
const wrapper = payload ? new XyoPayloadWrapper(payload) : undefined
|
|
20
20
|
|
|
21
|
-
const propertyHeroProps = usePropertyHeroProps(props)
|
|
22
21
|
const [viewSourceOpen, setViewSourceOpen] = useState(false)
|
|
23
22
|
const hash = wrapper?.hash
|
|
24
23
|
|
|
24
|
+
let elevation = 2
|
|
25
|
+
if (props.paper) {
|
|
26
|
+
elevation += props.elevation ?? 0
|
|
27
|
+
}
|
|
28
|
+
|
|
25
29
|
const actions: PropertyAction[] = [
|
|
26
30
|
{
|
|
27
31
|
icon: <VisibilityIcon />,
|
|
@@ -40,21 +44,12 @@ export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, ba
|
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
return (
|
|
43
|
-
|
|
44
|
-
<Property
|
|
45
|
-
variant="outlined"
|
|
46
|
-
badge={badge}
|
|
47
|
-
size={size}
|
|
48
|
-
actions={actions}
|
|
49
|
-
title="Payload Hash"
|
|
50
|
-
value={hash ?? '<Unknown>'}
|
|
51
|
-
tip="This is the payload hash"
|
|
52
|
-
{...propertyHeroProps}
|
|
53
|
-
/>
|
|
47
|
+
<>
|
|
48
|
+
<Property titleProps={{ elevation }} badge={badge} size={size} actions={actions} title="Payload Hash" value={hash ?? '<Unknown>'} tip="This is the payload hash" {...props} />
|
|
54
49
|
<Dialog open={viewSourceOpen} onClose={() => setViewSourceOpen(false)}>
|
|
55
50
|
<DialogTitle>Hash Source</DialogTitle>
|
|
56
51
|
<DialogContent>
|
|
57
|
-
<PayloadHashSourceDetails noTitle payload={
|
|
52
|
+
<PayloadHashSourceDetails noTitle payload={payload} />
|
|
58
53
|
</DialogContent>
|
|
59
54
|
<DialogActions>
|
|
60
55
|
<ButtonEx color="secondary" onClick={onCopy}>
|
|
@@ -65,6 +60,6 @@ export const PayloadDataDetails: React.FC<PayloadDataDetailsProps> = ({ size, ba
|
|
|
65
60
|
</ButtonEx>
|
|
66
61
|
</DialogActions>
|
|
67
62
|
</Dialog>
|
|
68
|
-
|
|
63
|
+
</>
|
|
69
64
|
)
|
|
70
65
|
}
|
|
@@ -37,10 +37,26 @@ WithBuilderSample.args = { payload: samplePayloadFromBuilder }
|
|
|
37
37
|
WithBuilderSample.decorators = [appThemeDecorator]
|
|
38
38
|
|
|
39
39
|
const WithArchiveLink = Template.bind({})
|
|
40
|
-
WithArchiveLink.args = {
|
|
40
|
+
WithArchiveLink.args = { archivePath: 'temp', payload: samplePayloadFromBuilder }
|
|
41
41
|
WithArchiveLink.decorators = [appThemeDecorator]
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
const DefaultPaper = Template.bind({})
|
|
44
|
+
DefaultPaper.args = { paper: true }
|
|
45
|
+
DefaultPaper.decorators = [appThemeDecorator]
|
|
46
|
+
|
|
47
|
+
const WithSamplePaper = Template.bind({})
|
|
48
|
+
WithSamplePaper.args = { paper: true, payload: samplePayload }
|
|
49
|
+
WithSamplePaper.decorators = [appThemeDecorator]
|
|
50
|
+
|
|
51
|
+
const WithBuilderSamplePaper = Template.bind({})
|
|
52
|
+
WithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder }
|
|
53
|
+
WithBuilderSamplePaper.decorators = [appThemeDecorator]
|
|
54
|
+
|
|
55
|
+
const WithArchiveLinkPaper = Template.bind({})
|
|
56
|
+
WithArchiveLinkPaper.args = { archivePath: 'temp', paper: true, payload: samplePayloadFromBuilder }
|
|
57
|
+
WithArchiveLinkPaper.decorators = [appThemeDecorator]
|
|
58
|
+
|
|
59
|
+
export { Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper }
|
|
44
60
|
|
|
45
61
|
// eslint-disable-next-line import/no-default-export
|
|
46
62
|
export default StorybookEntry
|
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
import { Stack, StackProps } from '@mui/material'
|
|
2
2
|
import { XyoPayload } from '@xyo-network/core'
|
|
3
3
|
|
|
4
|
-
import { PayloadDataDetails
|
|
5
|
-
import { PayloadJsonDetails
|
|
6
|
-
import { PayloadMetaDetails
|
|
7
|
-
import { PayloadValidationDetails
|
|
4
|
+
import { PayloadDataDetails } from './DataDetails'
|
|
5
|
+
import { PayloadJsonDetails } from './JsonDetails'
|
|
6
|
+
import { PayloadMetaDetails } from './MetaDetails'
|
|
7
|
+
import { PayloadValidationDetails } from './ValidationDetails'
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export type WithPaper<T> = T & { paper: true }
|
|
10
|
+
export type WithoutPaper<T> = T & { paper?: false }
|
|
11
|
+
|
|
12
|
+
export type PayloadDetailsProps = StackProps & {
|
|
10
13
|
payload?: XyoPayload
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
payloadValidationDetailsProps?: PayloadValidationDetailsProps
|
|
14
|
-
payloadJsonDetailsProps?: PayloadJsonDetailsProps
|
|
14
|
+
paper?: boolean
|
|
15
|
+
archivePath?: string
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export const PayloadDetails: React.FC<PayloadDetailsProps> = ({
|
|
18
|
-
payload,
|
|
19
|
-
payloadDataDetailsProps,
|
|
20
|
-
payloadMetaDetailsProps,
|
|
21
|
-
payloadValidationDetailsProps,
|
|
22
|
-
payloadJsonDetailsProps,
|
|
23
|
-
...props
|
|
24
|
-
}) => {
|
|
18
|
+
export const PayloadDetails: React.FC<PayloadDetailsProps> = ({ archivePath, paper, payload, ...props }) => {
|
|
25
19
|
return (
|
|
26
20
|
<Stack direction="column" spacing={1} justifyContent="flex-start" alignItems="stretch" marginTop={2} marginBottom={8} {...props}>
|
|
27
|
-
<PayloadDataDetails size="large" badge
|
|
28
|
-
<PayloadMetaDetails
|
|
29
|
-
<PayloadValidationDetails
|
|
30
|
-
<PayloadJsonDetails
|
|
21
|
+
<PayloadDataDetails paper={paper} size="large" badge payload={payload} />
|
|
22
|
+
<PayloadMetaDetails archivePath={archivePath} paper={paper ? true : false} value={payload} />
|
|
23
|
+
<PayloadValidationDetails paper={paper} value={payload} />
|
|
24
|
+
<PayloadJsonDetails paper={paper} payload={payload} />
|
|
31
25
|
</Stack>
|
|
32
26
|
)
|
|
33
27
|
}
|
|
@@ -7,7 +7,7 @@ import { ReactJsonViewProps } from 'react-json-view'
|
|
|
7
7
|
|
|
8
8
|
const JsonView = lazy(() => import(/* webpackChunkName: "jsonView" */ 'react-json-view'))
|
|
9
9
|
|
|
10
|
-
export
|
|
10
|
+
export type PayloadJsonDetailsProps = PropertyGroupProps & {
|
|
11
11
|
payload?: XyoPayload
|
|
12
12
|
jsonViewProps?: ReactJsonViewProps
|
|
13
13
|
}
|
|
@@ -16,8 +16,13 @@ export const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonView
|
|
|
16
16
|
const { breakpoints } = useTheme()
|
|
17
17
|
const belowSm = useMediaQuery(breakpoints.down('sm'))
|
|
18
18
|
|
|
19
|
+
let elevation = 2
|
|
20
|
+
if (props.paper) {
|
|
21
|
+
elevation += props.elevation ?? 0
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
return (
|
|
20
|
-
<PropertyGroup title="JSON" tip="The raw JSON of the payload"
|
|
25
|
+
<PropertyGroup titleProps={{ elevation }} title="JSON" tip="The raw JSON of the payload" {...props}>
|
|
21
26
|
<Suspense fallback={<FlexGrowRow />}>
|
|
22
27
|
<JsonView src={payload} enableClipboard collapseStringsAfterLength={belowSm ? 24 : 32} {...jsonViewProps} />
|
|
23
28
|
</Suspense>
|
|
@@ -2,20 +2,36 @@ import { XyoPayload } from '@xyo-network/core'
|
|
|
2
2
|
import { ArchiveProperty } from '@xyo-network/react-archive'
|
|
3
3
|
import { Property, PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export type PayloadMetaDetailsProps = PropertyGroupProps & {
|
|
6
6
|
value?: XyoPayload
|
|
7
7
|
archivePath?: string
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export const PayloadMetaDetails: React.FC<PayloadMetaDetailsProps> = ({ archivePath, value, ...props }) => {
|
|
11
|
+
let elevation = 2
|
|
12
|
+
if (props.paper) {
|
|
13
|
+
elevation += props.elevation ?? 0
|
|
14
|
+
}
|
|
11
15
|
return (
|
|
12
|
-
<PropertyGroup title="Meta" tip="The meta fields added to the record by the archivist" {...props}>
|
|
13
|
-
{value?._client ?
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{value?.
|
|
16
|
+
<PropertyGroup titleProps={{ elevation }} title="Meta" tip="The meta fields added to the record by the archivist" {...props}>
|
|
17
|
+
{value?._client ? (
|
|
18
|
+
<Property titleProps={{ elevation }} flexGrow={1} title="Client" value={value?._client ?? '<Unknown>'} tip="This client used to create this payload" />
|
|
19
|
+
) : null}
|
|
20
|
+
{value?._archive ? <ArchiveProperty titleProps={{ elevation }} flexGrow={1} payload={value} path={archivePath} /> : null}
|
|
21
|
+
{value?._reportedHash ? (
|
|
22
|
+
<Property titleProps={{ elevation }} flexGrow={1} title="Reported Hash" value={value?._reportedHash ?? '<Unknown>'} tip="The has reported by the payload" />
|
|
23
|
+
) : null}
|
|
24
|
+
{value?._timestamp ? (
|
|
25
|
+
<Property titleProps={{ elevation }} flexGrow={1} title="Timestamp" value={value?._timestamp ?? '<Unknown>'} tip="This timestamp of the payload" />
|
|
26
|
+
) : null}
|
|
17
27
|
{value?._observeDuration ? (
|
|
18
|
-
<Property
|
|
28
|
+
<Property
|
|
29
|
+
titleProps={{ elevation }}
|
|
30
|
+
flexGrow={1}
|
|
31
|
+
title="Observation Duration"
|
|
32
|
+
value={value?._observeDuration ?? '<Unknown>'}
|
|
33
|
+
tip="This duration of time observed by the witness"
|
|
34
|
+
/>
|
|
19
35
|
) : null}
|
|
20
36
|
</PropertyGroup>
|
|
21
37
|
)
|
|
@@ -13,9 +13,15 @@ export const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> =
|
|
|
13
13
|
const metaErrors = skipMeta ? [] : validator?.meta.all() ?? []
|
|
14
14
|
const errors: Error[] = [...bodyErrors, ...metaErrors]
|
|
15
15
|
|
|
16
|
+
let elevation = 2
|
|
17
|
+
if (props.paper) {
|
|
18
|
+
elevation += props.elevation ?? 0
|
|
19
|
+
}
|
|
20
|
+
|
|
16
21
|
return (
|
|
17
|
-
<PropertyGroup title="Validation" tip="The results from validating the payload" {...props}>
|
|
22
|
+
<PropertyGroup titleProps={{ elevation }} title="Validation" tip="The results from validating the payload" {...props}>
|
|
18
23
|
<Property
|
|
24
|
+
titleProps={{ elevation }}
|
|
19
25
|
flexGrow={1}
|
|
20
26
|
title="Valid"
|
|
21
27
|
value={errors.length === 0 ? 'True' : 'False'}
|
|
@@ -31,7 +37,7 @@ export const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> =
|
|
|
31
37
|
)
|
|
32
38
|
}
|
|
33
39
|
/>
|
|
34
|
-
{value?.schema && <SchemaProperty value={value.schema} viewSchemaUrl={viewSchemaUrl} />}
|
|
40
|
+
{value?.schema && <SchemaProperty titleProps={{ elevation }} value={value.schema} viewSchemaUrl={viewSchemaUrl} />}
|
|
35
41
|
</PropertyGroup>
|
|
36
42
|
)
|
|
37
43
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { XyoPayload } from '@xyo-network/core'
|
|
2
2
|
import { PropertyGroupProps } from '@xyo-network/react-property'
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export type PayloadValidationDetailsProps = PropertyGroupProps & {
|
|
5
5
|
skipBody?: boolean
|
|
6
6
|
skipMeta?: boolean
|
|
7
7
|
value?: XyoPayload
|