@jotx-labs/editor 2.4.210 → 2.4.213
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/components/GraphView/GraphView.d.ts +9 -1
- package/dist/components/GraphView/GraphView.d.ts.map +1 -1
- package/dist/components/GraphView/GraphView.js +230 -52
- package/dist/components/GraphView/GraphView.js.map +1 -1
- package/dist/components/JotxEditor.d.ts.map +1 -1
- package/dist/components/JotxEditor.js +7 -0
- package/dist/components/JotxEditor.js.map +1 -1
- package/dist/components/MotionNodeView.d.ts +4 -0
- package/dist/components/MotionNodeView.d.ts.map +1 -0
- package/dist/components/MotionNodeView.js +134 -0
- package/dist/components/MotionNodeView.js.map +1 -0
- package/dist/components/ReadonlyBlockRenderer.d.ts.map +1 -1
- package/dist/components/ReadonlyBlockRenderer.js +2 -0
- package/dist/components/ReadonlyBlockRenderer.js.map +1 -1
- package/dist/components/SlashMenu.d.ts.map +1 -1
- package/dist/components/SlashMenu.js +8 -0
- package/dist/components/SlashMenu.js.map +1 -1
- package/dist/components/motion/MotionCompiler.d.ts +9 -0
- package/dist/components/motion/MotionCompiler.d.ts.map +1 -0
- package/dist/components/motion/MotionCompiler.js +265 -0
- package/dist/components/motion/MotionCompiler.js.map +1 -0
- package/dist/components/motion/MotionEngine.d.ts +48 -0
- package/dist/components/motion/MotionEngine.d.ts.map +1 -0
- package/dist/components/motion/MotionEngine.js +623 -0
- package/dist/components/motion/MotionEngine.js.map +1 -0
- package/dist/components/motion/MotionParser.d.ts +13 -0
- package/dist/components/motion/MotionParser.d.ts.map +1 -0
- package/dist/components/motion/MotionParser.js +403 -0
- package/dist/components/motion/MotionParser.js.map +1 -0
- package/dist/components/motion/MotionPresets.d.ts +13 -0
- package/dist/components/motion/MotionPresets.d.ts.map +1 -0
- package/dist/components/motion/MotionPresets.js +143 -0
- package/dist/components/motion/MotionPresets.js.map +1 -0
- package/dist/components/motion/types.d.ts +130 -0
- package/dist/components/motion/types.d.ts.map +1 -0
- package/dist/components/motion/types.js +33 -0
- package/dist/components/motion/types.js.map +1 -0
- package/dist/extensions/MotionNode.d.ts +3 -0
- package/dist/extensions/MotionNode.d.ts.map +1 -0
- package/dist/extensions/MotionNode.js +95 -0
- package/dist/extensions/MotionNode.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/styles/GraphView.css +272 -50
- package/dist/styles/MotionNodeView.css +374 -0
- package/dist/utils/PresentationConverter.js +7 -0
- package/dist/utils/PresentationConverter.js.map +1 -1
- package/package.json +4 -4
- package/src/styles/GraphView.css +272 -50
- package/src/styles/MotionNodeView.css +374 -0
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GraphView - D3.js Force-Directed Knowledge Graph Visualization
|
|
3
3
|
* Browser-based component for web application
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Complete legend with all node types (auto-generated from COLORS)
|
|
7
|
+
* - Clickable legend items to filter node types
|
|
8
|
+
* - Focus on current file's document node
|
|
9
|
+
* - "Show Only Connected" toggle to hide orphan nodes
|
|
10
|
+
* - Redesigned side panel with connections list and file navigation
|
|
4
11
|
*/
|
|
5
12
|
import '../../styles/GraphView.css';
|
|
6
13
|
export interface GraphData {
|
|
@@ -28,6 +35,7 @@ export interface GraphViewProps {
|
|
|
28
35
|
blocks: number;
|
|
29
36
|
edges: number;
|
|
30
37
|
};
|
|
38
|
+
onNavigateToFile?: (filePath: string) => void;
|
|
31
39
|
}
|
|
32
|
-
export declare function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: propStats }: GraphViewProps): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: propStats, onNavigateToFile }: GraphViewProps): import("react/jsx-runtime").JSX.Element;
|
|
33
41
|
//# sourceMappingURL=GraphView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphView.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/GraphView.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GraphView.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/GraphView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,4BAA4B,CAAA;AAGnC,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC,CAAC,CAAA;IACF,KAAK,EAAE,KAAK,CAAC;QACT,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AA+CD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,cAAc,2CAmgBhI"}
|
|
@@ -38,52 +38,160 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
38
38
|
/**
|
|
39
39
|
* GraphView - D3.js Force-Directed Knowledge Graph Visualization
|
|
40
40
|
* Browser-based component for web application
|
|
41
|
+
*
|
|
42
|
+
* Features:
|
|
43
|
+
* - Complete legend with all node types (auto-generated from COLORS)
|
|
44
|
+
* - Clickable legend items to filter node types
|
|
45
|
+
* - Focus on current file's document node
|
|
46
|
+
* - "Show Only Connected" toggle to hide orphan nodes
|
|
47
|
+
* - Redesigned side panel with connections list and file navigation
|
|
41
48
|
*/
|
|
42
49
|
const react_1 = require("react");
|
|
43
50
|
const d3 = __importStar(require("d3"));
|
|
44
51
|
const lucide_react_1 = require("lucide-react");
|
|
45
52
|
require("../../styles/GraphView.css");
|
|
46
|
-
//
|
|
47
|
-
const
|
|
48
|
-
root: '#
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
// Node type configuration: color, label, display order
|
|
54
|
+
const NODE_TYPES = [
|
|
55
|
+
{ key: 'root', label: 'Root', color: '#FF4444', size: 14 },
|
|
56
|
+
{ key: 'jotx', label: 'Document', color: '#5B9BD5', size: 10 },
|
|
57
|
+
{ key: 'mermaid', label: 'Mermaid', color: '#9C27B0' },
|
|
58
|
+
{ key: 'chart', label: 'Chart', color: '#FF6B6B' },
|
|
59
|
+
{ key: 'math', label: 'Math', color: '#FFD700' },
|
|
60
|
+
{ key: 'table', label: 'Table', color: '#32CD32' },
|
|
61
|
+
{ key: 'properties', label: 'Properties', color: '#BA55D3' },
|
|
62
|
+
{ key: 'jotxlink', label: 'JotxLink', color: '#FF69B4' },
|
|
63
|
+
{ key: 'button', label: 'Button', color: '#E67E22' },
|
|
64
|
+
{ key: 'card', label: 'Card', color: '#3498DB' },
|
|
65
|
+
{ key: 'link', label: 'Link', color: '#1ABC9C' },
|
|
66
|
+
{ key: 'linkcard', label: 'LinkCard', color: '#2ECC71' },
|
|
67
|
+
];
|
|
68
|
+
// Build color map from config
|
|
69
|
+
const COLORS = Object.fromEntries(NODE_TYPES.map(t => [t.key, t.color]));
|
|
70
|
+
COLORS['document'] = COLORS['jotx'];
|
|
71
|
+
COLORS['orphan'] = '#888888';
|
|
72
|
+
COLORS['block'] = '#95A5A6';
|
|
73
|
+
function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: propStats, onNavigateToFile }) {
|
|
64
74
|
const containerRef = (0, react_1.useRef)(null);
|
|
65
75
|
const svgRef = (0, react_1.useRef)(null);
|
|
66
76
|
const [selectedNode, setSelectedNode] = (0, react_1.useState)(null);
|
|
67
77
|
const stats = propStats || { documents: 0, blocks: 0, edges: 0 };
|
|
68
78
|
const simulationRef = (0, react_1.useRef)(null);
|
|
69
79
|
const zoomRef = (0, react_1.useRef)(null);
|
|
80
|
+
// Filter state: which node types are visible
|
|
81
|
+
const [hiddenTypes, setHiddenTypes] = (0, react_1.useState)(new Set());
|
|
82
|
+
// Show only nodes that link across files (cross-document connections)
|
|
83
|
+
const [showOnlyLinked, setShowOnlyLinked] = (0, react_1.useState)(false);
|
|
84
|
+
// Compute which node types actually exist in the data
|
|
85
|
+
const activeNodeTypes = (0, react_1.useMemo)(() => {
|
|
86
|
+
if (!graphData)
|
|
87
|
+
return [];
|
|
88
|
+
const typesInData = new Set(graphData.nodes.map(n => n.nodeKind || n.type));
|
|
89
|
+
return NODE_TYPES.filter(t => {
|
|
90
|
+
if (t.key === 'root') {
|
|
91
|
+
return graphData.nodes.some(n => n.metadata?.type === 'root');
|
|
92
|
+
}
|
|
93
|
+
if (t.key === 'jotx') {
|
|
94
|
+
return typesInData.has('jotx') || typesInData.has('document');
|
|
95
|
+
}
|
|
96
|
+
return typesInData.has(t.key);
|
|
97
|
+
});
|
|
98
|
+
}, [graphData]);
|
|
99
|
+
// Compute connections for a node
|
|
100
|
+
const getConnections = (0, react_1.useCallback)((nodeId) => {
|
|
101
|
+
if (!graphData)
|
|
102
|
+
return { incoming: [], outgoing: [] };
|
|
103
|
+
const incoming = graphData.edges
|
|
104
|
+
.filter(e => e.target === nodeId || (typeof e.target === 'object' && e.target.id === nodeId))
|
|
105
|
+
.map(e => {
|
|
106
|
+
const sourceId = typeof e.source === 'string' ? e.source : e.source.id;
|
|
107
|
+
const sourceNode = graphData.nodes.find(n => n.id === sourceId);
|
|
108
|
+
return { id: sourceId, label: sourceNode?.label || sourceId, type: e.type, nodeKind: sourceNode?.nodeKind || 'unknown', path: sourceNode?.path || '' };
|
|
109
|
+
});
|
|
110
|
+
const outgoing = graphData.edges
|
|
111
|
+
.filter(e => e.source === nodeId || (typeof e.source === 'object' && e.source.id === nodeId))
|
|
112
|
+
.map(e => {
|
|
113
|
+
const targetId = typeof e.target === 'string' ? e.target : e.target.id;
|
|
114
|
+
const targetNode = graphData.nodes.find(n => n.id === targetId);
|
|
115
|
+
return { id: targetId, label: targetNode?.label || targetId, type: e.type, nodeKind: targetNode?.nodeKind || 'unknown', path: targetNode?.path || '' };
|
|
116
|
+
});
|
|
117
|
+
return { incoming, outgoing };
|
|
118
|
+
}, [graphData]);
|
|
119
|
+
// Compute node IDs that have cross-file (cross-document) links
|
|
120
|
+
const crossFileLinkedIds = (0, react_1.useMemo)(() => {
|
|
121
|
+
if (!graphData)
|
|
122
|
+
return new Set();
|
|
123
|
+
const ids = new Set();
|
|
124
|
+
// Build a path lookup
|
|
125
|
+
const nodePathMap = new Map();
|
|
126
|
+
for (const node of graphData.nodes) {
|
|
127
|
+
nodePathMap.set(node.id, node.path);
|
|
128
|
+
}
|
|
129
|
+
for (const edge of graphData.edges) {
|
|
130
|
+
const sourceId = typeof edge.source === 'string' ? edge.source : edge.source.id;
|
|
131
|
+
const targetId = typeof edge.target === 'string' ? edge.target : edge.target.id;
|
|
132
|
+
const sourcePath = nodePathMap.get(sourceId);
|
|
133
|
+
const targetPath = nodePathMap.get(targetId);
|
|
134
|
+
// Only count edges that cross file boundaries
|
|
135
|
+
if (sourcePath && targetPath && sourcePath !== targetPath) {
|
|
136
|
+
ids.add(sourceId);
|
|
137
|
+
ids.add(targetId);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return ids;
|
|
141
|
+
}, [graphData]);
|
|
70
142
|
const getNodeColor = (0, react_1.useCallback)((node) => {
|
|
71
143
|
const isRoot = node.metadata?.type === 'root';
|
|
72
144
|
if (isRoot)
|
|
73
145
|
return COLORS.root;
|
|
74
146
|
if (node.type === 'document' || node.nodeKind === 'jotx')
|
|
75
|
-
return COLORS.
|
|
147
|
+
return COLORS.jotx;
|
|
76
148
|
return COLORS[node.nodeKind] || COLORS.block;
|
|
77
149
|
}, []);
|
|
150
|
+
const getNodeKindForFilter = (0, react_1.useCallback)((node) => {
|
|
151
|
+
if (node.metadata?.type === 'root')
|
|
152
|
+
return 'root';
|
|
153
|
+
if (node.type === 'document' || node.nodeKind === 'jotx')
|
|
154
|
+
return 'jotx';
|
|
155
|
+
return node.nodeKind;
|
|
156
|
+
}, []);
|
|
157
|
+
const toggleType = (0, react_1.useCallback)((typeKey) => {
|
|
158
|
+
setHiddenTypes(prev => {
|
|
159
|
+
const next = new Set(prev);
|
|
160
|
+
if (next.has(typeKey)) {
|
|
161
|
+
next.delete(typeKey);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
next.add(typeKey);
|
|
165
|
+
}
|
|
166
|
+
return next;
|
|
167
|
+
});
|
|
168
|
+
}, []);
|
|
78
169
|
const renderGraph = (0, react_1.useCallback)((data, width, height) => {
|
|
79
170
|
if (!svgRef.current)
|
|
80
171
|
return;
|
|
81
172
|
const svg = d3.select(svgRef.current);
|
|
82
173
|
svg.selectAll('*').remove();
|
|
174
|
+
// Filter nodes based on type filters and connected-only toggle
|
|
175
|
+
const filteredNodes = data.nodes.filter(node => {
|
|
176
|
+
const kind = getNodeKindForFilter(node);
|
|
177
|
+
if (hiddenTypes.has(kind))
|
|
178
|
+
return false;
|
|
179
|
+
if (showOnlyLinked && !crossFileLinkedIds.has(node.id))
|
|
180
|
+
return false;
|
|
181
|
+
return true;
|
|
182
|
+
});
|
|
183
|
+
const filteredNodeIds = new Set(filteredNodes.map(n => n.id));
|
|
184
|
+
// Filter edges to only include edges between visible nodes
|
|
185
|
+
const filteredEdges = data.edges.filter(e => {
|
|
186
|
+
const sourceId = typeof e.source === 'string' ? e.source : e.source.id;
|
|
187
|
+
const targetId = typeof e.target === 'string' ? e.target : e.target.id;
|
|
188
|
+
return filteredNodeIds.has(sourceId) && filteredNodeIds.has(targetId);
|
|
189
|
+
});
|
|
83
190
|
// Prepare nodes
|
|
84
|
-
const nodes =
|
|
191
|
+
const nodes = filteredNodes.map(node => {
|
|
85
192
|
const isRoot = node.metadata?.type === 'root';
|
|
86
193
|
const isJotx = node.nodeKind === 'jotx' || node.type === 'document';
|
|
194
|
+
const isFocused = focusedDocumentPath && node.path === focusedDocumentPath;
|
|
87
195
|
let radius = 6;
|
|
88
196
|
if (isRoot)
|
|
89
197
|
radius = 14;
|
|
@@ -93,12 +201,12 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
93
201
|
...node,
|
|
94
202
|
color: getNodeColor(node),
|
|
95
203
|
radius,
|
|
96
|
-
x: Math.random() * width,
|
|
97
|
-
y: Math.random() * height
|
|
204
|
+
x: isFocused ? width / 2 : Math.random() * width,
|
|
205
|
+
y: isFocused ? height / 2 : Math.random() * height,
|
|
98
206
|
};
|
|
99
207
|
});
|
|
100
208
|
// Prepare links
|
|
101
|
-
const links =
|
|
209
|
+
const links = filteredEdges.map(edge => ({
|
|
102
210
|
source: edge.source,
|
|
103
211
|
target: edge.target,
|
|
104
212
|
type: edge.type
|
|
@@ -115,6 +223,12 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
115
223
|
const g = svg.append('g');
|
|
116
224
|
// Arrow marker
|
|
117
225
|
const defs = svg.append('defs');
|
|
226
|
+
// Glow filter for focused node
|
|
227
|
+
const filter = defs.append('filter').attr('id', 'glow');
|
|
228
|
+
filter.append('feGaussianBlur').attr('stdDeviation', '4').attr('result', 'coloredBlur');
|
|
229
|
+
const feMerge = filter.append('feMerge');
|
|
230
|
+
feMerge.append('feMergeNode').attr('in', 'coloredBlur');
|
|
231
|
+
feMerge.append('feMergeNode').attr('in', 'SourceGraphic');
|
|
118
232
|
defs.append('marker')
|
|
119
233
|
.attr('id', 'arrow')
|
|
120
234
|
.attr('viewBox', '0 -5 10 10')
|
|
@@ -125,30 +239,28 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
125
239
|
.attr('orient', 'auto')
|
|
126
240
|
.append('path')
|
|
127
241
|
.attr('d', 'M0,-5L10,0L0,5')
|
|
128
|
-
.attr('fill', '#
|
|
242
|
+
.attr('fill', '#555');
|
|
129
243
|
// Create simulation
|
|
130
244
|
const simulation = d3.forceSimulation(nodes)
|
|
131
|
-
.force('link', d3.forceLink(links).id(d => d.id).distance(
|
|
132
|
-
.force('charge', d3.forceManyBody().strength(-
|
|
245
|
+
.force('link', d3.forceLink(links).id(d => d.id).distance(60))
|
|
246
|
+
.force('charge', d3.forceManyBody().strength(-120))
|
|
133
247
|
.force('center', d3.forceCenter(width / 2, height / 2))
|
|
134
|
-
.force('collision', d3.forceCollide().radius(
|
|
248
|
+
.force('collision', d3.forceCollide().radius(12));
|
|
135
249
|
simulationRef.current = simulation;
|
|
136
250
|
// Create links
|
|
137
251
|
const link = g.append('g')
|
|
138
252
|
.selectAll('line')
|
|
139
253
|
.data(links)
|
|
140
254
|
.enter().append('line')
|
|
141
|
-
.attr('stroke', d => d.type === 'parent-child' ? '
|
|
255
|
+
.attr('stroke', d => d.type === 'parent-child' ? 'rgba(100, 100, 140, 0.4)' : 'rgba(255, 107, 107, 0.6)')
|
|
142
256
|
.attr('stroke-opacity', 0.6)
|
|
143
|
-
.attr('stroke-width', d => d.type === 'reference' ?
|
|
257
|
+
.attr('stroke-width', d => d.type === 'reference' ? 2.5 : 1.5)
|
|
144
258
|
.attr('marker-end', 'url(#arrow)');
|
|
145
|
-
// Create
|
|
146
|
-
const
|
|
147
|
-
.selectAll('
|
|
259
|
+
// Create node groups
|
|
260
|
+
const nodeGroup = g.append('g')
|
|
261
|
+
.selectAll('g')
|
|
148
262
|
.data(nodes)
|
|
149
|
-
.enter().append('
|
|
150
|
-
.attr('r', d => d.radius)
|
|
151
|
-
.attr('fill', d => d.color)
|
|
263
|
+
.enter().append('g')
|
|
152
264
|
.style('cursor', 'pointer')
|
|
153
265
|
.on('click', (event, d) => {
|
|
154
266
|
event.stopPropagation();
|
|
@@ -171,17 +283,34 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
171
283
|
d.fx = null;
|
|
172
284
|
d.fy = null;
|
|
173
285
|
}));
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
.
|
|
177
|
-
.
|
|
178
|
-
.
|
|
286
|
+
// Node circles
|
|
287
|
+
nodeGroup.append('circle')
|
|
288
|
+
.attr('r', d => d.radius)
|
|
289
|
+
.attr('fill', d => d.color)
|
|
290
|
+
.attr('stroke', d => {
|
|
291
|
+
if (focusedDocumentPath && d.path === focusedDocumentPath)
|
|
292
|
+
return '#fff';
|
|
293
|
+
return 'none';
|
|
294
|
+
})
|
|
295
|
+
.attr('stroke-width', d => {
|
|
296
|
+
if (focusedDocumentPath && d.path === focusedDocumentPath)
|
|
297
|
+
return 2.5;
|
|
298
|
+
return 0;
|
|
299
|
+
})
|
|
300
|
+
.attr('filter', d => {
|
|
301
|
+
if (focusedDocumentPath && d.path === focusedDocumentPath)
|
|
302
|
+
return 'url(#glow)';
|
|
303
|
+
return 'none';
|
|
304
|
+
});
|
|
305
|
+
// Node labels
|
|
306
|
+
nodeGroup.append('text')
|
|
179
307
|
.text(d => d.label)
|
|
180
308
|
.attr('font-size', '10px')
|
|
181
|
-
.attr('dx',
|
|
309
|
+
.attr('dx', d => d.radius + 4)
|
|
182
310
|
.attr('dy', 3)
|
|
183
|
-
.attr('fill', '#
|
|
184
|
-
.style('pointer-events', 'none')
|
|
311
|
+
.attr('fill', '#aaa')
|
|
312
|
+
.style('pointer-events', 'none')
|
|
313
|
+
.style('font-family', 'system-ui, -apple-system, sans-serif');
|
|
185
314
|
// Update positions
|
|
186
315
|
simulation.on('tick', () => {
|
|
187
316
|
link
|
|
@@ -189,17 +318,24 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
189
318
|
.attr('y1', d => d.source.y || 0)
|
|
190
319
|
.attr('x2', d => d.target.x || 0)
|
|
191
320
|
.attr('y2', d => d.target.y || 0);
|
|
192
|
-
|
|
193
|
-
.attr('
|
|
194
|
-
.attr('cy', d => d.y || 0);
|
|
195
|
-
label
|
|
196
|
-
.attr('x', d => d.x || 0)
|
|
197
|
-
.attr('y', d => d.y || 0);
|
|
321
|
+
nodeGroup
|
|
322
|
+
.attr('transform', d => `translate(${d.x || 0}, ${d.y || 0})`);
|
|
198
323
|
});
|
|
324
|
+
// After simulation stabilizes, zoom to focused node
|
|
325
|
+
if (focusedDocumentPath) {
|
|
326
|
+
const focusedNode = nodes.find(n => n.path === focusedDocumentPath);
|
|
327
|
+
if (focusedNode) {
|
|
328
|
+
simulation.on('end', () => {
|
|
329
|
+
const scale = 1.5;
|
|
330
|
+
const tx = width / 2 - (focusedNode.x || 0) * scale;
|
|
331
|
+
const ty = height / 2 - (focusedNode.y || 0) * scale;
|
|
332
|
+
svg.transition().duration(800).call(zoom.transform, d3.zoomIdentity.translate(tx, ty).scale(scale));
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
199
336
|
// Click background to deselect
|
|
200
337
|
svg.on('click', () => setSelectedNode(null));
|
|
201
|
-
}, [getNodeColor]);
|
|
202
|
-
// Removed indexing logic - platform provides pre-indexed data via graphData prop
|
|
338
|
+
}, [getNodeColor, getNodeKindForFilter, hiddenTypes, showOnlyLinked, crossFileLinkedIds, focusedDocumentPath]);
|
|
203
339
|
(0, react_1.useEffect)(() => {
|
|
204
340
|
if (!isOpen || !containerRef.current || !svgRef.current || !graphData)
|
|
205
341
|
return;
|
|
@@ -227,8 +363,50 @@ function GraphView({ isOpen, onClose, focusedDocumentPath, graphData, stats: pro
|
|
|
227
363
|
d3.select(svgRef.current).transition().call(zoomRef.current.transform, d3.zoomIdentity);
|
|
228
364
|
}
|
|
229
365
|
};
|
|
366
|
+
const handleNavigate = (0, react_1.useCallback)((filePath) => {
|
|
367
|
+
if (onNavigateToFile) {
|
|
368
|
+
onNavigateToFile(filePath);
|
|
369
|
+
}
|
|
370
|
+
}, [onNavigateToFile]);
|
|
371
|
+
// Get parent document path from block node id (format: "docId#blockId")
|
|
372
|
+
const getParentDocPath = (0, react_1.useCallback)((nodeId) => {
|
|
373
|
+
if (!graphData || !nodeId.includes('#'))
|
|
374
|
+
return null;
|
|
375
|
+
const parentId = nodeId.split('#')[0];
|
|
376
|
+
const parentNode = graphData.nodes.find(n => n.id === parentId);
|
|
377
|
+
return parentNode ? { label: parentNode.label, path: parentNode.path } : null;
|
|
378
|
+
}, [graphData]);
|
|
230
379
|
if (!isOpen)
|
|
231
380
|
return null;
|
|
232
|
-
|
|
381
|
+
// Connections for selected node
|
|
382
|
+
const selectedConnections = selectedNode ? getConnections(selectedNode.id) : null;
|
|
383
|
+
const selectedParent = selectedNode ? getParentDocPath(selectedNode.id) : null;
|
|
384
|
+
// Count visible nodes
|
|
385
|
+
const visibleCount = graphData ? graphData.nodes.filter(n => {
|
|
386
|
+
const kind = getNodeKindForFilter(n);
|
|
387
|
+
if (hiddenTypes.has(kind))
|
|
388
|
+
return false;
|
|
389
|
+
if (showOnlyLinked && !crossFileLinkedIds.has(n.id))
|
|
390
|
+
return false;
|
|
391
|
+
return true;
|
|
392
|
+
}).length : 0;
|
|
393
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "graph-view-overlay", children: (0, jsx_runtime_1.jsxs)("div", { className: "graph-view-container", children: [(0, jsx_runtime_1.jsxs)("div", { className: "graph-view-header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "graph-view-title", children: [(0, jsx_runtime_1.jsx)("span", { className: "graph-icon", children: "\uD83D\uDD17" }), (0, jsx_runtime_1.jsx)("h2", { children: "Knowledge Graph" }), (0, jsx_runtime_1.jsxs)("span", { className: "graph-stats", children: [visibleCount, " / ", graphData?.nodes?.length || 0, " nodes \u00B7 ", stats.edges, " links"] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "graph-view-header-right", children: [(0, jsx_runtime_1.jsxs)("label", { className: "graph-filter-toggle", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: showOnlyLinked, onChange: (e) => setShowOnlyLinked(e.target.checked) }), (0, jsx_runtime_1.jsx)("span", { children: "Linked across files" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "graph-view-controls", children: [(0, jsx_runtime_1.jsx)("button", { onClick: handleZoomIn, title: "Zoom In", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ZoomIn, { size: 18 }) }), (0, jsx_runtime_1.jsx)("button", { onClick: handleZoomOut, title: "Zoom Out", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ZoomOut, { size: 18 }) }), (0, jsx_runtime_1.jsx)("button", { onClick: handleFitView, title: "Fit View", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Maximize2, { size: 18 }) }), (0, jsx_runtime_1.jsx)("button", { onClick: onClose, title: "Close", children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 18 }) })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: "graph-view-content", children: [(0, jsx_runtime_1.jsx)("svg", { ref: svgRef, width: "100%", height: "100%" }), (0, jsx_runtime_1.jsxs)("div", { className: "graph-legend", children: [(0, jsx_runtime_1.jsx)("div", { className: "legend-title", children: "Filter by Type" }), activeNodeTypes.map(t => {
|
|
394
|
+
const isHidden = hiddenTypes.has(t.key);
|
|
395
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `legend-item ${isHidden ? 'legend-item-hidden' : ''}`, onClick: () => toggleType(t.key), title: isHidden ? `Show ${t.label}` : `Hide ${t.label}`, children: [(0, jsx_runtime_1.jsx)("span", { className: "legend-dot", style: {
|
|
396
|
+
background: isHidden ? '#444' : t.color,
|
|
397
|
+
width: t.size || 6,
|
|
398
|
+
height: t.size || 6,
|
|
399
|
+
} }), (0, jsx_runtime_1.jsx)("span", { className: "legend-label", children: t.label })] }, t.key));
|
|
400
|
+
})] }), selectedNode && ((0, jsx_runtime_1.jsxs)("div", { className: "graph-node-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-header-info", children: [(0, jsx_runtime_1.jsx)("span", { className: "panel-type-badge", style: { background: selectedNode.color }, children: selectedNode.nodeKind }), (0, jsx_runtime_1.jsx)("h3", { children: selectedNode.label })] }), (0, jsx_runtime_1.jsx)("button", { onClick: () => setSelectedNode(null), children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 16 }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "panel-content", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-row", children: [(0, jsx_runtime_1.jsx)("span", { className: "panel-label", children: "ID" }), (0, jsx_runtime_1.jsx)("span", { className: "panel-value panel-value-mono", children: selectedNode.id })] }), selectedNode.path && ((0, jsx_runtime_1.jsxs)("div", { className: "panel-row", children: [(0, jsx_runtime_1.jsx)("span", { className: "panel-label", children: "File" }), (0, jsx_runtime_1.jsx)("span", { className: "panel-value panel-value-path", children: selectedNode.path.split('/').pop() })] })), selectedParent && ((0, jsx_runtime_1.jsxs)("div", { className: "panel-row", children: [(0, jsx_runtime_1.jsx)("span", { className: "panel-label", children: "Parent" }), (0, jsx_runtime_1.jsxs)("button", { className: "panel-link", onClick: () => {
|
|
401
|
+
const parentNode = graphData?.nodes.find(n => n.path === selectedParent.path);
|
|
402
|
+
if (parentNode) {
|
|
403
|
+
// Find the D3Node and select it
|
|
404
|
+
setSelectedNode(null);
|
|
405
|
+
setTimeout(() => {
|
|
406
|
+
// Just navigate to the parent's file
|
|
407
|
+
handleNavigate(selectedParent.path);
|
|
408
|
+
}, 100);
|
|
409
|
+
}
|
|
410
|
+
}, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.FileText, { size: 12 }), selectedParent.label] })] }))] }), selectedConnections && (selectedConnections.incoming.length > 0 || selectedConnections.outgoing.length > 0) && ((0, jsx_runtime_1.jsxs)("div", { className: "panel-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-section-title", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, { size: 12 }), "Connections (", selectedConnections.incoming.length + selectedConnections.outgoing.length, ")"] }), selectedConnections.outgoing.map((conn, i) => ((0, jsx_runtime_1.jsxs)("div", { className: "panel-connection", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ArrowRight, { size: 12, className: "conn-icon conn-outgoing" }), (0, jsx_runtime_1.jsx)("button", { className: "panel-link", onClick: () => handleNavigate(conn.path), title: conn.id, children: conn.label }), (0, jsx_runtime_1.jsx)("span", { className: "conn-type", children: conn.type })] }, `out-${i}`))), selectedConnections.incoming.map((conn, i) => ((0, jsx_runtime_1.jsxs)("div", { className: "panel-connection", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 12, className: "conn-icon conn-incoming" }), (0, jsx_runtime_1.jsx)("button", { className: "panel-link", onClick: () => handleNavigate(conn.path), title: conn.id, children: conn.label }), (0, jsx_runtime_1.jsx)("span", { className: "conn-type", children: conn.type })] }, `in-${i}`)))] })), selectedNode.path && onNavigateToFile && ((0, jsx_runtime_1.jsx)("div", { className: "panel-actions", children: (0, jsx_runtime_1.jsxs)("button", { className: "panel-navigate-btn", onClick: () => handleNavigate(selectedNode.path), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 14 }), "Open in Editor"] }) }))] })] }))] })] }) }));
|
|
233
411
|
}
|
|
234
412
|
//# sourceMappingURL=GraphView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphView.js","sourceRoot":"","sources":["../../../src/components/GraphView/GraphView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphView.js","sourceRoot":"","sources":["../../../src/components/GraphView/GraphView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JotxEditor.d.ts","sourceRoot":"","sources":["../../src/components/JotxEditor.tsx"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"JotxEditor.d.ts","sourceRoot":"","sources":["../../src/components/JotxEditor.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiFH,OAAO,0BAA0B,CAAA;AACjC,OAAO,gCAAgC,CAAA;AAWvC,OAAO,+BAA+B,CAAA;AAEtC,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC7C,SAAS,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAsB,EACvB,EAAE,eAAe,2CAksCjB"}
|
|
@@ -58,6 +58,8 @@ const CalloutNode_1 = require("../extensions/CalloutNode");
|
|
|
58
58
|
const AttachNode_1 = require("../extensions/AttachNode");
|
|
59
59
|
const MermaidNode_1 = require("../extensions/MermaidNode");
|
|
60
60
|
const ChartNode_1 = require("../extensions/ChartNode");
|
|
61
|
+
const MotionNode_1 = require("../extensions/MotionNode");
|
|
62
|
+
const MotionPresets_1 = require("./motion/MotionPresets");
|
|
61
63
|
const JotxLinkNode_1 = require("../extensions/JotxLinkNode");
|
|
62
64
|
const ImageNode_1 = require("../extensions/ImageNode");
|
|
63
65
|
const ImageBlockNode_1 = require("../extensions/ImageBlockNode");
|
|
@@ -185,6 +187,7 @@ function JotxEditor({ documentId, documentType, tiptapDoc, onChange, ribbonExpan
|
|
|
185
187
|
LinkNode_1.LinkNode,
|
|
186
188
|
MermaidNode_1.MermaidNode,
|
|
187
189
|
ChartNode_1.ChartNode,
|
|
190
|
+
MotionNode_1.MotionNode,
|
|
188
191
|
JotxLinkNode_1.JotxLinkNode,
|
|
189
192
|
DateTimeNode_1.DateTimeNode,
|
|
190
193
|
MathNode_1.MathNode,
|
|
@@ -623,6 +626,10 @@ function JotxEditor({ documentId, documentType, tiptapDoc, onChange, ribbonExpan
|
|
|
623
626
|
editor.chain().focus().insertContent([{ type: 'chart', attrs: { chartType: 'bar', json } }, { type: 'paragraph' }]).run();
|
|
624
627
|
break;
|
|
625
628
|
}
|
|
629
|
+
case 'motion': {
|
|
630
|
+
editor.chain().focus().insertContent([{ type: 'motion', attrs: { motionType: 'custom', scene: (0, MotionPresets_1.getDefaultScene)('custom'), title: (0, MotionPresets_1.getDefaultTitle)('custom'), duration: (0, MotionPresets_1.getDefaultDuration)('custom') } }, { type: 'paragraph' }]).run();
|
|
631
|
+
break;
|
|
632
|
+
}
|
|
626
633
|
case 'datetime': {
|
|
627
634
|
editor
|
|
628
635
|
.chain()
|