@dxos/plugin-explorer 0.8.4-main.67995b8 → 0.8.4-main.f5c0578
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/lib/browser/{ExplorerContainer-OGHSHZD5.mjs → ExplorerContainer-5QHLD2B2.mjs} +3 -3
- package/dist/lib/browser/{ExplorerContainer-OGHSHZD5.mjs.map → ExplorerContainer-5QHLD2B2.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-OAOY7SHY.mjs → chunk-2MKBRIUT.mjs} +6 -5
- package/dist/lib/browser/chunk-2MKBRIUT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EF4BFHTI.mjs → chunk-CZZ3DDR7.mjs} +1 -1
- package/dist/lib/browser/{chunk-EF4BFHTI.mjs.map → chunk-CZZ3DDR7.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-J2BBZOSF.mjs → chunk-L4U4MPSZ.mjs} +4 -1
- package/dist/lib/browser/{chunk-J2BBZOSF.mjs.map → chunk-L4U4MPSZ.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-PVFZFKQ6.mjs → chunk-LGK64HLU.mjs} +4 -244
- package/dist/lib/browser/{chunk-PVFZFKQ6.mjs.map → chunk-LGK64HLU.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +7 -7
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-XH2UO2FM.mjs → intent-resolver-7MVEYNX7.mjs} +3 -3
- package/dist/lib/browser/{intent-resolver-XH2UO2FM.mjs.map → intent-resolver-7MVEYNX7.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-65VQ42HX.mjs → react-surface-FABRDFTF.mjs} +4 -4
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/{ExplorerContainer-6ON5NA2P.mjs → ExplorerContainer-AMYAVLO4.mjs} +3 -3
- package/dist/lib/node-esm/{ExplorerContainer-6ON5NA2P.mjs.map → ExplorerContainer-AMYAVLO4.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-PPBUWC7F.mjs → chunk-3ODK27PU.mjs} +6 -5
- package/dist/lib/node-esm/chunk-3ODK27PU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-VKCOKQRG.mjs → chunk-4GWDNZ4Z.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-VKCOKQRG.mjs.map → chunk-4GWDNZ4Z.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-4VMSNXYL.mjs → chunk-MCOXQ3ML.mjs} +4 -1
- package/dist/lib/node-esm/{chunk-4VMSNXYL.mjs.map → chunk-MCOXQ3ML.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-S5A2EUSJ.mjs → chunk-W4ZNCGOD.mjs} +4 -244
- package/dist/lib/node-esm/{chunk-S5A2EUSJ.mjs.map → chunk-W4ZNCGOD.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +7 -7
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-AGBBNA67.mjs → intent-resolver-NL3SR2XF.mjs} +3 -3
- package/dist/lib/node-esm/{intent-resolver-AGBBNA67.mjs.map → intent-resolver-NL3SR2XF.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-IJIMYAST.mjs → react-surface-EYCZUAAI.mjs} +4 -4
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
- package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/testing.d.ts +1 -1
- package/dist/types/src/components/Graph/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/useGraphModel.d.ts +2 -2
- package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +34 -34
- package/src/ExplorerPlugin.tsx +2 -2
- package/src/capabilities/intent-resolver.ts +1 -1
- package/src/components/Chart/Chart.stories.tsx +2 -1
- package/src/components/Chart/Chart.tsx +1 -1
- package/src/components/ExplorerContainer.tsx +2 -1
- package/src/components/Globe/Globe.stories.tsx +3 -2
- package/src/components/Globe/Globe.tsx +1 -1
- package/src/components/Graph/D3ForceGraph.stories.tsx +4 -3
- package/src/components/Graph/D3ForceGraph.tsx +1 -1
- package/src/components/Graph/ForceGraph.stories.tsx +4 -3
- package/src/components/Graph/ForceGraph.tsx +1 -1
- package/src/components/Graph/testing.ts +2 -2
- package/src/components/Tree/Tree.stories.tsx +1 -1
- package/src/components/Tree/Tree.tsx +1 -1
- package/src/components/Tree/types/tree.test.ts +2 -1
- package/src/hooks/useGraphModel.ts +5 -4
- package/src/types/types.ts +2 -1
- package/dist/lib/browser/chunk-OAOY7SHY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PPBUWC7F.mjs.map +0 -7
- /package/dist/lib/browser/{react-surface-65VQ42HX.mjs.map → react-surface-FABRDFTF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-IJIMYAST.mjs.map → react-surface-EYCZUAAI.mjs.map} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-explorer",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.f5c0578",
|
|
4
4
|
"description": "Braneframe data visualization plugin",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"source": "./src/index.ts",
|
|
13
14
|
"types": "./dist/types/src/index.d.ts",
|
|
14
15
|
"browser": "./dist/lib/browser/index.mjs",
|
|
15
|
-
"node": "./dist/lib/node-esm/index.mjs"
|
|
16
|
-
"source": "./src/index.ts"
|
|
16
|
+
"node": "./dist/lib/node-esm/index.mjs"
|
|
17
17
|
},
|
|
18
18
|
"./meta": {
|
|
19
|
+
"source": "./src/meta.ts",
|
|
19
20
|
"types": "./dist/types/src/meta.d.ts",
|
|
20
21
|
"browser": "./dist/lib/browser/meta.mjs",
|
|
21
|
-
"node": "./dist/lib/node-esm/meta.mjs"
|
|
22
|
-
"source": "./src/meta.ts"
|
|
22
|
+
"node": "./dist/lib/node-esm/meta.mjs"
|
|
23
23
|
},
|
|
24
24
|
"./types": {
|
|
25
|
+
"source": "./src/types/index.ts",
|
|
25
26
|
"types": "./dist/types/src/types/index.d.ts",
|
|
26
27
|
"browser": "./dist/lib/browser/types/index.mjs",
|
|
27
|
-
"node": "./dist/lib/node-esm/types/index.mjs"
|
|
28
|
-
"source": "./src/types/index.ts"
|
|
28
|
+
"node": "./dist/lib/node-esm/types/index.mjs"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"types": "dist/types/src/index.d.ts",
|
|
@@ -49,31 +49,31 @@
|
|
|
49
49
|
"@preact-signals/safe-react": "^0.9.0",
|
|
50
50
|
"@preact/signals-core": "^1.9.0",
|
|
51
51
|
"d3": "^7.9.0",
|
|
52
|
-
"effect": "3.17.
|
|
52
|
+
"effect": "3.17.7",
|
|
53
53
|
"force-graph": "^1.49.4",
|
|
54
54
|
"lodash.defaultsdeep": "^4.6.1",
|
|
55
55
|
"react-resize-detector": "^11.0.1",
|
|
56
56
|
"three": "^0.178.0",
|
|
57
57
|
"topojson-client": "^3.1.0",
|
|
58
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/echo": "0.8.4-main.
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/
|
|
67
|
-
"@dxos/plugin-graph": "0.8.4-main.
|
|
68
|
-
"@dxos/plugin-search": "0.8.4-main.
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/plugin-
|
|
71
|
-
"@dxos/react-
|
|
72
|
-
"@dxos/react-
|
|
73
|
-
"@dxos/react-ui-graph": "0.8.4-main.
|
|
74
|
-
"@dxos/react-ui-stack": "0.8.4-main.
|
|
75
|
-
"@dxos/schema": "0.8.4-main.
|
|
76
|
-
"@dxos/util": "0.8.4-main.
|
|
58
|
+
"@dxos/app-framework": "0.8.4-main.f5c0578",
|
|
59
|
+
"@dxos/client": "0.8.4-main.f5c0578",
|
|
60
|
+
"@dxos/async": "0.8.4-main.f5c0578",
|
|
61
|
+
"@dxos/echo-schema": "0.8.4-main.f5c0578",
|
|
62
|
+
"@dxos/echo": "0.8.4-main.f5c0578",
|
|
63
|
+
"@dxos/graph": "0.8.4-main.f5c0578",
|
|
64
|
+
"@dxos/live-object": "0.8.4-main.f5c0578",
|
|
65
|
+
"@dxos/log": "0.8.4-main.f5c0578",
|
|
66
|
+
"@dxos/invariant": "0.8.4-main.f5c0578",
|
|
67
|
+
"@dxos/plugin-graph": "0.8.4-main.f5c0578",
|
|
68
|
+
"@dxos/plugin-search": "0.8.4-main.f5c0578",
|
|
69
|
+
"@dxos/plugin-space": "0.8.4-main.f5c0578",
|
|
70
|
+
"@dxos/plugin-client": "0.8.4-main.f5c0578",
|
|
71
|
+
"@dxos/react-client": "0.8.4-main.f5c0578",
|
|
72
|
+
"@dxos/react-ui-attention": "0.8.4-main.f5c0578",
|
|
73
|
+
"@dxos/react-ui-graph": "0.8.4-main.f5c0578",
|
|
74
|
+
"@dxos/react-ui-stack": "0.8.4-main.f5c0578",
|
|
75
|
+
"@dxos/schema": "0.8.4-main.f5c0578",
|
|
76
|
+
"@dxos/util": "0.8.4-main.f5c0578"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@types/d3": "^7.4.3",
|
|
@@ -86,18 +86,18 @@
|
|
|
86
86
|
"react": "~18.2.0",
|
|
87
87
|
"react-dom": "~18.2.0",
|
|
88
88
|
"vite": "5.4.7",
|
|
89
|
-
"@dxos/
|
|
90
|
-
"@dxos/
|
|
91
|
-
"@dxos/
|
|
92
|
-
"@dxos/
|
|
93
|
-
"@dxos/
|
|
89
|
+
"@dxos/echo-generator": "0.8.4-main.f5c0578",
|
|
90
|
+
"@dxos/random": "0.8.4-main.f5c0578",
|
|
91
|
+
"@dxos/react-ui": "0.8.4-main.f5c0578",
|
|
92
|
+
"@dxos/storybook-utils": "0.8.4-main.f5c0578",
|
|
93
|
+
"@dxos/react-ui-theme": "0.8.4-main.f5c0578"
|
|
94
94
|
},
|
|
95
95
|
"peerDependencies": {
|
|
96
96
|
"effect": "^3.13.3",
|
|
97
97
|
"react": "~18.2.0",
|
|
98
98
|
"react-dom": "~18.2.0",
|
|
99
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
100
|
-
"@dxos/react-ui-theme": "0.8.4-main.
|
|
99
|
+
"@dxos/react-ui": "0.8.4-main.f5c0578",
|
|
100
|
+
"@dxos/react-ui-theme": "0.8.4-main.f5c0578"
|
|
101
101
|
},
|
|
102
102
|
"publishConfig": {
|
|
103
103
|
"access": "public"
|
package/src/ExplorerPlugin.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Capabilities, contributes, createIntent, defineModule, definePlugin
|
|
5
|
+
import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';
|
|
6
6
|
import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
|
|
7
7
|
import { SpaceCapabilities } from '@dxos/plugin-space';
|
|
8
8
|
import { defineObjectForm } from '@dxos/plugin-space/types';
|
|
@@ -10,7 +10,7 @@ import { defineObjectForm } from '@dxos/plugin-space/types';
|
|
|
10
10
|
import { IntentResolver, ReactSurface } from './capabilities';
|
|
11
11
|
import { meta } from './meta';
|
|
12
12
|
import { translations } from './translations';
|
|
13
|
-
import {
|
|
13
|
+
import { ExplorerAction, ViewType } from './types';
|
|
14
14
|
|
|
15
15
|
export const ExplorerPlugin = () =>
|
|
16
16
|
definePlugin(meta, [
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Capabilities, contributes, createResolver } from '@dxos/app-framework';
|
|
6
6
|
import { Obj } from '@dxos/echo';
|
|
7
7
|
|
|
8
8
|
import { ExplorerAction, ViewType } from '../types';
|
|
@@ -10,9 +10,10 @@ import React from 'react';
|
|
|
10
10
|
import { ClientRepeater } from '@dxos/react-client/testing';
|
|
11
11
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
12
12
|
|
|
13
|
-
import { Chart } from './Chart';
|
|
14
13
|
import CitiesData from '../../../data/cities.js';
|
|
15
14
|
|
|
15
|
+
import { Chart } from './Chart';
|
|
16
|
+
|
|
16
17
|
// TODO(burdon): Generate data with geo lat/lng.
|
|
17
18
|
// TODO(burdon): How to provide geo service via agent?
|
|
18
19
|
|
|
@@ -7,7 +7,7 @@ import { type DotOptions } from '@observablehq/plot';
|
|
|
7
7
|
import React, { useEffect } from 'react';
|
|
8
8
|
import { useResizeDetector } from 'react-resize-detector';
|
|
9
9
|
|
|
10
|
-
import { type Accessor,
|
|
10
|
+
import { type Accessor, type Point, createAdapter } from '../plot';
|
|
11
11
|
|
|
12
12
|
const defaultOptions: DotOptions = {
|
|
13
13
|
r: 4,
|
|
@@ -8,10 +8,11 @@ import { useGlobalSearch } from '@dxos/plugin-search';
|
|
|
8
8
|
import { getSpace } from '@dxos/react-client/echo';
|
|
9
9
|
import { StackItem } from '@dxos/react-ui-stack';
|
|
10
10
|
|
|
11
|
-
import { D3ForceGraph } from './Graph';
|
|
12
11
|
import { useGraphModel } from '../hooks';
|
|
13
12
|
import { type ViewType } from '../types';
|
|
14
13
|
|
|
14
|
+
import { D3ForceGraph } from './Graph';
|
|
15
|
+
|
|
15
16
|
type ExplorerContainerProps = {
|
|
16
17
|
role: string;
|
|
17
18
|
view: ViewType;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { dot, geo, graticule, plot, sphere } from '@observablehq/plot';
|
|
8
8
|
import { type Meta } from '@storybook/react-vite';
|
|
9
9
|
import { geoCircle } from 'd3';
|
|
10
10
|
import React, { useEffect } from 'react';
|
|
@@ -14,10 +14,11 @@ import { feature } from 'topojson-client';
|
|
|
14
14
|
import { ClientRepeater } from '@dxos/react-client/testing';
|
|
15
15
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
16
16
|
|
|
17
|
-
import { Globe } from './Globe';
|
|
18
17
|
import CitiesData from '../../../data/cities.js';
|
|
19
18
|
import CountriesData from '../../../data/countries-110m.js';
|
|
20
19
|
|
|
20
|
+
import { Globe } from './Globe';
|
|
21
|
+
|
|
21
22
|
// TODO(burdon): Generate data with geo lat/lng.
|
|
22
23
|
// TODO(burdon): How to provide geo service via agent?
|
|
23
24
|
|
|
@@ -9,7 +9,7 @@ import { useResizeDetector } from 'react-resize-detector';
|
|
|
9
9
|
import * as topojson from 'topojson-client';
|
|
10
10
|
|
|
11
11
|
import CountriesData from '../../../data/countries-110m.js';
|
|
12
|
-
import { type Accessor,
|
|
12
|
+
import { type Accessor, type GeoLocation, createAdapter } from '../plot';
|
|
13
13
|
|
|
14
14
|
const defaultOptions: DotOptions = {
|
|
15
15
|
r: 4,
|
|
@@ -14,13 +14,14 @@ import { type Space } from '@dxos/react-client/echo';
|
|
|
14
14
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
15
15
|
import { DataType } from '@dxos/schema';
|
|
16
16
|
import { type ValueGenerator } from '@dxos/schema/testing';
|
|
17
|
-
import { withLayout, withTheme
|
|
17
|
+
import { render, withLayout, withTheme } from '@dxos/storybook-utils';
|
|
18
18
|
|
|
19
|
-
import { D3ForceGraph } from './D3ForceGraph';
|
|
20
|
-
import { generate } from './testing';
|
|
21
19
|
import { useGraphModel } from '../../hooks';
|
|
22
20
|
import { ViewType } from '../../types';
|
|
23
21
|
|
|
22
|
+
import { D3ForceGraph } from './D3ForceGraph';
|
|
23
|
+
import { generate } from './testing';
|
|
24
|
+
|
|
24
25
|
const generator = faker as any as ValueGenerator;
|
|
25
26
|
|
|
26
27
|
faker.seed(1);
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
type SVGContext,
|
|
17
17
|
} from '@dxos/react-ui-graph';
|
|
18
18
|
import { getHashColor } from '@dxos/react-ui-theme';
|
|
19
|
-
import { type
|
|
19
|
+
import { type SpaceGraphEdge, type SpaceGraphModel, type SpaceGraphNode } from '@dxos/schema';
|
|
20
20
|
|
|
21
21
|
import '@dxos/react-ui-graph/styles/graph.css';
|
|
22
22
|
|
|
@@ -14,13 +14,14 @@ import { type Space } from '@dxos/react-client/echo';
|
|
|
14
14
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
15
15
|
import { DataType } from '@dxos/schema';
|
|
16
16
|
import { type ValueGenerator } from '@dxos/schema/testing';
|
|
17
|
-
import { withLayout, withTheme
|
|
17
|
+
import { render, withLayout, withTheme } from '@dxos/storybook-utils';
|
|
18
18
|
|
|
19
|
-
import { ForceGraph } from './ForceGraph';
|
|
20
|
-
import { generate } from './testing';
|
|
21
19
|
import { useGraphModel } from '../../hooks';
|
|
22
20
|
import { ViewType } from '../../types';
|
|
23
21
|
|
|
22
|
+
import { ForceGraph } from './ForceGraph';
|
|
23
|
+
import { generate } from './testing';
|
|
24
|
+
|
|
24
25
|
const generator = faker as any as ValueGenerator;
|
|
25
26
|
|
|
26
27
|
faker.seed(1);
|
|
@@ -7,7 +7,7 @@ import NativeForceGraph from 'force-graph';
|
|
|
7
7
|
import React, { type FC, useEffect, useRef, useState } from 'react';
|
|
8
8
|
import { useResizeDetector } from 'react-resize-detector';
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { type SearchResult, filterObjectsSync } from '@dxos/plugin-search';
|
|
11
11
|
import { type SpaceGraphModel } from '@dxos/schema';
|
|
12
12
|
|
|
13
13
|
import { GraphAdapter } from './adapter';
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type Space } from '@dxos/client/echo';
|
|
6
|
-
import { Query, Relation
|
|
6
|
+
import { type Obj, Query, Relation } from '@dxos/echo';
|
|
7
7
|
import { DataType } from '@dxos/schema';
|
|
8
|
-
import {
|
|
8
|
+
import { type TypeSpec, type ValueGenerator, createObjectFactory } from '@dxos/schema/testing';
|
|
9
9
|
import { range } from '@dxos/util';
|
|
10
10
|
|
|
11
11
|
const getObject = (objects: Obj.Any[]) => objects[Math.floor(Math.random() * objects.length)];
|
|
@@ -13,7 +13,7 @@ import { type ClientRepeatedComponentProps, ClientRepeater } from '@dxos/react-c
|
|
|
13
13
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
14
14
|
|
|
15
15
|
import { Tree, type TreeComponentProps } from './Tree';
|
|
16
|
-
import {
|
|
16
|
+
import { Tree as TreeModel, TreeType } from './types';
|
|
17
17
|
|
|
18
18
|
// TODO(burdon): Storybook for Graph/Tree/Plot (generics); incl. GraphModel.
|
|
19
19
|
// TODO(burdon): Type for all Explorer components (Space, Object, Query, etc.) incl.
|
|
@@ -10,7 +10,7 @@ import { SVG, type SVGContext } from '@dxos/react-ui-graph';
|
|
|
10
10
|
import { SpaceGraphModel } from '@dxos/schema';
|
|
11
11
|
|
|
12
12
|
import { HierarchicalEdgeBundling, RadialTree, TidyTree } from './layout';
|
|
13
|
-
import {
|
|
13
|
+
import { type TreeNode, mapGraphToTreeData } from './types';
|
|
14
14
|
|
|
15
15
|
// TODO(burdon): Create dge bundling graph using d3.hierarchy.
|
|
16
16
|
// https://observablehq.com/@d3/hierarchical-edge-bundling?intent=fork
|
|
@@ -8,9 +8,10 @@ import { Obj, Ref } from '@dxos/echo';
|
|
|
8
8
|
import { faker } from '@dxos/random';
|
|
9
9
|
import { DataType } from '@dxos/schema';
|
|
10
10
|
|
|
11
|
-
import { type Tree } from './tree';
|
|
12
11
|
import { createTree } from '../testing';
|
|
13
12
|
|
|
13
|
+
import { type Tree } from './tree';
|
|
14
|
+
|
|
14
15
|
faker.seed(0);
|
|
15
16
|
|
|
16
17
|
const print = (tree: Tree) => {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { useEffect, useState } from 'react';
|
|
6
6
|
|
|
7
|
-
import { type Filter, type Space } from '@dxos/client/echo';
|
|
7
|
+
import { type Filter, type Queue, type Space } from '@dxos/client/echo';
|
|
8
8
|
import { SpaceGraphModel, type SpaceGraphModelOptions } from '@dxos/schema';
|
|
9
9
|
|
|
10
10
|
// TODO(burdon): Factor out.
|
|
@@ -12,6 +12,7 @@ export const useGraphModel = (
|
|
|
12
12
|
space: Space | undefined,
|
|
13
13
|
filter?: Filter.Any | undefined,
|
|
14
14
|
options?: SpaceGraphModelOptions,
|
|
15
|
+
queue?: Queue,
|
|
15
16
|
): SpaceGraphModel | undefined => {
|
|
16
17
|
const [model, setModel] = useState<SpaceGraphModel | undefined>(undefined);
|
|
17
18
|
useEffect(() => {
|
|
@@ -22,14 +23,14 @@ export const useGraphModel = (
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
// TODO(burdon): Does this need to be a dependency?
|
|
25
|
-
if (!model) {
|
|
26
|
+
if (!model || model.queue !== queue) {
|
|
26
27
|
const model = new SpaceGraphModel().setFilter(filter).setOptions(options);
|
|
27
|
-
void model.open(space);
|
|
28
|
+
void model.open(space, queue);
|
|
28
29
|
setModel(model);
|
|
29
30
|
} else {
|
|
30
31
|
model.setFilter(filter).setOptions(options);
|
|
31
32
|
}
|
|
32
|
-
}, [space, filter, options]);
|
|
33
|
+
}, [space, filter, options, queue]);
|
|
33
34
|
|
|
34
35
|
return model;
|
|
35
36
|
};
|
package/src/types/types.ts
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import { Schema } from 'effect';
|
|
6
6
|
|
|
7
|
-
import { ViewType } from './schema';
|
|
8
7
|
import { EXPLORER_PLUGIN } from '../meta';
|
|
9
8
|
|
|
9
|
+
import { ViewType } from './schema';
|
|
10
|
+
|
|
10
11
|
export namespace ExplorerAction {
|
|
11
12
|
const EXPLORER_ACTION = `${EXPLORER_PLUGIN}/action`;
|
|
12
13
|
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useGraphModel.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Filter, type Space } from '@dxos/client/echo';\nimport { SpaceGraphModel, type SpaceGraphModelOptions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\nexport const useGraphModel = (\n space: Space | undefined,\n filter?: Filter.Any | undefined,\n options?: SpaceGraphModelOptions,\n): SpaceGraphModel | undefined => {\n const [model, setModel] = useState<SpaceGraphModel | undefined>(undefined);\n useEffect(() => {\n if (!space) {\n void model?.close();\n setModel(undefined);\n return;\n }\n\n // TODO(burdon): Does this need to be a dependency?\n if (!model) {\n const model = new SpaceGraphModel().setFilter(filter).setOptions(options);\n void model.open(space);\n setModel(model);\n } else {\n model.setFilter(filter).setOptions(options);\n }\n }, [space, filter, options]);\n\n return model;\n};\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,WAAWC,gBAAgB;AAGpC,SAASC,uBAAoD;AAGtD,IAAMC,gBAAgB,CAC3BC,OACAC,QACAC,YAAAA;AAEA,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAsCC,MAAAA;AAChEC,YAAU,MAAA;AACR,QAAI,CAACP,OAAO;AACV,WAAKG,OAAOK,MAAAA;AACZJ,eAASE,MAAAA;AACT;IACF;AAGA,QAAI,CAACH,OAAO;AACV,YAAMA,SAAQ,IAAIM,gBAAAA,EAAkBC,UAAUT,MAAAA,EAAQU,WAAWT,OAAAA;AACjE,WAAKC,OAAMS,KAAKZ,KAAAA;AAChBI,eAASD,MAAAA;IACX,OAAO;AACLA,YAAMO,UAAUT,MAAAA,EAAQU,WAAWT,OAAAA;IACrC;EACF,GAAG;IAACF;IAAOC;IAAQC;GAAQ;AAE3B,SAAOC;AACT;",
|
|
6
|
-
"names": ["useEffect", "useState", "SpaceGraphModel", "useGraphModel", "space", "filter", "options", "model", "setModel", "useState", "undefined", "useEffect", "close", "SpaceGraphModel", "setFilter", "setOptions", "open"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useGraphModel.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Filter, type Space } from '@dxos/client/echo';\nimport { SpaceGraphModel, type SpaceGraphModelOptions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\nexport const useGraphModel = (\n space: Space | undefined,\n filter?: Filter.Any | undefined,\n options?: SpaceGraphModelOptions,\n): SpaceGraphModel | undefined => {\n const [model, setModel] = useState<SpaceGraphModel | undefined>(undefined);\n useEffect(() => {\n if (!space) {\n void model?.close();\n setModel(undefined);\n return;\n }\n\n // TODO(burdon): Does this need to be a dependency?\n if (!model) {\n const model = new SpaceGraphModel().setFilter(filter).setOptions(options);\n void model.open(space);\n setModel(model);\n } else {\n model.setFilter(filter).setOptions(options);\n }\n }, [space, filter, options]);\n\n return model;\n};\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,WAAWC,gBAAgB;AAGpC,SAASC,uBAAoD;AAGtD,IAAMC,gBAAgB,CAC3BC,OACAC,QACAC,YAAAA;AAEA,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAsCC,MAAAA;AAChEC,YAAU,MAAA;AACR,QAAI,CAACP,OAAO;AACV,WAAKG,OAAOK,MAAAA;AACZJ,eAASE,MAAAA;AACT;IACF;AAGA,QAAI,CAACH,OAAO;AACV,YAAMA,SAAQ,IAAIM,gBAAAA,EAAkBC,UAAUT,MAAAA,EAAQU,WAAWT,OAAAA;AACjE,WAAKC,OAAMS,KAAKZ,KAAAA;AAChBI,eAASD,MAAAA;IACX,OAAO;AACLA,YAAMO,UAAUT,MAAAA,EAAQU,WAAWT,OAAAA;IACrC;EACF,GAAG;IAACF;IAAOC;IAAQC;GAAQ;AAE3B,SAAOC;AACT;",
|
|
6
|
-
"names": ["useEffect", "useState", "SpaceGraphModel", "useGraphModel", "space", "filter", "options", "model", "setModel", "useState", "undefined", "useEffect", "close", "SpaceGraphModel", "setFilter", "setOptions", "open"]
|
|
7
|
-
}
|
|
File without changes
|
/package/dist/lib/node-esm/{react-surface-IJIMYAST.mjs.map → react-surface-EYCZUAAI.mjs.map}
RENAMED
|
File without changes
|