@journeyapps-labs/reactor-mod-data-browser 0.0.0-dev-20250825225306
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/CHANGELOG.md +42 -0
- package/README.md +3 -0
- package/dist/@types/DataBrowserModule.d.ts +7 -0
- package/dist/@types/actions/connections/AddConnectionAction.d.ts +10 -0
- package/dist/@types/actions/connections/RemoveConnectionAction.d.ts +10 -0
- package/dist/@types/actions/schema-definitions/CreateModelAction.d.ts +9 -0
- package/dist/@types/actions/schema-definitions/QuerySchemaModelAction.d.ts +9 -0
- package/dist/@types/actions/schema-model/EditSchemaModelAction.d.ts +9 -0
- package/dist/@types/core/AbstractConnection.d.ts +34 -0
- package/dist/@types/core/AbstractConnectionFactory.d.ts +11 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +20 -0
- package/dist/@types/core/SchemaModelObject.d.ts +16 -0
- package/dist/@types/core/query/AbstractQuery.d.ts +22 -0
- package/dist/@types/core/query/Page.d.ts +24 -0
- package/dist/@types/core/query/SimpleQuery.d.ts +37 -0
- package/dist/@types/core/types/ManualConnection.d.ts +15 -0
- package/dist/@types/core/types/ManualConnectionFactory.d.ts +9 -0
- package/dist/@types/entities/ConnectionEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/ConnectionFactoryEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/QueryEntityDefinition.d.ts +9 -0
- package/dist/@types/entities/SchemaModelDefinitionEntityDefinition.d.ts +13 -0
- package/dist/@types/entities/SchemaModelObjectEntityDefinition.d.ts +14 -0
- package/dist/@types/entities.d.ts +7 -0
- package/dist/@types/forms/APIConnectionForm.d.ts +12 -0
- package/dist/@types/forms/SchemaModelForm.d.ts +11 -0
- package/dist/@types/forms/inputs/LocationInput.d.ts +13 -0
- package/dist/@types/index.d.ts +25 -0
- package/dist/@types/panels/model/ModelPanelFactory.d.ts +28 -0
- package/dist/@types/panels/model/ModelPanelWidget.d.ts +6 -0
- package/dist/@types/panels/query/PageResultsWidget.d.ts +8 -0
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +33 -0
- package/dist/@types/panels/query/QueryPanelWidget.d.ts +6 -0
- package/dist/@types/panels/query/TableControlsWidget.d.ts +10 -0
- package/dist/@types/stores/ConnectionStore.d.ts +20 -0
- package/dist/DataBrowserModule.js +45 -0
- package/dist/DataBrowserModule.js.map +1 -0
- package/dist/actions/connections/AddConnectionAction.js +48 -0
- package/dist/actions/connections/AddConnectionAction.js.map +1 -0
- package/dist/actions/connections/RemoveConnectionAction.js +43 -0
- package/dist/actions/connections/RemoveConnectionAction.js.map +1 -0
- package/dist/actions/schema-definitions/CreateModelAction.js +45 -0
- package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -0
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js +47 -0
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -0
- package/dist/actions/schema-model/EditSchemaModelAction.js +46 -0
- package/dist/actions/schema-model/EditSchemaModelAction.js.map +1 -0
- package/dist/core/AbstractConnection.js +71 -0
- package/dist/core/AbstractConnection.js.map +1 -0
- package/dist/core/AbstractConnectionFactory.js +6 -0
- package/dist/core/AbstractConnectionFactory.js.map +1 -0
- package/dist/core/SchemaModelDefinition.js +31 -0
- package/dist/core/SchemaModelDefinition.js.map +1 -0
- package/dist/core/SchemaModelObject.js +51 -0
- package/dist/core/SchemaModelObject.js.map +1 -0
- package/dist/core/query/AbstractQuery.js +18 -0
- package/dist/core/query/AbstractQuery.js.map +1 -0
- package/dist/core/query/Page.js +65 -0
- package/dist/core/query/Page.js.map +1 -0
- package/dist/core/query/SimpleQuery.js +197 -0
- package/dist/core/query/SimpleQuery.js.map +1 -0
- package/dist/core/types/ManualConnection.js +23 -0
- package/dist/core/types/ManualConnection.js.map +1 -0
- package/dist/core/types/ManualConnectionFactory.js +50 -0
- package/dist/core/types/ManualConnectionFactory.js.map +1 -0
- package/dist/entities/ConnectionEntityDefinition.js +75 -0
- package/dist/entities/ConnectionEntityDefinition.js.map +1 -0
- package/dist/entities/ConnectionFactoryEntityDefinition.js +60 -0
- package/dist/entities/ConnectionFactoryEntityDefinition.js.map +1 -0
- package/dist/entities/QueryEntityDefinition.js +60 -0
- package/dist/entities/QueryEntityDefinition.js.map +1 -0
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js +76 -0
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -0
- package/dist/entities/SchemaModelObjectEntityDefinition.js +76 -0
- package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -0
- package/dist/entities.js +9 -0
- package/dist/entities.js.map +1 -0
- package/dist/forms/APIConnectionForm.js +31 -0
- package/dist/forms/APIConnectionForm.js.map +1 -0
- package/dist/forms/SchemaModelForm.js +87 -0
- package/dist/forms/SchemaModelForm.js.map +1 -0
- package/dist/forms/inputs/LocationInput.js +74 -0
- package/dist/forms/inputs/LocationInput.js.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/panels/model/ModelPanelFactory.js +94 -0
- package/dist/panels/model/ModelPanelFactory.js.map +1 -0
- package/dist/panels/model/ModelPanelWidget.js +46 -0
- package/dist/panels/model/ModelPanelWidget.js.map +1 -0
- package/dist/panels/query/PageResultsWidget.js +24 -0
- package/dist/panels/query/PageResultsWidget.js.map +1 -0
- package/dist/panels/query/QueryPanelFactory.js +94 -0
- package/dist/panels/query/QueryPanelFactory.js.map +1 -0
- package/dist/panels/query/QueryPanelWidget.js +41 -0
- package/dist/panels/query/QueryPanelWidget.js.map +1 -0
- package/dist/panels/query/TableControlsWidget.js +52 -0
- package/dist/panels/query/TableControlsWidget.js.map +1 -0
- package/dist/stores/ConnectionStore.js +93 -0
- package/dist/stores/ConnectionStore.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist-module/bundle.js +49 -0
- package/dist-module/bundle.js.LICENSE.txt +16 -0
- package/dist-module/bundle.js.map +1 -0
- package/package.json +41 -0
- package/reactor.config.json +4 -0
- package/src/DataBrowserModule.ts +54 -0
- package/src/actions/connections/AddConnectionAction.tsx +33 -0
- package/src/actions/connections/RemoveConnectionAction.tsx +28 -0
- package/src/actions/schema-definitions/CreateModelAction.ts +32 -0
- package/src/actions/schema-definitions/QuerySchemaModelAction.ts +36 -0
- package/src/actions/schema-model/EditSchemaModelAction.ts +33 -0
- package/src/core/AbstractConnection.ts +104 -0
- package/src/core/AbstractConnectionFactory.ts +14 -0
- package/src/core/SchemaModelDefinition.ts +44 -0
- package/src/core/SchemaModelObject.ts +46 -0
- package/src/core/query/AbstractQuery.ts +43 -0
- package/src/core/query/Page.ts +59 -0
- package/src/core/query/SimpleQuery.tsx +218 -0
- package/src/core/types/ManualConnection.ts +35 -0
- package/src/core/types/ManualConnectionFactory.tsx +36 -0
- package/src/entities/ConnectionEntityDefinition.tsx +79 -0
- package/src/entities/ConnectionFactoryEntityDefinition.tsx +54 -0
- package/src/entities/QueryEntityDefinition.ts +46 -0
- package/src/entities/SchemaModelDefinitionEntityDefinition.ts +82 -0
- package/src/entities/SchemaModelObjectEntityDefinition.ts +78 -0
- package/src/entities.ts +7 -0
- package/src/forms/APIConnectionForm.tsx +48 -0
- package/src/forms/SchemaModelForm.tsx +116 -0
- package/src/forms/inputs/LocationInput.tsx +104 -0
- package/src/index.ts +27 -0
- package/src/panels/model/ModelPanelFactory.tsx +78 -0
- package/src/panels/model/ModelPanelWidget.tsx +76 -0
- package/src/panels/query/PageResultsWidget.tsx +52 -0
- package/src/panels/query/QueryPanelFactory.tsx +76 -0
- package/src/panels/query/QueryPanelWidget.tsx +72 -0
- package/src/panels/query/TableControlsWidget.tsx +85 -0
- package/src/stores/ConnectionStore.ts +87 -0
- package/tsconfig.json +14 -0
- package/webpack.config.js +9 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
4
|
+
import styled from '@emotion/styled';
|
|
5
|
+
import { BorderLayoutWidget, LoadingPanelWidget } from '@journeyapps-labs/reactor-mod';
|
|
6
|
+
import { PageResultsWidget } from './PageResultsWidget';
|
|
7
|
+
import { TableControlsWidget } from './TableControlsWidget';
|
|
8
|
+
var S;
|
|
9
|
+
(function (S) {
|
|
10
|
+
S.Container = styled.div `
|
|
11
|
+
position: absolute;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
`;
|
|
15
|
+
})(S || (S = {}));
|
|
16
|
+
export const QueryPanelWidget = observer((props) => {
|
|
17
|
+
const [page, setPage] = useState(null);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (!props.model.query) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
props.model.query.load();
|
|
23
|
+
}, [props.model.query]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (props.model.query) {
|
|
26
|
+
setPage(props.model.query.getPage(props.model.current_page));
|
|
27
|
+
}
|
|
28
|
+
}, [props.model.query]);
|
|
29
|
+
return (React.createElement(LoadingPanelWidget, { loading: !props.model.query || !page }, () => {
|
|
30
|
+
return (React.createElement(S.Container, null,
|
|
31
|
+
React.createElement(BorderLayoutWidget, { top: React.createElement(TableControlsWidget, { query: props.model.query, current_page: page, goToPage: (index) => {
|
|
32
|
+
setPage(props.model.query.getPage(index));
|
|
33
|
+
props.model.current_page = index;
|
|
34
|
+
} }), bottom: React.createElement(TableControlsWidget, { query: props.model.query, current_page: page, goToPage: (index) => {
|
|
35
|
+
setPage(props.model.query.getPage(index));
|
|
36
|
+
props.model.current_page = index;
|
|
37
|
+
} }) },
|
|
38
|
+
React.createElement(PageResultsWidget, { query: props.model.query, page: page }))));
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=QueryPanelWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryPanelWidget.js","sourceRoot":"","sources":["../../../src/panels/query/QueryPanelWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACI,WAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;GAIlC,CAAC;AACJ,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAoC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;IAClF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,IAAI,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,oBAAC,kBAAkB,IAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,IACrD,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,CAAC,CAAC,SAAS;YACV,oBAAC,kBAAkB,IACjB,GAAG,EACD,oBAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EACxB,YAAY,EAAE,IAAI,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC1C,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;oBACnC,CAAC,GACD,EAEJ,MAAM,EACJ,oBAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EACxB,YAAY,EAAE,IAAI,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC1C,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;oBACnC,CAAC,GACD;gBAGJ,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CACxC,CACT,CACf,CAAC;IACJ,CAAC,CACkB,CACtB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PanelButtonWidget, PanelDropdownWidget, styled } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
4
|
+
import * as _ from 'lodash';
|
|
5
|
+
export const TableControlsWidget = observer((props) => {
|
|
6
|
+
var _a;
|
|
7
|
+
return (React.createElement(S.Container, { className: props.className },
|
|
8
|
+
React.createElement(PanelButtonWidget, { disabled: ((_a = props.current_page) === null || _a === void 0 ? void 0 : _a.index) === 0, label: "Prev", action: () => {
|
|
9
|
+
props.goToPage(props.current_page.index - 1);
|
|
10
|
+
} }),
|
|
11
|
+
React.createElement(S.PageSelector, null,
|
|
12
|
+
React.createElement(PanelDropdownWidget, { onChange: ({ key }) => {
|
|
13
|
+
props.goToPage(parseInt(key));
|
|
14
|
+
}, selected: `${props.current_page.index}`, items: _.range(0, props.query.totalPages).map((r) => {
|
|
15
|
+
return {
|
|
16
|
+
title: `${r + 1}`,
|
|
17
|
+
key: `${r}`
|
|
18
|
+
};
|
|
19
|
+
}) }),
|
|
20
|
+
React.createElement(S.TotalPages, null,
|
|
21
|
+
"/ ",
|
|
22
|
+
props.query.totalPages)),
|
|
23
|
+
React.createElement(PanelButtonWidget, { disabled: props.query.totalPages == props.current_page.index + 1, label: "Next", action: () => {
|
|
24
|
+
props.goToPage(props.current_page.index + 1);
|
|
25
|
+
} }),
|
|
26
|
+
React.createElement(PanelButtonWidget, { label: "Page", tooltip: "Reload page", icon: "refresh", action: () => {
|
|
27
|
+
props.current_page.load();
|
|
28
|
+
} }),
|
|
29
|
+
React.createElement(PanelButtonWidget, { label: "Query", tooltip: "Reload Query", icon: "refresh", action: async (event, loading) => {
|
|
30
|
+
await props.query.load();
|
|
31
|
+
} })));
|
|
32
|
+
});
|
|
33
|
+
var S;
|
|
34
|
+
(function (S) {
|
|
35
|
+
S.Container = styled.div `
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: row;
|
|
38
|
+
column-gap: 5px;
|
|
39
|
+
padding: 5px 5px;
|
|
40
|
+
align-items: center;
|
|
41
|
+
`;
|
|
42
|
+
S.PageSelector = styled.div `
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: row;
|
|
45
|
+
align-items: center;
|
|
46
|
+
`;
|
|
47
|
+
S.TotalPages = styled.div `
|
|
48
|
+
color: ${(p) => p.theme.text.primary};
|
|
49
|
+
padding-left: 5px;
|
|
50
|
+
`;
|
|
51
|
+
})(S || (S = {}));
|
|
52
|
+
//# sourceMappingURL=TableControlsWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableControlsWidget.js","sourceRoot":"","sources":["../../../src/panels/query/TableControlsWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAgB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE7G,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAU5B,MAAM,CAAC,MAAM,mBAAmB,GAAuC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;;IACxF,OAAO,CACL,oBAAC,CAAC,CAAC,SAAS,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS;QACrC,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,MAAK,CAAC,EACzC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC,GACD;QACF,oBAAC,CAAC,CAAC,YAAY;YACb,oBAAC,mBAAmB,IAClB,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACpB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC,EACD,QAAQ,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EACvC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClD,OAAO;wBACL,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;wBACjB,GAAG,EAAE,GAAG,CAAC,EAAE;qBACI,CAAC;gBACpB,CAAC,CAAC,GACF;YACF,oBAAC,CAAC,CAAC,UAAU;;gBAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAgB,CACxC;QACjB,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,EAChE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC,GACD;QACF,oBAAC,iBAAiB,IAChB,KAAK,EAAC,MAAM,EACZ,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,SAAS,EACd,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,GACD;QACF,oBAAC,iBAAiB,IAChB,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,cAAc,EACtB,IAAI,EAAC,SAAS,EACd,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC,GACD,CACU,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,IAAU,CAAC,CAmBV;AAnBD,WAAU,CAAC;IACI,WAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;GAMlC,CAAC;IAEW,cAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;;;GAIrC,CAAC;IAEW,YAAU,GAAG,MAAM,CAAC,GAAG,CAAA;aACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;;GAErC,CAAC;AACJ,CAAC,EAnBS,CAAC,KAAD,CAAC,QAmBV"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { AbstractStore, LocalStorageSerializer } from '@journeyapps-labs/reactor-mod';
|
|
3
|
+
import { action, computed, observable, when } from 'mobx';
|
|
4
|
+
let ConnectionStore = (() => {
|
|
5
|
+
var _a, _ConnectionStore__connections_accessor_storage;
|
|
6
|
+
let _classSuper = AbstractStore;
|
|
7
|
+
let _instanceExtraInitializers = [];
|
|
8
|
+
let __connections_decorators;
|
|
9
|
+
let __connections_initializers = [];
|
|
10
|
+
let __connections_extraInitializers = [];
|
|
11
|
+
let _get_connections_decorators;
|
|
12
|
+
let _deserialize_decorators;
|
|
13
|
+
return _a = class ConnectionStore extends _classSuper {
|
|
14
|
+
get _connections() { return __classPrivateFieldGet(this, _ConnectionStore__connections_accessor_storage, "f"); }
|
|
15
|
+
set _connections(value) { __classPrivateFieldSet(this, _ConnectionStore__connections_accessor_storage, value, "f"); }
|
|
16
|
+
constructor() {
|
|
17
|
+
super({
|
|
18
|
+
name: 'CONNECTION_STORE',
|
|
19
|
+
serializer: new LocalStorageSerializer({
|
|
20
|
+
key: 'CONNECTION_STORE'
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
_ConnectionStore__connections_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, __connections_initializers, void 0)));
|
|
24
|
+
this._connectionFactories = __runInitializers(this, __connections_extraInitializers);
|
|
25
|
+
this._connections = new Set();
|
|
26
|
+
this._connectionFactories = new Map();
|
|
27
|
+
}
|
|
28
|
+
get connections() {
|
|
29
|
+
return Array.from(this._connections.values());
|
|
30
|
+
}
|
|
31
|
+
get connectionFactories() {
|
|
32
|
+
return Array.from(this._connectionFactories.values());
|
|
33
|
+
}
|
|
34
|
+
serialize() {
|
|
35
|
+
return {
|
|
36
|
+
connections: this.connections.map((m) => m.serialize())
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
getConnectionByID(id) {
|
|
40
|
+
return this.connections.find((c) => c.id === id);
|
|
41
|
+
}
|
|
42
|
+
async waitForReadyForConnection(id) {
|
|
43
|
+
await when(() => {
|
|
44
|
+
return !!this.getConnectionByID(id);
|
|
45
|
+
});
|
|
46
|
+
return this.getConnectionByID(id);
|
|
47
|
+
}
|
|
48
|
+
async deserializeConnection(data) {
|
|
49
|
+
let conn = this._connectionFactories.get(data.factory).generateConnection();
|
|
50
|
+
conn.id = data.id;
|
|
51
|
+
await conn._deSerialize(data.payload);
|
|
52
|
+
return conn;
|
|
53
|
+
}
|
|
54
|
+
async deserialize(data) {
|
|
55
|
+
let connections = await Promise.all(data.connections.map((connSer) => {
|
|
56
|
+
return this.deserializeConnection(connSer);
|
|
57
|
+
}));
|
|
58
|
+
connections.forEach((c) => {
|
|
59
|
+
this.addConnection(c);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
registerConnectionFactory(factory) {
|
|
63
|
+
this._connectionFactories.set(factory.options.key, factory);
|
|
64
|
+
}
|
|
65
|
+
addConnection(connection) {
|
|
66
|
+
let l1 = connection.registerListener({
|
|
67
|
+
removed: () => {
|
|
68
|
+
this._connections.delete(connection);
|
|
69
|
+
this.save();
|
|
70
|
+
l1();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
this._connections.add(connection);
|
|
74
|
+
this.save();
|
|
75
|
+
connection.init();
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
_ConnectionStore__connections_accessor_storage = new WeakMap(),
|
|
79
|
+
(() => {
|
|
80
|
+
var _b;
|
|
81
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;
|
|
82
|
+
__connections_decorators = [observable];
|
|
83
|
+
_get_connections_decorators = [computed];
|
|
84
|
+
_deserialize_decorators = [action];
|
|
85
|
+
__esDecorate(_a, null, __connections_decorators, { kind: "accessor", name: "_connections", static: false, private: false, access: { has: obj => "_connections" in obj, get: obj => obj._connections, set: (obj, value) => { obj._connections = value; } }, metadata: _metadata }, __connections_initializers, __connections_extraInitializers);
|
|
86
|
+
__esDecorate(_a, null, _get_connections_decorators, { kind: "getter", name: "connections", static: false, private: false, access: { has: obj => "connections" in obj, get: obj => obj.connections }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
87
|
+
__esDecorate(_a, null, _deserialize_decorators, { kind: "method", name: "deserialize", static: false, private: false, access: { has: obj => "deserialize" in obj, get: obj => obj.deserialize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
88
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
89
|
+
})(),
|
|
90
|
+
_a;
|
|
91
|
+
})();
|
|
92
|
+
export { ConnectionStore };
|
|
93
|
+
//# sourceMappingURL=ConnectionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionStore.js","sourceRoot":"","sources":["../../src/stores/ConnectionStore.ts"],"names":[],"mappings":"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"}
|