@dxos/plugin-explorer 0.8.4-main.70d3990 → 0.8.4-main.74a063c4e0
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/{chunk-UBHZGWZQ.mjs → chunk-LSUP47BZ.mjs} +2 -2
- package/dist/lib/browser/chunk-LSUP47BZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +11343 -81
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +64 -5
- package/dist/lib/browser/types/index.mjs.map +4 -4
- package/dist/lib/node-esm/{chunk-UXZM5VJB.mjs → chunk-EN3JZNEY.mjs} +2 -2
- package/dist/lib/node-esm/chunk-EN3JZNEY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +11343 -81
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/meta.mjs +1 -1
- package/dist/lib/node-esm/types/index.mjs +64 -5
- package/dist/lib/node-esm/types/index.mjs.map +4 -4
- package/dist/types/src/ExplorerPlugin.d.ts +2 -1
- package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +2 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.stories.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.d.ts +10 -5
- package/dist/types/src/components/Graph/D3ForceGraph.d.ts.map +1 -1
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts +8 -2
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/adapter.d.ts +1 -1
- package/dist/types/src/components/Graph/adapter.d.ts.map +1 -1
- package/dist/types/src/components/Graph/testing.d.ts.map +1 -1
- package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tree/testing/generator.d.ts.map +1 -1
- package/dist/types/src/components/Tree/types/tree.d.ts +18 -16
- package/dist/types/src/components/Tree/types/tree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/types/types.d.ts +1 -1
- package/dist/types/src/components/Tree/types/types.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts +6 -0
- package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ExplorerContainer/index.d.ts +2 -0
- package/dist/types/src/containers/ExplorerContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +3 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +29 -28
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/ExplorerAction.d.ts +0 -17
- package/dist/types/src/types/ExplorerAction.d.ts.map +1 -1
- package/dist/types/src/types/Graph.d.ts +10 -19
- package/dist/types/src/types/Graph.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -46
- package/src/ExplorerPlugin.tsx +42 -43
- package/src/capabilities/index.ts +2 -3
- package/src/capabilities/react-surface.tsx +22 -18
- package/src/components/Chart/Chart.stories.tsx +3 -4
- package/src/components/Globe/Globe.stories.tsx +3 -4
- package/src/components/Graph/D3ForceGraph.stories.tsx +20 -17
- package/src/components/Graph/D3ForceGraph.tsx +82 -75
- package/src/components/Graph/ForceGraph.stories.tsx +20 -17
- package/src/components/Graph/adapter.ts +14 -8
- package/src/components/Graph/testing.ts +8 -5
- package/src/components/Tree/Tree.stories.tsx +9 -6
- package/src/components/Tree/Tree.tsx +8 -3
- package/src/components/Tree/testing/generator.ts +4 -2
- package/src/components/Tree/types/tree.test.ts +5 -4
- package/src/components/Tree/types/tree.ts +41 -20
- package/src/components/Tree/types/types.ts +1 -1
- package/src/components/index.ts +0 -4
- package/src/containers/ExplorerContainer/ExplorerContainer.tsx +53 -0
- package/src/containers/ExplorerContainer/index.ts +5 -0
- package/src/containers/index.ts +7 -0
- package/src/hooks/useGraphModel.ts +17 -10
- package/src/meta.ts +3 -3
- package/src/translations.ts +13 -12
- package/src/types/ExplorerAction.ts +0 -17
- package/src/types/Graph.ts +13 -27
- package/src/typings.d.ts +8 -0
- package/dist/lib/browser/ExplorerContainer-NOLLVUTE.mjs +0 -50
- package/dist/lib/browser/ExplorerContainer-NOLLVUTE.mjs.map +0 -7
- package/dist/lib/browser/chunk-2MKBRIUT.mjs +0 -31
- package/dist/lib/browser/chunk-2MKBRIUT.mjs.map +0 -7
- package/dist/lib/browser/chunk-6BVXZQPP.mjs +0 -188
- package/dist/lib/browser/chunk-6BVXZQPP.mjs.map +0 -7
- package/dist/lib/browser/chunk-ARBGXQFH.mjs +0 -11089
- package/dist/lib/browser/chunk-ARBGXQFH.mjs.map +0 -7
- package/dist/lib/browser/chunk-P6FFFVPM.mjs +0 -100
- package/dist/lib/browser/chunk-P6FFFVPM.mjs.map +0 -7
- package/dist/lib/browser/chunk-UBHZGWZQ.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-EWB3H5KH.mjs +0 -35
- package/dist/lib/browser/intent-resolver-EWB3H5KH.mjs.map +0 -7
- package/dist/lib/browser/react-surface-BY2DYCTH.mjs +0 -34
- package/dist/lib/browser/react-surface-BY2DYCTH.mjs.map +0 -7
- package/dist/lib/node-esm/ExplorerContainer-N3S5KSUX.mjs +0 -51
- package/dist/lib/node-esm/ExplorerContainer-N3S5KSUX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3ODK27PU.mjs +0 -33
- package/dist/lib/node-esm/chunk-3ODK27PU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4BY2XZET.mjs +0 -101
- package/dist/lib/node-esm/chunk-4BY2XZET.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CRSVAZNA.mjs +0 -190
- package/dist/lib/node-esm/chunk-CRSVAZNA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NPIP4VEH.mjs +0 -11091
- package/dist/lib/node-esm/chunk-NPIP4VEH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UXZM5VJB.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-SH6PW7VF.mjs +0 -36
- package/dist/lib/node-esm/intent-resolver-SH6PW7VF.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-7AAV7GBG.mjs +0 -35
- package/dist/lib/node-esm/react-surface-7AAV7GBG.mjs.map +0 -7
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/ExplorerContainer.d.ts +0 -9
- package/dist/types/src/components/ExplorerContainer.d.ts.map +0 -1
- package/src/capabilities/intent-resolver.ts +0 -23
- package/src/components/ExplorerContainer.tsx +0 -54
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/explorer',\n name: 'Explorer',\n description: trim`\n Interactive hypergraph visualization that reveals relationships between objects in your workspace.\n Navigate complex data structures and discover connections through a dynamic network view.\n `,\n icon: 'ph--graph--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer',\n tags: ['labs'],\n screenshots: ['https://dxos.network/plugin-details-explorer-dark.png'],\n};\n"],
|
|
5
|
-
"mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;",
|
|
6
|
-
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags", "screenshots"]
|
|
7
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ExplorerAction_exports,
|
|
4
|
-
Graph_exports
|
|
5
|
-
} from "./chunk-4BY2XZET.mjs";
|
|
6
|
-
import "./chunk-UXZM5VJB.mjs";
|
|
7
|
-
import "./chunk-HSLMI22Q.mjs";
|
|
8
|
-
|
|
9
|
-
// src/capabilities/intent-resolver.ts
|
|
10
|
-
import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
|
|
11
|
-
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
12
|
-
import { View } from "@dxos/schema";
|
|
13
|
-
var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, createResolver({
|
|
14
|
-
intent: ExplorerAction_exports.CreateGraph,
|
|
15
|
-
resolve: async ({ space, name, typename }) => {
|
|
16
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
17
|
-
const { view } = await View.makeFromSpace({
|
|
18
|
-
client,
|
|
19
|
-
space,
|
|
20
|
-
typename
|
|
21
|
-
});
|
|
22
|
-
const graph = Graph_exports.make({
|
|
23
|
-
name,
|
|
24
|
-
view
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
data: {
|
|
28
|
-
object: graph
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
})));
|
|
33
|
-
export {
|
|
34
|
-
intent_resolver_default as default
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=intent-resolver-SH6PW7VF.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createResolver } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { View } from '@dxos/schema';\n\nimport { ExplorerAction, Graph } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: ExplorerAction.CreateGraph,\n resolve: async ({ space, name, typename }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const { view } = await View.makeFromSpace({ client, space, typename });\n const graph = Graph.make({ name, view });\n return { data: { object: graph } };\n },\n }),\n );\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAkCC,aAAaC,sBAAsB;AAC9E,SAASC,0BAA0B;AACnC,SAASC,YAAY;AAIrB,IAAA,2BAAe,CAACC,YACdC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,uBAAeC;EACvBC,SAAS,OAAO,EAAEC,OAAOC,MAAMC,SAAQ,MAAE;AACvC,UAAMC,SAASZ,QAAQa,cAAcC,mBAAmBC,MAAM;AAC9D,UAAM,EAAEC,KAAI,IAAK,MAAMC,KAAKC,cAAc;MAAEN;MAAQH;MAAOE;IAAS,CAAA;AACpE,UAAMQ,QAAQC,cAAMC,KAAK;MAAEX;MAAMM;IAAK,CAAA;AACtC,WAAO;MAAEM,MAAM;QAAEC,QAAQJ;MAAM;IAAE;EACnC;AACF,CAAA,CAAA;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createResolver", "ClientCapabilities", "View", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ExplorerAction", "CreateGraph", "resolve", "space", "name", "typename", "client", "getCapability", "ClientCapabilities", "Client", "view", "View", "makeFromSpace", "graph", "Graph", "make", "data", "object"]
|
|
7
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ExplorerContainer
|
|
4
|
-
} from "./chunk-NPIP4VEH.mjs";
|
|
5
|
-
import "./chunk-CRSVAZNA.mjs";
|
|
6
|
-
import {
|
|
7
|
-
Graph_exports
|
|
8
|
-
} from "./chunk-4BY2XZET.mjs";
|
|
9
|
-
import {
|
|
10
|
-
meta
|
|
11
|
-
} from "./chunk-UXZM5VJB.mjs";
|
|
12
|
-
import "./chunk-HSLMI22Q.mjs";
|
|
13
|
-
|
|
14
|
-
// src/capabilities/react-surface.tsx
|
|
15
|
-
import React from "react";
|
|
16
|
-
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
17
|
-
import { Obj } from "@dxos/echo";
|
|
18
|
-
var react_surface_default = (() => contributes(Capabilities.ReactSurface, createSurface({
|
|
19
|
-
id: `${meta.id}/article`,
|
|
20
|
-
role: [
|
|
21
|
-
"article",
|
|
22
|
-
"section"
|
|
23
|
-
],
|
|
24
|
-
filter: (data) => Obj.instanceOf(Graph_exports.Graph, data.subject),
|
|
25
|
-
component: ({ data, role }) => {
|
|
26
|
-
return /* @__PURE__ */ React.createElement(ExplorerContainer, {
|
|
27
|
-
view: data.subject,
|
|
28
|
-
role
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
})));
|
|
32
|
-
export {
|
|
33
|
-
react_surface_default as default
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=react-surface-7AAV7GBG.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type View } from '@dxos/schema';\n\nimport { ExplorerContainer } from '../components';\nimport { meta } from '../meta';\nimport { Graph } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.ReactSurface,\n createSurface({\n id: `${meta.id}/article`,\n role: ['article', 'section'],\n filter: (data): data is { subject: View.View } => Obj.instanceOf(Graph.Graph, data.subject),\n component: ({ data, role }) => {\n return <ExplorerContainer view={data.subject} role={role} />;\n },\n }),\n );\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AAOpB,IAAA,yBAAe,MACbC,YACEC,aAAaC,cACbC,cAAc;EACZC,IAAI,GAAGC,KAAKD,EAAE;EACdE,MAAM;IAAC;IAAW;;EAClBC,QAAQ,CAACC,SAAyCC,IAAIC,WAAWC,cAAMA,OAAOH,KAAKI,OAAO;EAC1FC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAE;AACxB,WAAO,sBAAA,cAACQ,mBAAAA;MAAkBC,MAAMP,KAAKI;MAASN;;EAChD;AACF,CAAA,CAAA;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Graph", "subject", "component", "ExplorerContainer", "view"]
|
|
7
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Capabilities, type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.IntentResolver>>;
|
|
3
|
-
export default _default;
|
|
4
|
-
//# sourceMappingURL=intent-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBAMpF,SAAS,aAAa;AAAtC,wBAYI"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type View } from '@dxos/schema';
|
|
3
|
-
type ExplorerContainerProps = {
|
|
4
|
-
role: string;
|
|
5
|
-
view: View.View;
|
|
6
|
-
};
|
|
7
|
-
declare const ExplorerContainer: ({ role, view }: ExplorerContainerProps) => React.JSX.Element | null;
|
|
8
|
-
export default ExplorerContainer;
|
|
9
|
-
//# sourceMappingURL=ExplorerContainer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/ExplorerContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAS9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAMzC,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,gBAAgB,sBAAsB,6BA2BhE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Capabilities, type PluginContext, contributes, createResolver } from '@dxos/app-framework';
|
|
6
|
-
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
7
|
-
import { View } from '@dxos/schema';
|
|
8
|
-
|
|
9
|
-
import { ExplorerAction, Graph } from '../types';
|
|
10
|
-
|
|
11
|
-
export default (context: PluginContext) =>
|
|
12
|
-
contributes(
|
|
13
|
-
Capabilities.IntentResolver,
|
|
14
|
-
createResolver({
|
|
15
|
-
intent: ExplorerAction.CreateGraph,
|
|
16
|
-
resolve: async ({ space, name, typename }) => {
|
|
17
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
18
|
-
const { view } = await View.makeFromSpace({ client, space, typename });
|
|
19
|
-
const graph = Graph.make({ name, view });
|
|
20
|
-
return { data: { object: graph } };
|
|
21
|
-
},
|
|
22
|
-
}),
|
|
23
|
-
);
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
6
|
-
|
|
7
|
-
import { type Filter } from '@dxos/echo';
|
|
8
|
-
import { QueryBuilder } from '@dxos/echo-query';
|
|
9
|
-
import { useGlobalSearch } from '@dxos/plugin-search';
|
|
10
|
-
import { getSpace } from '@dxos/react-client/echo';
|
|
11
|
-
import { Toolbar } from '@dxos/react-ui';
|
|
12
|
-
import { QueryEditor, type QueryEditorProps } from '@dxos/react-ui-components';
|
|
13
|
-
import { StackItem } from '@dxos/react-ui-stack';
|
|
14
|
-
import { type View } from '@dxos/schema';
|
|
15
|
-
|
|
16
|
-
import { useGraphModel } from '../hooks';
|
|
17
|
-
|
|
18
|
-
import { D3ForceGraph } from './Graph';
|
|
19
|
-
|
|
20
|
-
type ExplorerContainerProps = {
|
|
21
|
-
role: string;
|
|
22
|
-
view: View.View;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const ExplorerContainer = ({ role, view }: ExplorerContainerProps) => {
|
|
26
|
-
const space = getSpace(view);
|
|
27
|
-
const [filter, setFilter] = useState<Filter.Any>();
|
|
28
|
-
const model = useGraphModel(space, filter);
|
|
29
|
-
const { match } = useGlobalSearch();
|
|
30
|
-
|
|
31
|
-
const builder = useMemo(() => new QueryBuilder(), []);
|
|
32
|
-
const handleChange = useCallback<NonNullable<QueryEditorProps['onChange']>>((value) => {
|
|
33
|
-
setFilter(builder.build(value).filter);
|
|
34
|
-
}, []);
|
|
35
|
-
|
|
36
|
-
const showToolbar = role === 'article';
|
|
37
|
-
|
|
38
|
-
if (!space || !model) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<StackItem.Content toolbar={showToolbar}>
|
|
44
|
-
{showToolbar && (
|
|
45
|
-
<Toolbar.Root>
|
|
46
|
-
<QueryEditor db={space.db} onChange={handleChange} />
|
|
47
|
-
</Toolbar.Root>
|
|
48
|
-
)}
|
|
49
|
-
<D3ForceGraph model={model} match={match} />
|
|
50
|
-
</StackItem.Content>
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export default ExplorerContainer;
|