@xyo-network/react-archivist 2.26.28 → 2.26.31
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.d.ts +7 -0
- package/dist/cjs/components/Details.js +31 -0
- package/dist/cjs/components/Details.js.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/contexts/Provider.js +2 -2
- package/dist/cjs/contexts/Provider.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Details.d.ts +7 -0
- package/dist/esm/components/Details.js +24 -0
- package/dist/esm/components/Details.js.map +1 -0
- package/dist/esm/components/index.d.ts +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/contexts/Provider.js +2 -2
- package/dist/esm/contexts/Provider.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Details.stories.tsx +38 -0
- package/src/components/Details.tsx +51 -0
- package/src/components/index.ts +1 -0
- package/src/contexts/Provider.tsx +7 -2
- package/src/index.ts +1 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FlexBoxProps } from '@xylabs/react-flexbox';
|
|
3
|
+
import { XyoArchivist } from '@xyo-network/archivist';
|
|
4
|
+
export interface ArchivistDetails extends FlexBoxProps {
|
|
5
|
+
archivist?: XyoArchivist;
|
|
6
|
+
}
|
|
7
|
+
export declare const ArchivistDetails: React.FC<ArchivistDetails>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArchivistDetails = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const material_1 = require("@mui/material");
|
|
7
|
+
const react_button_1 = require("@xylabs/react-button");
|
|
8
|
+
const react_flexbox_1 = require("@xylabs/react-flexbox");
|
|
9
|
+
const react_shared_1 = require("@xylabs/react-shared");
|
|
10
|
+
const react_1 = require("react");
|
|
11
|
+
const contexts_1 = require("../contexts");
|
|
12
|
+
const ArchivistDetails = (_a) => {
|
|
13
|
+
var { archivist: archivistProp } = _a, props = tslib_1.__rest(_a, ["archivist"]);
|
|
14
|
+
const { archivist = archivistProp } = (0, contexts_1.useArchivist)();
|
|
15
|
+
const [payloads, setPayloads] = (0, react_1.useState)();
|
|
16
|
+
const [refresh, setRefresh] = (0, react_1.useState)(0);
|
|
17
|
+
(0, react_shared_1.useAsyncEffect)(
|
|
18
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
(mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
var _b;
|
|
21
|
+
const payloads = yield ((_b = archivist === null || archivist === void 0 ? void 0 : archivist.all) === null || _b === void 0 ? void 0 : _b.call(archivist));
|
|
22
|
+
if (mounted()) {
|
|
23
|
+
setPayloads(payloads);
|
|
24
|
+
}
|
|
25
|
+
}), [archivist, refresh]);
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexCol, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: `Payloads: ${payloads ? payloads.length : '-'}` }), (0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { children: [(0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ disabled: (archivist === null || archivist === void 0 ? void 0 : archivist.commit) === undefined, onClick: () => { var _a; return (_a = archivist === null || archivist === void 0 ? void 0 : archivist.commit) === null || _a === void 0 ? void 0 : _a.call(archivist); } }, { children: "Commit" })), (0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ disabled: (archivist === null || archivist === void 0 ? void 0 : archivist.clear) === undefined, onClick: () => { var _a; return (_a = archivist === null || archivist === void 0 ? void 0 : archivist.clear) === null || _a === void 0 ? void 0 : _a.call(archivist); } }, { children: "Clear" })), (0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ onClick: () => {
|
|
27
|
+
setRefresh(refresh + 1);
|
|
28
|
+
} }, { children: "Refresh" }))] })] })));
|
|
29
|
+
};
|
|
30
|
+
exports.ArchivistDetails = ArchivistDetails;
|
|
31
|
+
//# sourceMappingURL=Details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../src/components/Details.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAuD;AACvD,uDAA+C;AAC/C,yDAA6D;AAC7D,uDAAqD;AAGrD,iCAAgC;AAEhC,0CAA0C;AAMnC,MAAM,gBAAgB,GAA+B,CAAC,EAAsC,EAAE,EAAE;QAA1C,EAAE,SAAS,EAAE,aAAa,OAAY,EAAP,KAAK,sBAApC,aAAsC,CAAF;IAC/F,MAAM,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,IAAA,uBAAY,GAAE,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEzC,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,yDAAI,CAAA,CAAA;QACzC,IAAI,OAAO,EAAE,EAAE;YACb,WAAW,CAAC,QAAQ,CAAC,CAAA;SACtB;IACH,CAAC,CAAA,EACD,CAAC,SAAS,EAAE,OAAO,CAAC,CACrB,CAAA;IAED,OAAO,CACL,wBAAC,uBAAO,oBAAK,KAAK,eAChB,uBAAC,qBAAU,cAAE,aAAa,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAc,EAC1E,wBAAC,sBAAW,eACV,uBAAC,uBAAQ,kBAAC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,yDAAI,CAAA,EAAA,4BAE9E,EACX,uBAAC,uBAAQ,kBAAC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,MAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,yDAAI,CAAA,EAAA,2BAE5E,EACX,uBAAC,uBAAQ,kBACP,OAAO,EAAE,GAAG,EAAE;4BACZ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;wBACzB,CAAC,6BAGQ,IACC,KACN,CACX,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,gBAAgB,oBAoC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './Details';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB"}
|
|
@@ -19,10 +19,10 @@ const ArchivistProvider = ({ archivist: archivistProp, required = false, childre
|
|
|
19
19
|
exports.ArchivistProvider = ArchivistProvider;
|
|
20
20
|
const MemoryArchivistProvider = (_a) => {
|
|
21
21
|
var _b;
|
|
22
|
-
var { config = {} } = _a, props = tslib_1.__rest(_a, ["config"]);
|
|
22
|
+
var { config = {}, children } = _a, props = tslib_1.__rest(_a, ["config", "children"]);
|
|
23
23
|
const { archivist } = (0, use_1.useArchivist)();
|
|
24
24
|
config.parent = (_b = config.parent) !== null && _b !== void 0 ? _b : archivist;
|
|
25
|
-
return (0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new archivist_1.XyoMemoryArchivist(config) }, props));
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new archivist_1.XyoMemoryArchivist(config) }, props, { children: children })));
|
|
26
26
|
};
|
|
27
27
|
exports.MemoryArchivistProvider = MemoryArchivistProvider;
|
|
28
28
|
const RemoteArchivistProvider = (_a) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AACA,0CAA+E;AAC/E,sDAA6F;AAC7F,iCAAgC;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AACA,0CAA+E;AAC/E,sDAA6F;AAC7F,iCAAgC;AAGhC,uCAA4C;AAC5C,+BAAoC;AAO7B,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,uBAAC,0BAAgB,CAAC,QAAQ,kBACxB,KAAK,EAAE;YACL,SAAS;YACT,QAAQ,EAAE,IAAI;YACd,YAAY;SACb,gBAEA,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IACxB,CAC7B,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,iBAAiB,qBAc7B;AAOM,MAAM,uBAAuB,GAAyD,CAAC,EAAmC,EAAE,EAAE;;QAAvC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAAjC,sBAAmC,CAAF;IAC7H,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,SAAS,CAAA;IAC1C,OAAO,CACL,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,8BAAkB,CAAC,MAAM,CAAC,IAAM,KAAK,cACpE,QAAQ,IACS,CACrB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,uBAAuB,2BAQnC;AAOM,MAAM,uBAAuB,GAAsD,CAAC,EAAyB,EAAE,EAAE;;QAA7B,EAAE,MAAM,GAAG,EAAE,OAAY,EAAP,KAAK,sBAAvB,UAAyB,CAAF;IAChH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,SAAS,CAAA;IAC1C,OAAO,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,wBAAkB,CAAC,MAAM,CAAC,IAAM,KAAK,EAAI,CAAA;AACpF,CAAC,CAAA;AAJY,QAAA,uBAAuB,2BAInC"}
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,qDAA0B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FlexBoxProps } from '@xylabs/react-flexbox';
|
|
3
|
+
import { XyoArchivist } from '@xyo-network/archivist';
|
|
4
|
+
export interface ArchivistDetails extends FlexBoxProps {
|
|
5
|
+
archivist?: XyoArchivist;
|
|
6
|
+
}
|
|
7
|
+
export declare const ArchivistDetails: React.FC<ArchivistDetails>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ButtonGroup, Typography } from '@mui/material';
|
|
3
|
+
import { ButtonEx } from '@xylabs/react-button';
|
|
4
|
+
import { FlexCol } from '@xylabs/react-flexbox';
|
|
5
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
6
|
+
import { useState } from 'react';
|
|
7
|
+
import { useArchivist } from '../contexts';
|
|
8
|
+
export const ArchivistDetails = ({ archivist: archivistProp, ...props }) => {
|
|
9
|
+
const { archivist = archivistProp } = useArchivist();
|
|
10
|
+
const [payloads, setPayloads] = useState();
|
|
11
|
+
const [refresh, setRefresh] = useState(0);
|
|
12
|
+
useAsyncEffect(
|
|
13
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14
|
+
async (mounted) => {
|
|
15
|
+
const payloads = await archivist?.all?.();
|
|
16
|
+
if (mounted()) {
|
|
17
|
+
setPayloads(payloads);
|
|
18
|
+
}
|
|
19
|
+
}, [archivist, refresh]);
|
|
20
|
+
return (_jsxs(FlexCol, { ...props, children: [_jsx(Typography, { children: `Payloads: ${payloads ? payloads.length : '-'}` }), _jsxs(ButtonGroup, { children: [_jsx(ButtonEx, { disabled: archivist?.commit === undefined, onClick: () => archivist?.commit?.(), children: "Commit" }), _jsx(ButtonEx, { disabled: archivist?.clear === undefined, onClick: () => archivist?.clear?.(), children: "Clear" }), _jsx(ButtonEx, { onClick: () => {
|
|
21
|
+
setRefresh(refresh + 1);
|
|
22
|
+
}, children: "Refresh" })] })] }));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=Details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../src/components/Details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACrG,MAAM,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,GAAG,EAAE,EAAE,CAAA;QACzC,IAAI,OAAO,EAAE,EAAE;YACb,WAAW,CAAC,QAAQ,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,CAAC,CACrB,CAAA;IAED,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,aAChB,KAAC,UAAU,cAAE,aAAa,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAc,EAC1E,MAAC,WAAW,eACV,KAAC,QAAQ,IAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,uBAE9E,EACX,KAAC,QAAQ,IAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,sBAE5E,EACX,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,EAAE;4BACZ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;wBACzB,CAAC,wBAGQ,IACC,IACN,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './Details';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './Details';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|
|
@@ -12,10 +12,10 @@ export const ArchivistProvider = ({ archivist: archivistProp, required = false,
|
|
|
12
12
|
setArchivist,
|
|
13
13
|
}, children: archivist ? children : required ? null : children }));
|
|
14
14
|
};
|
|
15
|
-
export const MemoryArchivistProvider = ({ config = {}, ...props }) => {
|
|
15
|
+
export const MemoryArchivistProvider = ({ config = {}, children, ...props }) => {
|
|
16
16
|
const { archivist } = useArchivist();
|
|
17
17
|
config.parent = config.parent ?? archivist;
|
|
18
|
-
return _jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(config), ...props });
|
|
18
|
+
return (_jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(config), ...props, children: children }));
|
|
19
19
|
};
|
|
20
20
|
export const RemoteArchivistProvider = ({ config = {}, ...props }) => {
|
|
21
21
|
const { archivist } = useArchivist();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAoC,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAoC,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOpC,MAAM,CAAC,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,SAAS;YACT,QAAQ,EAAE,IAAI;YACd,YAAY;SACb,YAEA,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACxB,CAC7B,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnI,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,OAAO,CACL,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAM,KAAK,YACpE,QAAQ,GACS,CACrB,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAsD,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACtH,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAM,KAAK,GAAI,CAAA;AACpF,CAAC,CAAA"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@xyo-network/archivist": "^2.22.11",
|
|
22
22
|
"@xyo-network/boundwitness": "^2.22.11",
|
|
23
23
|
"@xyo-network/payload": "^2.22.11",
|
|
24
|
-
"@xyo-network/react-shared": "^2.26.
|
|
24
|
+
"@xyo-network/react-shared": "^2.26.31",
|
|
25
25
|
"lru-cache": "^7.13.1",
|
|
26
26
|
"react": "^18.2.0",
|
|
27
27
|
"react-dom": "^18.2.0",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
},
|
|
83
83
|
"sideEffects": false,
|
|
84
84
|
"types": "dist/esm/index.d.ts",
|
|
85
|
-
"version": "2.26.
|
|
85
|
+
"version": "2.26.31"
|
|
86
86
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ComponentMeta, ComponentStory } from '@storybook/react'
|
|
2
|
+
import { forget } from '@xylabs/sdk-js'
|
|
3
|
+
import { XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
4
|
+
|
|
5
|
+
import { appThemeDecorator } from '../../../../.storybook'
|
|
6
|
+
import { ArchivistDetails } from './Details'
|
|
7
|
+
|
|
8
|
+
const StorybookEntry = {
|
|
9
|
+
argTypes: {},
|
|
10
|
+
component: ArchivistDetails,
|
|
11
|
+
parameters: {
|
|
12
|
+
docs: {
|
|
13
|
+
page: null,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
title: 'archivist/Details',
|
|
17
|
+
} as ComponentMeta<typeof ArchivistDetails>
|
|
18
|
+
|
|
19
|
+
const Template: ComponentStory<typeof ArchivistDetails> = (args) => <ArchivistDetails {...args}></ArchivistDetails>
|
|
20
|
+
|
|
21
|
+
const archivist = new XyoMemoryArchivist()
|
|
22
|
+
const initArchivist = async () => {
|
|
23
|
+
await archivist.insert?.([{ schema: 'network.xyo.test' }])
|
|
24
|
+
}
|
|
25
|
+
forget(initArchivist())
|
|
26
|
+
|
|
27
|
+
const Default = Template.bind({})
|
|
28
|
+
Default.args = {}
|
|
29
|
+
Default.decorators = [appThemeDecorator]
|
|
30
|
+
|
|
31
|
+
const WithData = Template.bind({})
|
|
32
|
+
WithData.args = { archivist }
|
|
33
|
+
WithData.decorators = [appThemeDecorator]
|
|
34
|
+
|
|
35
|
+
export { Default, WithData }
|
|
36
|
+
|
|
37
|
+
// eslint-disable-next-line import/no-default-export
|
|
38
|
+
export default StorybookEntry
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ButtonGroup, Typography } from '@mui/material'
|
|
2
|
+
import { ButtonEx } from '@xylabs/react-button'
|
|
3
|
+
import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
|
|
4
|
+
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
5
|
+
import { XyoArchivist } from '@xyo-network/archivist'
|
|
6
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
7
|
+
import { useState } from 'react'
|
|
8
|
+
|
|
9
|
+
import { useArchivist } from '../contexts'
|
|
10
|
+
|
|
11
|
+
export interface ArchivistDetails extends FlexBoxProps {
|
|
12
|
+
archivist?: XyoArchivist
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const ArchivistDetails: React.FC<ArchivistDetails> = ({ archivist: archivistProp, ...props }) => {
|
|
16
|
+
const { archivist = archivistProp } = useArchivist()
|
|
17
|
+
const [payloads, setPayloads] = useState<XyoPayload[]>()
|
|
18
|
+
const [refresh, setRefresh] = useState(0)
|
|
19
|
+
|
|
20
|
+
useAsyncEffect(
|
|
21
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
+
async (mounted) => {
|
|
23
|
+
const payloads = await archivist?.all?.()
|
|
24
|
+
if (mounted()) {
|
|
25
|
+
setPayloads(payloads)
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
[archivist, refresh]
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<FlexCol {...props}>
|
|
33
|
+
<Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>
|
|
34
|
+
<ButtonGroup>
|
|
35
|
+
<ButtonEx disabled={archivist?.commit === undefined} onClick={() => archivist?.commit?.()}>
|
|
36
|
+
Commit
|
|
37
|
+
</ButtonEx>
|
|
38
|
+
<ButtonEx disabled={archivist?.clear === undefined} onClick={() => archivist?.clear?.()}>
|
|
39
|
+
Clear
|
|
40
|
+
</ButtonEx>
|
|
41
|
+
<ButtonEx
|
|
42
|
+
onClick={() => {
|
|
43
|
+
setRefresh(refresh + 1)
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
Refresh
|
|
47
|
+
</ButtonEx>
|
|
48
|
+
</ButtonGroup>
|
|
49
|
+
</FlexCol>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Details'
|
|
@@ -3,6 +3,7 @@ import { XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
|
|
|
3
3
|
import { XyoArchivist, XyoArchivistConfig, XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
4
4
|
import { useState } from 'react'
|
|
5
5
|
|
|
6
|
+
import { ArchivistDetails } from '../components'
|
|
6
7
|
import { ArchivistContext } from './Context'
|
|
7
8
|
import { useArchivist } from './use'
|
|
8
9
|
|
|
@@ -32,10 +33,14 @@ export interface MemoryArchivistProviderProps {
|
|
|
32
33
|
config?: XyoArchivistConfig
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({ config = {}, ...props }) => {
|
|
36
|
+
export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({ config = {}, children, ...props }) => {
|
|
36
37
|
const { archivist } = useArchivist()
|
|
37
38
|
config.parent = config.parent ?? archivist
|
|
38
|
-
return
|
|
39
|
+
return (
|
|
40
|
+
<ArchivistProvider archivist={new XyoMemoryArchivist(config)} {...props}>
|
|
41
|
+
{children}
|
|
42
|
+
</ArchivistProvider>
|
|
43
|
+
)
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
export interface ApiArchivistProviderProps {
|
package/src/index.ts
CHANGED