@xyo-network/react-archivist 2.26.27 → 2.26.30
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.d.ts +4 -5
- package/dist/cjs/contexts/Provider.js +10 -5
- package/dist/cjs/contexts/Provider.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.d.ts +4 -5
- package/dist/esm/contexts/Provider.js +8 -5
- package/dist/esm/contexts/Provider.js.map +1 -1
- package/package.json +6 -6
- 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 +17 -10
|
@@ -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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
-
import {
|
|
4
|
-
import { XyoArchivist } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoRemoteArchivistConfig } from '@xyo-network/api';
|
|
4
|
+
import { XyoArchivist, XyoArchivistConfig } from '@xyo-network/archivist';
|
|
5
5
|
export interface ArchivistProviderProps {
|
|
6
6
|
required?: boolean;
|
|
7
7
|
archivist?: XyoArchivist;
|
|
@@ -9,12 +9,11 @@ export interface ArchivistProviderProps {
|
|
|
9
9
|
export declare const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>>;
|
|
10
10
|
export interface MemoryArchivistProviderProps {
|
|
11
11
|
required?: boolean;
|
|
12
|
-
|
|
12
|
+
config?: XyoArchivistConfig;
|
|
13
13
|
}
|
|
14
14
|
export declare const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>>;
|
|
15
15
|
export interface ApiArchivistProviderProps {
|
|
16
16
|
required?: boolean;
|
|
17
|
-
|
|
18
|
-
archive: string;
|
|
17
|
+
config?: XyoRemoteArchivistConfig;
|
|
19
18
|
}
|
|
20
19
|
export declare const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>>;
|
|
@@ -18,14 +18,19 @@ const ArchivistProvider = ({ archivist: archivistProp, required = false, childre
|
|
|
18
18
|
};
|
|
19
19
|
exports.ArchivistProvider = ArchivistProvider;
|
|
20
20
|
const MemoryArchivistProvider = (_a) => {
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
var _b;
|
|
22
|
+
var { config = {}, children } = _a, props = tslib_1.__rest(_a, ["config", "children"]);
|
|
23
|
+
const { archivist } = (0, use_1.useArchivist)();
|
|
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, { children: children })));
|
|
24
26
|
};
|
|
25
27
|
exports.MemoryArchivistProvider = MemoryArchivistProvider;
|
|
26
28
|
const RemoteArchivistProvider = (_a) => {
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
+
var _b;
|
|
30
|
+
var { config = {} } = _a, props = tslib_1.__rest(_a, ["config"]);
|
|
31
|
+
const { archivist } = (0, use_1.useArchivist)();
|
|
32
|
+
config.parent = (_b = config.parent) !== null && _b !== void 0 ? _b : archivist;
|
|
33
|
+
return (0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new api_1.XyoRemoteArchivist(config) }, props));
|
|
29
34
|
};
|
|
30
35
|
exports.RemoteArchivistProvider = RemoteArchivistProvider;
|
|
31
36
|
//# sourceMappingURL=Provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AACA,
|
|
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"}
|
|
@@ -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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
-
import {
|
|
4
|
-
import { XyoArchivist } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoRemoteArchivistConfig } from '@xyo-network/api';
|
|
4
|
+
import { XyoArchivist, XyoArchivistConfig } from '@xyo-network/archivist';
|
|
5
5
|
export interface ArchivistProviderProps {
|
|
6
6
|
required?: boolean;
|
|
7
7
|
archivist?: XyoArchivist;
|
|
@@ -9,12 +9,11 @@ export interface ArchivistProviderProps {
|
|
|
9
9
|
export declare const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>>;
|
|
10
10
|
export interface MemoryArchivistProviderProps {
|
|
11
11
|
required?: boolean;
|
|
12
|
-
|
|
12
|
+
config?: XyoArchivistConfig;
|
|
13
13
|
}
|
|
14
14
|
export declare const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>>;
|
|
15
15
|
export interface ApiArchivistProviderProps {
|
|
16
16
|
required?: boolean;
|
|
17
|
-
|
|
18
|
-
archive: string;
|
|
17
|
+
config?: XyoRemoteArchivistConfig;
|
|
19
18
|
}
|
|
20
19
|
export declare const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>>;
|
|
@@ -12,11 +12,14 @@ export const ArchivistProvider = ({ archivist: archivistProp, required = false,
|
|
|
12
12
|
setArchivist,
|
|
13
13
|
}, children: archivist ? children : required ? null : children }));
|
|
14
14
|
};
|
|
15
|
-
export const MemoryArchivistProvider = ({
|
|
16
|
-
const { archivist
|
|
17
|
-
|
|
15
|
+
export const MemoryArchivistProvider = ({ config = {}, children, ...props }) => {
|
|
16
|
+
const { archivist } = useArchivist();
|
|
17
|
+
config.parent = config.parent ?? archivist;
|
|
18
|
+
return (_jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(config), ...props, children: children }));
|
|
18
19
|
};
|
|
19
|
-
export const RemoteArchivistProvider = ({
|
|
20
|
-
|
|
20
|
+
export const RemoteArchivistProvider = ({ config = {}, ...props }) => {
|
|
21
|
+
const { archivist } = useArchivist();
|
|
22
|
+
config.parent = config.parent ?? archivist;
|
|
23
|
+
return _jsx(ArchivistProvider, { archivist: new XyoRemoteArchivist(config), ...props });
|
|
21
24
|
};
|
|
22
25
|
//# sourceMappingURL=Provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,
|
|
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/package.json
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"@xylabs/react-flexbox": "^2.14.10",
|
|
18
18
|
"@xylabs/react-shared": "^2.14.10",
|
|
19
19
|
"@xylabs/sdk-js": "2.6.2",
|
|
20
|
-
"@xyo-network/api": "^2.22.
|
|
21
|
-
"@xyo-network/archivist": "^2.22.
|
|
22
|
-
"@xyo-network/boundwitness": "^2.22.
|
|
23
|
-
"@xyo-network/payload": "^2.22.
|
|
24
|
-
"@xyo-network/react-shared": "^2.26.
|
|
20
|
+
"@xyo-network/api": "^2.22.11",
|
|
21
|
+
"@xyo-network/archivist": "^2.22.11",
|
|
22
|
+
"@xyo-network/boundwitness": "^2.22.11",
|
|
23
|
+
"@xyo-network/payload": "^2.22.11",
|
|
24
|
+
"@xyo-network/react-shared": "^2.26.30",
|
|
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.30"
|
|
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'
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
-
import {
|
|
3
|
-
import { XyoArchivist, XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
2
|
+
import { XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
|
|
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
|
|
|
@@ -29,20 +30,26 @@ export const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>> =
|
|
|
29
30
|
|
|
30
31
|
export interface MemoryArchivistProviderProps {
|
|
31
32
|
required?: boolean
|
|
32
|
-
|
|
33
|
+
config?: XyoArchivistConfig
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({
|
|
36
|
-
const { archivist
|
|
37
|
-
|
|
36
|
+
export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({ config = {}, children, ...props }) => {
|
|
37
|
+
const { archivist } = useArchivist()
|
|
38
|
+
config.parent = config.parent ?? archivist
|
|
39
|
+
return (
|
|
40
|
+
<ArchivistProvider archivist={new XyoMemoryArchivist(config)} {...props}>
|
|
41
|
+
{children}
|
|
42
|
+
</ArchivistProvider>
|
|
43
|
+
)
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
export interface ApiArchivistProviderProps {
|
|
41
47
|
required?: boolean
|
|
42
|
-
|
|
43
|
-
archive: string
|
|
48
|
+
config?: XyoRemoteArchivistConfig
|
|
44
49
|
}
|
|
45
50
|
|
|
46
|
-
export const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>> = ({
|
|
47
|
-
|
|
51
|
+
export const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>> = ({ config = {}, ...props }) => {
|
|
52
|
+
const { archivist } = useArchivist()
|
|
53
|
+
config.parent = config.parent ?? archivist
|
|
54
|
+
return <ArchivistProvider archivist={new XyoRemoteArchivist(config)} {...props} />
|
|
48
55
|
}
|