react-kggraph 0.0.24 → 0.0.25

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/lib/index.es7.js CHANGED
@@ -1,67 +1,61 @@
1
- import { jsxs as f, Fragment as B, jsx as o } from "react/jsx-runtime";
2
- import Z, { forwardRef as Ue, useContext as Xe, useState as y, useRef as Ye, useImperativeHandle as Re, useEffect as et } from "react";
1
+ import { jsxs as u, Fragment as Z, jsx as o } from "react/jsx-runtime";
2
+ import K, { forwardRef as Re, useContext as et, useState as C, useRef as tt, useImperativeHandle as ot, useEffect as nt } from "react";
3
3
  /* empty css */
4
- import { Dropdown as tt, Flex as x, Modal as ot, Drawer as nt, Tabs as re, Form as p, Input as V, Select as u, ColorPicker as F, Button as de, message as z } from "antd";
5
- import { utils as I, writeFile as lt } from "./index.es21.js";
6
- import { textPositionConfig as he, textLayout as st, downloadData as at, choiceConfig as rt, linkAnalysis as it, layoutCongig as ct, handleCalcPath as dt, getCyData as ie, donwnGraphData as ht } from "./index.es8.js";
7
- import { GraphContext as gt } from "./index.es15.js";
8
- import { layout as mt, fixNodesToEdges as ut } from "./index.es9.js";
9
- import { defaultColors as T, nodeSize as M } from "./index.es10.js";
10
- import pt from "./index.es22.js";
11
- import ft from "./index.es23.js";
12
- import bt from "./index.es24.js";
13
- import j from "./index.es17.js";
14
- import { downloadFile as ce } from "./index.es12.js";
15
- import { actionList as wt, entityRelationList as yt } from "./index.es4.js";
16
- const K = (b, c) => (L) => {
17
- L.stopPropagation(), b == null || b(c || "");
18
- }, Ct = (b) => {
4
+ import { Dropdown as lt, Flex as N, Modal as st, Drawer as at, Tabs as ce, Form as f, Input as O, Select as p, ColorPicker as _, Button as ge, Row as it, message as F } from "antd";
5
+ import { utils as P, writeFile as rt } from "./index.es21.js";
6
+ import { textPositionConfig as me, textLayout as ct, downloadData as dt, choiceConfig as ht, linkAnalysis as gt, layoutCongig as mt, handleCalcPath as ut, getCyData as de, donwnGraphData as pt } from "./index.es8.js";
7
+ import { GraphContext as ft } from "./index.es15.js";
8
+ import { layout as bt, fixNodesToEdges as wt } from "./index.es9.js";
9
+ import { defaultColors as H, nodeSize as q } from "./index.es10.js";
10
+ import yt from "./index.es22.js";
11
+ import Ct from "./index.es23.js";
12
+ import vt from "./index.es24.js";
13
+ import I from "./index.es17.js";
14
+ import { downloadFile as he } from "./index.es12.js";
15
+ import { actionList as xt, entityRelationList as St } from "./index.es4.js";
16
+ import { DownOutlined as Nt, RightOutlined as Lt, UpOutlined as kt, LeftOutlined as Et } from "@ant-design/icons";
17
+ const M = (b, c) => (k) => {
18
+ k.stopPropagation(), b == null || b(c || "");
19
+ }, Dt = (b) => {
19
20
  if (typeof b == "string")
20
21
  switch (b) {
21
22
  case "top":
22
- return { top: 20, left: "50%", transform: "translateX(-50%)" };
23
+ return { top: 20, left: 20 };
23
24
  case "bottom":
24
- return { bottom: 20, left: "50%", transform: "translateX(-50%)" };
25
+ return { bottom: 20, left: 20 };
25
26
  case "left":
26
- return { top: "50%", left: 20, transform: "translateY(-50%)" };
27
+ return { bottom: "10%", left: 20 };
27
28
  case "right":
28
- return { top: "50%", right: 20, transform: "translateY(-50%)" };
29
- case "top-left":
30
- return { top: 20, left: 20 };
31
- case "top-right":
32
- return { top: 20, right: 20 };
33
- case "bottom-left":
34
- return { bottom: 20, left: 20 };
35
- case "bottom-right":
29
+ return { bottom: "10%", right: 20 };
36
30
  default:
37
31
  return { bottom: 20, right: 20 };
38
32
  }
39
33
  return b;
40
- }, _t = Ue(({
34
+ }, Qt = Re(({
41
35
  graphInfo: b,
42
36
  cyRef: c,
43
- initNodeScale: L,
44
- typeObj: v,
45
- relationObj: E,
46
- colors: ge
47
- }, me) => {
48
- const H = { ...T, ...ge }, { layoutType: ue, setLayoutType: pe, queryStatisticsConfig: S, actionBar: N } = Xe(gt), q = typeof N == "boolean" ? N : !0, _ = (N == null ? void 0 : N.position) || "top-left", Q = (N == null ? void 0 : N.actionList) ?? wt, [D, fe] = y(""), [be, G] = y(!1), [U, we] = y(L), [ye, P] = y(!1), [Ce, A] = y(!1), [X, ve] = y(null), [xe, Y] = y(!1), [R, ee] = y(!1), [Se, Ne] = y("node"), O = Ye(null), Le = Array.isArray(S) ? S.length > 0 : S, [te, ke] = y(Le), [oe, De] = y(/* @__PURE__ */ new Set()), [ne, Ee] = y(/* @__PURE__ */ new Set());
49
- Re(me, () => ({
37
+ initNodeScale: k,
38
+ typeObj: S,
39
+ relationObj: V,
40
+ colors: ue
41
+ }, pe) => {
42
+ const W = { ...H, ...ue }, { layoutType: fe, setLayoutType: be, queryStatisticsConfig: L, actionBar: v } = et(ft), Q = typeof v == "boolean" ? v : !0, J = (v == null ? void 0 : v.position) || "top-left", U = (v == null ? void 0 : v.actionList) ?? xt, [A, we] = C((v == null ? void 0 : v.isExpand) ?? !1), [D, ye] = C(""), [Ce, G] = C(!1), [X, ve] = C(k), [xe, z] = C(!1), [Se, T] = C(!1), [Y, Ne] = C(null), [Le, R] = C(!1), [ee, te] = C(!1), [ke, Ee] = C("node"), j = tt(null), De = Array.isArray(L) ? L.length > 0 : L, [oe, Ie] = C(De), [ne, Ve] = C(/* @__PURE__ */ new Set()), [le, Pe] = C(/* @__PURE__ */ new Set());
43
+ ot(pe, () => ({
50
44
  onPathAnalysis: () => {
51
- se();
45
+ ae();
52
46
  }
53
- })), et(() => {
54
- le();
47
+ })), nt(() => {
48
+ se();
55
49
  }, [D]);
56
- const le = async (e) => {
50
+ const se = async (e) => {
57
51
  const t = c.current;
58
52
  if (!t || !D) {
59
53
  t == null || t.nodes().removeClass("highlight"), t == null || t.fit();
60
54
  return;
61
55
  }
62
56
  const n = t.nodes().filter((l) => {
63
- const i = (l.data("name") || "").toLowerCase(), s = (l.data("role") || "").toLowerCase(), h = (l.data("dept") || "").toLowerCase(), m = String(l.data("id") || "").toLowerCase();
64
- return i.includes(D.toLowerCase()) || s.includes(D.toLowerCase()) || h.includes(D.toLowerCase()) || m.includes(D.toLowerCase());
57
+ const r = (l.data("name") || "").toLowerCase(), s = (l.data("role") || "").toLowerCase(), h = (l.data("dept") || "").toLowerCase(), m = String(l.data("id") || "").toLowerCase();
58
+ return r.includes(D.toLowerCase()) || s.includes(D.toLowerCase()) || h.includes(D.toLowerCase()) || m.includes(D.toLowerCase());
65
59
  });
66
60
  t.nodes().removeClass("highlight"), n.addClass("highlight"), n.length === 1 ? (console.log("matchedNodes:::", n), t.animate({
67
61
  center: {
@@ -69,7 +63,7 @@ const K = (b, c) => (L) => {
69
63
  },
70
64
  duration: 500
71
65
  })) : alert("未找到对应节点");
72
- }, Ie = (e) => {
66
+ }, Oe = (e) => {
73
67
  const t = c.current;
74
68
  if (!t) return;
75
69
  const n = t.zoom();
@@ -84,72 +78,72 @@ const K = (b, c) => (L) => {
84
78
  break;
85
79
  }
86
80
  t.zoom(l), t.center();
87
- }, Ve = () => {
88
- console.log("查询节点"), P(!0), A(!1), O.current.close();
89
- }, se = () => {
90
- console.log("路径分析"), P(!1), A(!0), O.current.close();
91
- }, Pe = (e) => {
81
+ }, Ae = () => {
82
+ console.log("查询节点"), z(!0), T(!1), j.current.close();
83
+ }, ae = () => {
84
+ console.log("路径分析"), z(!1), T(!0), j.current.close();
85
+ }, ze = (e) => {
92
86
  var n;
93
- pe(e);
87
+ be(e);
94
88
  const t = c.current;
95
- t && (t.nodes().unlock(), mt(c, e), e === "cose-bilkent" && ((n = b == null ? void 0 : b.searchNodes) == null ? void 0 : n.length) === 2 && ut(
89
+ t && (t.nodes().unlock(), bt(c, e), e === "cose-bilkent" && ((n = b == null ? void 0 : b.searchNodes) == null ? void 0 : n.length) === 2 && wt(
96
90
  t,
97
91
  b.searchNodes[0],
98
92
  b.searchNodes[1]
99
93
  ));
100
- }, Ae = () => {
94
+ }, Te = () => {
101
95
  const e = c.current;
102
- e && ht(e);
103
- }, Oe = () => {
96
+ e && pt(e);
97
+ }, je = () => {
104
98
  const e = c.current;
105
99
  if (!e) return;
106
- const t = ie(e);
107
- ve(t), Y(!0);
108
- }, ae = (e, t) => {
100
+ const t = de(e);
101
+ Ne(t), R(!0);
102
+ }, ie = (e, t) => {
109
103
  const n = e.current;
110
104
  if (!n) return;
111
105
  const l = 2;
112
106
  if (t === "downloadPng") {
113
- const i = n.png({ scale: l, bg: "transparent", full: !0, quality: 1 });
114
- ce(i, `graph_${Date.now()}.png`);
107
+ const r = n.png({ scale: l, bg: "transparent", full: !0, quality: 1 });
108
+ he(r, `graph_${Date.now()}.png`);
115
109
  } else if (t === "downloadJpg") {
116
- const i = n.jpg({ scale: l, bg: "#ffffff", full: !0, quality: 1 });
117
- ce(i, `graph_${Date.now()}.jpg`);
110
+ const r = n.jpg({ scale: l, bg: "#ffffff", full: !0, quality: 1 });
111
+ he(r, `graph_${Date.now()}.jpg`);
118
112
  }
119
- }, ze = () => {
113
+ }, Fe = () => {
120
114
  const e = c.current;
121
115
  if (!e) return;
122
- const t = ie(e), { nodes: n = [], edges: l = [] } = t, i = n.map((m) => {
123
- var g, r;
124
- const d = m.data || {}, C = d.properties || {};
116
+ const t = de(e), { nodes: n = [], edges: l = [] } = t, r = n.map((m) => {
117
+ var g, i;
118
+ const d = m.data || {}, x = d.properties || {};
125
119
  return {
126
120
  节点名称: d.name || d.label || "",
127
121
  节点ID: d.id || "",
128
122
  节点类型: d.types || "",
129
123
  URI: d.label || "",
130
124
  X坐标: ((g = m.position) == null ? void 0 : g.x) || "",
131
- Y坐标: ((r = m.position) == null ? void 0 : r.y) || "",
125
+ Y坐标: ((i = m.position) == null ? void 0 : i.y) || "",
132
126
  层级: d.level || "",
133
127
  宽度: d.baseWidth || "",
134
128
  高度: d.baseHeight || "",
135
129
  图片: d.image || "",
136
- 属性ID: C.id || "",
137
- 属性值: C.value || ""
130
+ 属性ID: x.id || "",
131
+ 属性值: x.value || ""
138
132
  };
139
133
  }), s = l.map((m) => {
140
- var r, a, w, k;
141
- const d = m.data || {}, C = ((a = (r = d.source) == null ? void 0 : r.split("/#")[0]) == null ? void 0 : a.split("/").pop()) || d.source, g = ((k = (w = d.target) == null ? void 0 : w.split("/#")[0]) == null ? void 0 : k.split("/").pop()) || d.target;
134
+ var i, a, w, E;
135
+ const d = m.data || {}, x = ((a = (i = d.source) == null ? void 0 : i.split("/#")[0]) == null ? void 0 : a.split("/").pop()) || d.source, g = ((E = (w = d.target) == null ? void 0 : w.split("/#")[0]) == null ? void 0 : E.split("/").pop()) || d.target;
142
136
  return {
143
- 源节点: C,
137
+ 源节点: x,
144
138
  目标节点: g,
145
139
  源URI: d.source || "",
146
140
  目标URI: d.target || "",
147
141
  关系名称: d.name || d.label || "",
148
142
  关系ID: d.id || ""
149
143
  };
150
- }), h = I.book_new();
151
- if (i.length > 0) {
152
- const m = I.json_to_sheet(i);
144
+ }), h = P.book_new();
145
+ if (r.length > 0) {
146
+ const m = P.json_to_sheet(r);
153
147
  m["!cols"] = [
154
148
  { wch: 30 },
155
149
  // 节点名称
@@ -175,10 +169,10 @@ const K = (b, c) => (L) => {
175
169
  // 属性ID
176
170
  { wch: 40 }
177
171
  // 属性值
178
- ], I.book_append_sheet(h, m, "节点");
172
+ ], P.book_append_sheet(h, m, "节点");
179
173
  }
180
174
  if (s.length > 0) {
181
- const m = I.json_to_sheet(s);
175
+ const m = P.json_to_sheet(s);
182
176
  m["!cols"] = [
183
177
  { wch: 30 },
184
178
  // 源节点
@@ -192,32 +186,32 @@ const K = (b, c) => (L) => {
192
186
  // 关系名称
193
187
  { wch: 40 }
194
188
  // 关系ID
195
- ], I.book_append_sheet(h, m, "关系");
189
+ ], P.book_append_sheet(h, m, "关系");
196
190
  }
197
- lt(h, `graph_${Date.now()}.xlsx`);
198
- }, Te = (e, t) => {
191
+ rt(h, `graph_${Date.now()}.xlsx`);
192
+ }, He = (e, t) => {
199
193
  switch (e.stopPropagation(), t) {
200
194
  case "downloadJson":
201
- Ae();
195
+ Te();
202
196
  break;
203
197
  case "previewJsonList":
204
- Oe();
198
+ je();
205
199
  break;
206
200
  case "downloadExcel":
207
- ze();
201
+ Fe();
208
202
  break;
209
203
  case "previewDataList":
210
204
  break;
211
205
  case "downloadJpg":
212
- ae(c, t);
206
+ ie(c, t);
213
207
  break;
214
208
  case "downloadPng":
215
- ae(c, t);
209
+ ie(c, t);
216
210
  break;
217
211
  }
218
- }, je = () => {
219
- P(!1), A(!1), O.current.open();
220
- }, Fe = (e) => {
212
+ }, _e = () => {
213
+ z(!1), T(!1), j.current.open();
214
+ }, We = (e) => {
221
215
  const t = c.current;
222
216
  if (t)
223
217
  if (t.panningEnabled(!0), e === "all")
@@ -238,85 +232,85 @@ const K = (b, c) => (L) => {
238
232
  }), t.on("boxselectend", () => {
239
233
  console.log("框选结束"), t.zoomingEnabled(!0), t.panningEnabled(!0);
240
234
  }));
241
- }, He = () => {
235
+ }, Je = () => {
242
236
  const e = c.current;
243
- if (console.log("isShow::::"), be)
237
+ if (console.log("isShow::::"), Ce)
244
238
  G(!1), e.nodes('[types="typed-literal" ]').style("visibility", "visible"), e.edges().style("visibility", "visible");
245
239
  else {
246
240
  G(!0);
247
241
  const t = e.nodes('[types="typed-literal" ]');
248
242
  t.style("visibility", "hidden"), t.connectedEdges().style("visibility", "hidden");
249
243
  }
250
- }, _e = (e) => {
244
+ }, $e = (e) => {
251
245
  const t = c.current;
252
246
  if (!t) return;
253
- const n = e === "out" ? Math.max(U * 0.8, 0.1) : Math.min(U * 1.2, 5);
254
- we(n);
247
+ const n = e === "out" ? Math.max(X * 0.8, 0.1) : Math.min(X * 1.2, 5);
248
+ ve(n);
255
249
  const l = t.nodes();
256
- l.style("width", (i) => (i.data("baseWidth") || M) * n), l.style("height", (i) => (i.data("baseHeight") || M) * n);
257
- }, We = (e) => {
258
- fe(e.content), le(e.content);
259
- }, Je = (e = "刘强东", t = "1") => {
250
+ l.style("width", (r) => (r.data("baseWidth") || q) * n), l.style("height", (r) => (r.data("baseHeight") || q) * n);
251
+ }, Be = (e) => {
252
+ ye(e.content), se(e.content);
253
+ }, Ze = (e = "刘强东", t = "1") => {
260
254
  const n = c.current;
261
255
  if (!n) return;
262
256
  n.elements().removeClass("level-highlight level-selected level-grayed level-highlightedge");
263
257
  const l = n.nodes().filter((g) => (g.data("name") || g.data("id") || "").toString().includes(e));
264
258
  if (l.length === 0) {
265
- z.warning(`未找到节点: ${e}`);
259
+ F.warning(`未找到节点: ${e}`);
266
260
  return;
267
261
  }
268
- const i = parseInt(t) || 1, s = n.collection(), h = [];
262
+ const r = parseInt(t) || 1, s = n.collection(), h = [];
269
263
  l.forEach((g) => {
270
264
  g.addClass("level-selected"), s.merge(g);
271
- let r = n.collection();
265
+ let i = n.collection();
272
266
  const a = /* @__PURE__ */ new Set();
273
- a.add(g.id()), i >= 1 && (r = g.neighborhood().nodes(), r.forEach((w) => {
267
+ a.add(g.id()), r >= 1 && (i = g.neighborhood().nodes(), i.forEach((w) => {
274
268
  a.add(w.id()), s.merge(w);
275
- }), h.push(r));
276
- for (let w = 2; w <= i; w++) {
277
- const k = n.collection();
278
- r.forEach((J) => {
279
- J.neighborhood().nodes().forEach(($) => {
280
- a.has($.id()) || (a.add($.id()), k.merge($));
269
+ }), h.push(i));
270
+ for (let w = 2; w <= r; w++) {
271
+ const E = n.collection();
272
+ i.forEach(($) => {
273
+ $.neighborhood().nodes().forEach((B) => {
274
+ a.has(B.id()) || (a.add(B.id()), E.merge(B));
281
275
  });
282
- }), k.forEach((J) => s.merge(J)), h.push(k), r = k;
276
+ }), E.forEach(($) => s.merge($)), h.push(E), i = E;
283
277
  }
284
278
  }), h.forEach((g) => {
285
279
  g.addClass("level-highlight");
286
280
  }), n.edges().filter((g) => {
287
- const r = g.source(), a = g.target();
288
- return s.contains(r) && s.contains(a);
281
+ const i = g.source(), a = g.target();
282
+ return s.contains(i) && s.contains(a);
289
283
  }).addClass("level-highlightedge");
290
284
  const d = n.elements().filter(".level-selected, .level-highlight, .level-highlightedge");
291
- n.elements().not(d).addClass("level-grayed"), z.success(`已高亮 "${e}" 及其 ${i} 度关联节点和连线`);
292
- }, $e = (e) => {
285
+ n.elements().not(d).addClass("level-grayed"), F.success(`已高亮 "${e}" 及其 ${r} 度关联节点和连线`);
286
+ }, Ke = (e) => {
293
287
  const t = c.current;
294
288
  if (!t) return;
295
- const n = new Set(oe);
296
- n.has(e) ? (n.delete(e), t.nodes().filter((l) => l.data("type") === e).show()) : (n.add(e), t.nodes().filter((l) => l.data("type") === e).hide()), De(n);
297
- }, Be = (e) => {
289
+ const n = new Set(ne);
290
+ n.has(e) ? (n.delete(e), t.nodes().filter((l) => l.data("type") === e).show()) : (n.add(e), t.nodes().filter((l) => l.data("type") === e).hide()), Ve(n);
291
+ }, Me = (e) => {
298
292
  const t = c.current;
299
293
  if (!t) return;
300
- const n = new Set(ne);
301
- n.has(e) ? (n.delete(e), t.edges().filter((l) => l.data("name") === e).show()) : (n.add(e), t.edges().filter((l) => l.data("name") === e).hide()), Ee(n);
302
- }, Ze = () => {
294
+ const n = new Set(le);
295
+ n.has(e) ? (n.delete(e), t.edges().filter((l) => l.data("name") === e).show()) : (n.add(e), t.edges().filter((l) => l.data("name") === e).hide()), Pe(n);
296
+ }, qe = () => {
303
297
  const e = c.current;
304
298
  e.remove(e.elements());
305
- }, Ke = () => {
306
- ee(!R);
307
- }, Me = (e) => {
308
- var i, s;
299
+ }, Qe = () => {
300
+ te(!ee);
301
+ }, Ue = (e) => {
302
+ var r, s;
309
303
  const t = c.current;
310
304
  if (!t) return;
311
305
  console.log("saveNodeConfig values:", e), console.log("showLabel value:", e.showLabel);
312
- const n = typeof e.fontColor == "object" && ((s = (i = e.fontColor) == null ? void 0 : i.toHexString) == null ? void 0 : s.call(i)) || e.fontColor, l = e.showLabel === "show";
306
+ const n = typeof e.fontColor == "object" && ((s = (r = e.fontColor) == null ? void 0 : r.toHexString) == null ? void 0 : s.call(r)) || e.fontColor, l = e.showLabel === "show";
313
307
  console.log("showLabelValue:", l), t.nodes().forEach((h) => {
314
308
  const m = l && (h.data("name") || h.data("label")) || "";
315
309
  console.log("Setting node label:", m), h.style({
316
310
  width: e.nodeSize,
317
311
  height: e.nodeSize,
318
312
  "font-size": e.fontSize,
319
- color: n || H.nodeLabelColor,
313
+ color: n || W.nodeLabelColor,
320
314
  "font-weight": e.fontWeight,
321
315
  "font-style": e.fontStyle,
322
316
  "text-valign": e.textPosition,
@@ -325,131 +319,146 @@ const K = (b, c) => (L) => {
325
319
  label: m,
326
320
  "text-opacity": m ? 1 : 0
327
321
  });
328
- }), z.success("节点配置保存成功");
329
- }, qe = (e) => {
330
- var h, m, d, C, g, r;
322
+ }), F.success("节点配置保存成功");
323
+ }, Ge = (e) => {
324
+ var h, m, d, x, g, i;
331
325
  const t = c.current;
332
326
  if (!t) return;
333
327
  console.log("saveEdgeConfig values:", e), console.log("edge showLabel value:", e.showLabel);
334
- const n = typeof e.edgeColor == "object" && ((m = (h = e.edgeColor) == null ? void 0 : h.toHexString) == null ? void 0 : m.call(h)) || e.edgeColor, l = typeof e.fontColor == "object" && ((C = (d = e.fontColor) == null ? void 0 : d.toHexString) == null ? void 0 : C.call(d)) || e.fontColor, i = typeof e.labelBgColor == "object" && ((r = (g = e.labelBgColor) == null ? void 0 : g.toHexString) == null ? void 0 : r.call(g)) || e.labelBgColor, s = e.showLabel === "show";
328
+ const n = typeof e.edgeColor == "object" && ((m = (h = e.edgeColor) == null ? void 0 : h.toHexString) == null ? void 0 : m.call(h)) || e.edgeColor, l = typeof e.fontColor == "object" && ((x = (d = e.fontColor) == null ? void 0 : d.toHexString) == null ? void 0 : x.call(d)) || e.fontColor, r = typeof e.labelBgColor == "object" && ((i = (g = e.labelBgColor) == null ? void 0 : g.toHexString) == null ? void 0 : i.call(g)) || e.labelBgColor, s = e.showLabel === "show";
335
329
  t.edges().forEach((a) => {
336
330
  const w = s && (a.data("label") || a.data("name")) || "";
337
331
  console.log("Setting edge label:", w), a.style({
338
332
  width: e.edgeWidth,
339
- "line-color": n || T.edgeDefaultColor,
340
- "target-arrow-color": n || T.edgeDefaultColor,
333
+ "line-color": n || H.edgeDefaultColor,
334
+ "target-arrow-color": n || H.edgeDefaultColor,
341
335
  "target-arrow-shape": e.showArrow === "show" ? "triangle" : "none",
342
336
  "font-size": e.fontSize,
343
- color: l || T.edgeLabelColor,
337
+ color: l || H.edgeLabelColor,
344
338
  "font-weight": e.fontWeight,
345
339
  "font-style": e.fontStyle,
346
340
  label: w,
347
341
  "text-opacity": w ? 1 : 0,
348
- "text-background-color": i || "transparent",
349
- "text-background-opacity": i ? 1 : 0,
342
+ "text-background-color": r || "transparent",
343
+ "text-background-opacity": r ? 1 : 0,
350
344
  "text-background-padding": "2px"
351
345
  });
352
- }), z.success("连线配置保存成功");
353
- }, Qe = Ct(_), W = _ === "left" || _ === "right";
354
- if (console.log(1e3, q, Q), !q) return null;
355
- const Ge = Array.isArray(S) && (S == null ? void 0 : S.length) > 0 ? S : yt;
356
- return /* @__PURE__ */ f(B, { children: [
357
- /* @__PURE__ */ o("div", { className: j("graph-bar", { "graph-bar-vertical": W }), style: Qe, children: /* @__PURE__ */ o("div", { className: j("graph-bar-min", {
358
- "graph-bar-min-vertical": W
359
- }), children: Q.map(({ key: e, title: t, icon: n, onClick: l }) => {
360
- var m, d, C, g;
361
- const i = () => n && n.length > 0 ? n.length > 1 ? /* @__PURE__ */ o(x, { gap: "5px", children: n.map((r, a) => e === "nodeZoom" ? Z.cloneElement(r, {
362
- onClick: () => _e(a === 0 ? "in" : "out"),
363
- key: a
364
- }) : e === "canvasZoom" ? Z.cloneElement(r, {
365
- onClick: () => Ie(a === 0 ? "in" : "out"),
366
- key: a
367
- }) : Z.cloneElement(r, { key: a })) }) : /* @__PURE__ */ o(x, { gap: "5px", children: n }) : null, s = (r) => {
368
- switch (console.log(444, e, r), e) {
369
- case "queryStatistics":
370
- ke(!te);
371
- break;
372
- case "graphDisplaySettings":
373
- Ke();
374
- break;
375
- case "hideAttributes":
376
- He();
377
- break;
378
- case "clearCanvas":
379
- Ze();
380
- break;
381
- default:
382
- r == null || r(c);
383
- }
384
- };
385
- if (["layout", "analysis", "select", "downloadData", "textPosition"].includes(e)) {
386
- let r = [];
387
- switch (e) {
388
- case "layout":
389
- r = (m = ct) == null ? void 0 : m.map((a) => ({
390
- ...a,
391
- label: /* @__PURE__ */ o("div", { className: j({ "text-[#145afd]": ue === a.key }), onClick: K(Pe, a.key), children: a.label })
392
- }));
393
- break;
394
- case "analysis":
395
- r = it.map((a) => ({
396
- ...a,
397
- label: /* @__PURE__ */ o("div", { onClick: (w) => {
398
- switch (w.stopPropagation(), a.key) {
399
- case "query":
400
- Ve();
401
- break;
402
- case "link":
403
- je();
404
- break;
405
- case "path":
406
- se();
407
- break;
408
- }
409
- }, children: a.label })
410
- }));
411
- break;
412
- case "select":
413
- r = (d = rt) == null ? void 0 : d.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: K(Fe, a.key), children: a.label }) }));
414
- break;
415
- case "downloadData":
416
- r = (C = at) == null ? void 0 : C.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: (w) => Te(w, a.key), children: a.label }) }));
417
- break;
418
- case "textPosition":
419
- r = (g = he) == null ? void 0 : g.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: K(() => st(c, a.key), a.key), children: a.label }) }));
420
- break;
346
+ }), F.success("连线配置保存成功");
347
+ }, Xe = Dt(J), y = J === "left" || J === "right";
348
+ if (console.log(1e3, Q, U), !Q) return null;
349
+ const Ye = Array.isArray(L) && (L == null ? void 0 : L.length) > 0 ? L : St, re = () => /* @__PURE__ */ u(it, { justify: "center", align: "middle", className: I("cursor", {
350
+ "oprate-btn-vertical": y,
351
+ "oprate-btn": !y
352
+ }), onClick: () => we(!A), children: [
353
+ "操作 ",
354
+ A ? y ? /* @__PURE__ */ o(Nt, {}) : /* @__PURE__ */ o(Lt, {}) : y ? /* @__PURE__ */ o(kt, {}) : /* @__PURE__ */ o(Et, {})
355
+ ] });
356
+ return /* @__PURE__ */ u(Z, { children: [
357
+ /* @__PURE__ */ o("div", { className: I("graph-bar", { "graph-bar-vertical": y }), style: Xe, children: /* @__PURE__ */ u("div", { className: I("graph-bar-min", {
358
+ "graph-bar-min-vertical": y
359
+ }), children: [
360
+ !y && re(),
361
+ /* @__PURE__ */ o("div", { className: I({
362
+ "graph-bar-expand-wrapper-vertical": y,
363
+ "graph-bar-expand-wrapper": !y,
364
+ "collapsed-vertical": !A && y,
365
+ collapsed: !A && !y
366
+ }), children: U.map(({ key: e, title: t, icon: n, onClick: l }) => {
367
+ var m, d, x, g;
368
+ const r = () => n && n.length > 0 ? n.length > 1 ? /* @__PURE__ */ o(N, { gap: "5px", children: n.map((i, a) => e === "nodeZoom" ? K.cloneElement(i, {
369
+ onClick: () => $e(a === 0 ? "in" : "out"),
370
+ key: a
371
+ }) : e === "canvasZoom" ? K.cloneElement(i, {
372
+ onClick: () => Oe(a === 0 ? "in" : "out"),
373
+ key: a
374
+ }) : K.cloneElement(i, { key: a })) }) : /* @__PURE__ */ o(N, { gap: "5px", children: n }) : null, s = (i) => {
375
+ switch (console.log(444, e, i), e) {
376
+ case "queryStatistics":
377
+ Ie(!oe);
378
+ break;
379
+ case "graphDisplaySettings":
380
+ Qe();
381
+ break;
382
+ case "hideAttributes":
383
+ Je();
384
+ break;
385
+ case "clearCanvas":
386
+ qe();
387
+ break;
388
+ default:
389
+ i == null || i(c);
390
+ }
391
+ };
392
+ if (["layout", "analysis", "select", "downloadData", "textPosition"].includes(e)) {
393
+ let i = [];
394
+ switch (e) {
395
+ case "layout":
396
+ i = (m = mt) == null ? void 0 : m.map((a) => ({
397
+ ...a,
398
+ label: /* @__PURE__ */ o("div", { className: I({ "text-[#145afd]": fe === a.key }), onClick: M(ze, a.key), children: a.label })
399
+ }));
400
+ break;
401
+ case "analysis":
402
+ i = gt.map((a) => ({
403
+ ...a,
404
+ label: /* @__PURE__ */ o("div", { onClick: (w) => {
405
+ switch (w.stopPropagation(), a.key) {
406
+ case "query":
407
+ Ae();
408
+ break;
409
+ case "link":
410
+ _e();
411
+ break;
412
+ case "path":
413
+ ae();
414
+ break;
415
+ }
416
+ }, children: a.label })
417
+ }));
418
+ break;
419
+ case "select":
420
+ i = (d = ht) == null ? void 0 : d.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: M(We, a.key), children: a.label }) }));
421
+ break;
422
+ case "downloadData":
423
+ i = (x = dt) == null ? void 0 : x.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: (w) => He(w, a.key), children: a.label }) }));
424
+ break;
425
+ case "textPosition":
426
+ i = (g = me) == null ? void 0 : g.map((a) => ({ ...a, label: /* @__PURE__ */ o("div", { onClick: M(() => ct(c, a.key), a.key), children: a.label }) }));
427
+ break;
428
+ }
429
+ return /* @__PURE__ */ o(lt, { trigger: ["hover"], placement: y ? "bottomRight" : "bottom", menu: { items: i }, children: /* @__PURE__ */ u(N, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor bar-item", children: [
430
+ r(),
431
+ /* @__PURE__ */ o(N, { className: "w-100", justify: "center", children: t })
432
+ ] }) }, e);
421
433
  }
422
- return /* @__PURE__ */ o(tt, { trigger: ["hover"], placement: W ? "bottomRight" : "bottom", menu: { items: r }, children: /* @__PURE__ */ f(x, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor", children: [
423
- i(),
424
- /* @__PURE__ */ o(x, { className: "w-100 ", justify: "center", children: t })
425
- ] }) }, e);
426
- }
427
- return /* @__PURE__ */ f(x, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor", onClick: () => s(l), children: [
428
- i(),
429
- /* @__PURE__ */ o(x, { className: "w-100 ", justify: "center", children: t })
430
- ] }, e);
431
- }) }) }),
432
- /* @__PURE__ */ o(pt, { isVisible: ye, searchChange: (e) => We(e), closeQuery: () => P(!1) }),
433
- /* @__PURE__ */ o(ft, { isVisible: Ce, analysis: (e) => dt(c, { pathNodes: e }), closePath: () => A(!1) }),
434
- /* @__PURE__ */ o(bt, { ref: O, onLevelClick: Je }),
434
+ return /* @__PURE__ */ u(N, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor bar-item", onClick: () => s(l), children: [
435
+ r(),
436
+ /* @__PURE__ */ o(N, { className: "w-100", justify: "center", children: t })
437
+ ] }, e);
438
+ }) }),
439
+ y && re()
440
+ ] }) }),
441
+ /* @__PURE__ */ o(yt, { isVisible: xe, searchChange: (e) => Be(e), closeQuery: () => z(!1) }),
442
+ /* @__PURE__ */ o(Ct, { isVisible: Se, analysis: (e) => ut(c, { pathNodes: e }), closePath: () => T(!1) }),
443
+ /* @__PURE__ */ o(vt, { ref: j, onLevelClick: Ze }),
435
444
  /* @__PURE__ */ o(
436
- ot,
445
+ st,
437
446
  {
438
447
  title: "JSON预览",
439
- open: xe,
440
- onCancel: () => Y(!1),
448
+ open: Le,
449
+ onCancel: () => R(!1),
441
450
  footer: null,
442
451
  width: 800,
443
- children: /* @__PURE__ */ o("pre", { style: { maxHeight: "60vh", overflow: "auto", background: "#f5f5f5", padding: "16px", borderRadius: "4px" }, children: X ? JSON.stringify(X, null, 2) : "暂无数据" })
452
+ children: /* @__PURE__ */ o("pre", { style: { maxHeight: "60vh", overflow: "auto", background: "#f5f5f5", padding: "16px", borderRadius: "4px" }, children: Y ? JSON.stringify(Y, null, 2) : "暂无数据" })
444
453
  }
445
454
  ),
446
455
  /* @__PURE__ */ o(
447
- nt,
456
+ at,
448
457
  {
449
458
  title: "图显示设置",
450
459
  placement: "right",
451
- open: R,
452
- onClose: () => ee(!1),
460
+ open: ee,
461
+ onClose: () => te(!1),
453
462
  mask: !1,
454
463
  size: 300,
455
464
  styles: {
@@ -459,70 +468,70 @@ const K = (b, c) => (L) => {
459
468
  },
460
469
  getContainer: !1,
461
470
  children: /* @__PURE__ */ o(
462
- re,
471
+ ce,
463
472
  {
464
- activeKey: Se,
465
- onChange: Ne,
473
+ activeKey: ke,
474
+ onChange: Ee,
466
475
  style: { flex: 1, overflow: "auto" },
467
476
  tabBarStyle: { padding: "0 16px", margin: 0, background: "#fff", position: "sticky", top: 0, zIndex: 10 },
468
477
  items: [
469
478
  {
470
479
  label: "节点设置",
471
480
  key: "node",
472
- children: /* @__PURE__ */ o(vt, { onSave: Me, colors: H })
481
+ children: /* @__PURE__ */ o(It, { onSave: Ue, colors: W })
473
482
  },
474
483
  {
475
484
  label: "连线设置",
476
485
  key: "edge",
477
- children: /* @__PURE__ */ o(xt, { onSave: qe, colors: H })
486
+ children: /* @__PURE__ */ o(Vt, { onSave: Ge, colors: W })
478
487
  }
479
488
  ]
480
489
  }
481
490
  )
482
491
  }
483
492
  ),
484
- /* @__PURE__ */ o("div", { className: j("gtaph-statics absolute", {
485
- hidden: !te
493
+ /* @__PURE__ */ o("div", { className: I("gtaph-statics absolute", {
494
+ hidden: !oe
486
495
  }), children: /* @__PURE__ */ o(
487
- re,
496
+ ce,
488
497
  {
489
- items: Ge.map(({ key: e, label: t }) => {
490
- var n, l, i;
498
+ items: Ye.map(({ key: e, label: t }) => {
499
+ var n, l, r;
491
500
  return e === "entity" ? {
492
501
  label: t,
493
502
  key: e,
494
- children: /* @__PURE__ */ o(B, { children: Object.keys(v).length > 0 ? /* @__PURE__ */ f("div", { children: [
495
- /* @__PURE__ */ f("p", { children: [
503
+ children: /* @__PURE__ */ o(Z, { children: Object.keys(S).length > 0 ? /* @__PURE__ */ u("div", { children: [
504
+ /* @__PURE__ */ u("p", { children: [
496
505
  "实体数量:",
497
- Object.values(v).reduce((s, h) => s + h.count, 0)
506
+ Object.values(S).reduce((s, h) => s + h.count, 0)
498
507
  ] }),
499
- /* @__PURE__ */ f("p", { className: "my-4px", children: [
508
+ /* @__PURE__ */ u("p", { className: "my-4px", children: [
500
509
  "实体类型:",
501
- Object.keys(v).length
510
+ Object.keys(S).length
502
511
  ] }),
503
- /* @__PURE__ */ o(x, { gap: "5px", justify: "start", className: "w-100", wrap: !0, children: Object.keys(v).map((s) => /* @__PURE__ */ f(x, { gap: "4px", justify: "start", className: `w-100 cursor ${oe.has(s) ? "opacity-30" : ""}`, onClick: () => $e(s), children: [
504
- /* @__PURE__ */ o("img", { className: "w-20px rounded-50", src: v[s].img, alt: "" }),
512
+ /* @__PURE__ */ o(N, { gap: "5px", justify: "start", className: "w-100", wrap: !0, children: Object.keys(S).map((s) => /* @__PURE__ */ u(N, { gap: "4px", justify: "start", className: `w-100 cursor ${ne.has(s) ? "opacity-30" : ""}`, onClick: () => Ke(s), children: [
513
+ /* @__PURE__ */ o("img", { className: "w-20px rounded-50", src: S[s].img, alt: "" }),
505
514
  s,
506
515
  ":",
507
- v[s].count
516
+ S[s].count
508
517
  ] }, s)) })
509
518
  ] }) : /* @__PURE__ */ o("span", { className: "text-[#666]", children: "暂无实体统计!" }) })
510
519
  } : e === "relation" ? {
511
520
  label: t,
512
521
  key: e,
513
- children: /* @__PURE__ */ o(B, { children: ((n = Object.keys(E)) == null ? void 0 : n.length) > 0 ? /* @__PURE__ */ f("div", { children: [
514
- /* @__PURE__ */ f("div", { children: [
522
+ children: /* @__PURE__ */ o(Z, { children: ((n = Object.keys(V)) == null ? void 0 : n.length) > 0 ? /* @__PURE__ */ u("div", { children: [
523
+ /* @__PURE__ */ u("div", { children: [
515
524
  "关系数量:",
516
- (l = Object.keys(E)) == null ? void 0 : l.length
525
+ (l = Object.keys(V)) == null ? void 0 : l.length
517
526
  ] }),
518
- /* @__PURE__ */ f("div", { className: "my-4px", children: [
527
+ /* @__PURE__ */ u("div", { className: "my-4px", children: [
519
528
  "关系类型:",
520
- (i = Object.values(E)) == null ? void 0 : i.reduce((s, h) => s + h, 0)
529
+ (r = Object.values(V)) == null ? void 0 : r.reduce((s, h) => s + h, 0)
521
530
  ] }),
522
- /* @__PURE__ */ o(x, { gap: "5px", justify: "start", className: "w-100", wrap: !0, children: Object.keys(E).map((s) => /* @__PURE__ */ f(x, { gap: "4px", className: `w-100 cursor ${ne.has(s) ? "opacity-30" : ""}`, onClick: () => Be(s), children: [
531
+ /* @__PURE__ */ o(N, { gap: "5px", justify: "start", className: "w-100", wrap: !0, children: Object.keys(V).map((s) => /* @__PURE__ */ u(N, { gap: "4px", className: `w-100 cursor ${le.has(s) ? "opacity-30" : ""}`, onClick: () => Me(s), children: [
523
532
  s,
524
533
  ":",
525
- E[s]
534
+ V[s]
526
535
  ] }, s)) })
527
536
  ] }) : /* @__PURE__ */ o("span", { className: "text-[#666]", children: "暂无关系统计!" }) })
528
537
  } : null;
@@ -530,61 +539,61 @@ const K = (b, c) => (L) => {
530
539
  }
531
540
  ) })
532
541
  ] });
533
- }), vt = ({ onSave: b, colors: c }) => {
534
- const [L] = p.useForm();
535
- return /* @__PURE__ */ f(p, { form: L, layout: "vertical", onFinish: b, className: "setting-form", children: [
536
- /* @__PURE__ */ f("div", { className: "setting-form-content", children: [
537
- /* @__PURE__ */ o(p.Item, { label: "节点大小", name: "nodeSize", initialValue: M, children: /* @__PURE__ */ o(V, { type: "number", placeholder: "请输入节点大小" }) }),
538
- /* @__PURE__ */ o(p.Item, { label: "显示标签", name: "showLabel", initialValue: "show", children: /* @__PURE__ */ f(u, { children: [
539
- /* @__PURE__ */ o(u.Option, { value: "show", children: "显示" }),
540
- /* @__PURE__ */ o(u.Option, { value: "hide", children: "隐藏" })
542
+ }), It = ({ onSave: b, colors: c }) => {
543
+ const [k] = f.useForm();
544
+ return /* @__PURE__ */ u(f, { form: k, layout: "vertical", onFinish: b, className: "setting-form", children: [
545
+ /* @__PURE__ */ u("div", { className: "setting-form-content", children: [
546
+ /* @__PURE__ */ o(f.Item, { label: "节点大小", name: "nodeSize", initialValue: q, children: /* @__PURE__ */ o(O, { type: "number", placeholder: "请输入节点大小" }) }),
547
+ /* @__PURE__ */ o(f.Item, { label: "显示标签", name: "showLabel", initialValue: "show", children: /* @__PURE__ */ u(p, { children: [
548
+ /* @__PURE__ */ o(p.Option, { value: "show", children: "显示" }),
549
+ /* @__PURE__ */ o(p.Option, { value: "hide", children: "隐藏" })
541
550
  ] }) }),
542
- /* @__PURE__ */ o(p.Item, { label: "字体位置", name: "textPosition", initialValue: "bottom", children: /* @__PURE__ */ o(u, { children: he.map((v) => /* @__PURE__ */ o(u.Option, { value: v.key, children: v.label }, v.key)) }) }),
543
- /* @__PURE__ */ o(p.Item, { label: "字体偏移", name: "textOffset", initialValue: 5, children: /* @__PURE__ */ o(V, { type: "number", placeholder: "请输入字体偏移量" }) }),
544
- /* @__PURE__ */ o(p.Item, { label: "字体颜色", name: "fontColor", initialValue: c.nodeLabelColor, children: /* @__PURE__ */ o(F, { showText: !0 }) }),
545
- /* @__PURE__ */ o(p.Item, { label: "字体大小", name: "fontSize", initialValue: c.nodeLabelFontSize, children: /* @__PURE__ */ o(V, { type: "number", placeholder: "请输入字体大小" }) }),
546
- /* @__PURE__ */ o(p.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ f(u, { children: [
547
- /* @__PURE__ */ o(u.Option, { value: "normal", children: "常规" }),
548
- /* @__PURE__ */ o(u.Option, { value: "bold", children: "粗体" }),
549
- /* @__PURE__ */ o(u.Option, { value: "lighter", children: "细体" })
551
+ /* @__PURE__ */ o(f.Item, { label: "字体位置", name: "textPosition", initialValue: "bottom", children: /* @__PURE__ */ o(p, { children: me.map((S) => /* @__PURE__ */ o(p.Option, { value: S.key, children: S.label }, S.key)) }) }),
552
+ /* @__PURE__ */ o(f.Item, { label: "字体偏移", name: "textOffset", initialValue: 5, children: /* @__PURE__ */ o(O, { type: "number", placeholder: "请输入字体偏移量" }) }),
553
+ /* @__PURE__ */ o(f.Item, { label: "字体颜色", name: "fontColor", initialValue: c.nodeLabelColor, children: /* @__PURE__ */ o(_, { showText: !0 }) }),
554
+ /* @__PURE__ */ o(f.Item, { label: "字体大小", name: "fontSize", initialValue: c.nodeLabelFontSize, children: /* @__PURE__ */ o(O, { type: "number", placeholder: "请输入字体大小" }) }),
555
+ /* @__PURE__ */ o(f.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ u(p, { children: [
556
+ /* @__PURE__ */ o(p.Option, { value: "normal", children: "常规" }),
557
+ /* @__PURE__ */ o(p.Option, { value: "bold", children: "粗体" }),
558
+ /* @__PURE__ */ o(p.Option, { value: "lighter", children: "细体" })
550
559
  ] }) }),
551
- /* @__PURE__ */ o(p.Item, { label: "字体样式", name: "fontStyle", initialValue: "normal", children: /* @__PURE__ */ f(u, { children: [
552
- /* @__PURE__ */ o(u.Option, { value: "normal", children: "默认" }),
553
- /* @__PURE__ */ o(u.Option, { value: "italic", children: "斜体" })
560
+ /* @__PURE__ */ o(f.Item, { label: "字体样式", name: "fontStyle", initialValue: "normal", children: /* @__PURE__ */ u(p, { children: [
561
+ /* @__PURE__ */ o(p.Option, { value: "normal", children: "默认" }),
562
+ /* @__PURE__ */ o(p.Option, { value: "italic", children: "斜体" })
554
563
  ] }) })
555
564
  ] }),
556
- /* @__PURE__ */ o("div", { className: "setting-form-footer", children: /* @__PURE__ */ o(p.Item, { children: /* @__PURE__ */ o(de, { type: "primary", htmlType: "submit", block: !0, children: "保存节点配置" }) }) })
565
+ /* @__PURE__ */ o("div", { className: "setting-form-footer", children: /* @__PURE__ */ o(f.Item, { children: /* @__PURE__ */ o(ge, { type: "primary", htmlType: "submit", block: !0, children: "保存节点配置" }) }) })
557
566
  ] });
558
- }, xt = ({ onSave: b, colors: c }) => {
559
- const [L] = p.useForm();
560
- return /* @__PURE__ */ f(p, { form: L, layout: "vertical", onFinish: b, className: "setting-form", children: [
561
- /* @__PURE__ */ f("div", { className: "setting-form-content", children: [
562
- /* @__PURE__ */ o(p.Item, { label: "连线宽度", name: "edgeWidth", initialValue: 2, children: /* @__PURE__ */ o(V, { type: "number", placeholder: "请输入连线宽度" }) }),
563
- /* @__PURE__ */ o(p.Item, { label: "连线箭头", name: "showArrow", initialValue: "show", children: /* @__PURE__ */ f(u, { children: [
564
- /* @__PURE__ */ o(u.Option, { value: "show", children: "显示" }),
565
- /* @__PURE__ */ o(u.Option, { value: "hide", children: "隐藏" })
567
+ }, Vt = ({ onSave: b, colors: c }) => {
568
+ const [k] = f.useForm();
569
+ return /* @__PURE__ */ u(f, { form: k, layout: "vertical", onFinish: b, className: "setting-form", children: [
570
+ /* @__PURE__ */ u("div", { className: "setting-form-content", children: [
571
+ /* @__PURE__ */ o(f.Item, { label: "连线宽度", name: "edgeWidth", initialValue: 2, children: /* @__PURE__ */ o(O, { type: "number", placeholder: "请输入连线宽度" }) }),
572
+ /* @__PURE__ */ o(f.Item, { label: "连线箭头", name: "showArrow", initialValue: "show", children: /* @__PURE__ */ u(p, { children: [
573
+ /* @__PURE__ */ o(p.Option, { value: "show", children: "显示" }),
574
+ /* @__PURE__ */ o(p.Option, { value: "hide", children: "隐藏" })
566
575
  ] }) }),
567
- /* @__PURE__ */ o(p.Item, { label: "连线颜色", name: "edgeColor", initialValue: c.edgeDefaultColor, children: /* @__PURE__ */ o(F, { showText: !0 }) }),
568
- /* @__PURE__ */ o(p.Item, { label: "显示标签", name: "showLabel", initialValue: "show", children: /* @__PURE__ */ f(u, { children: [
569
- /* @__PURE__ */ o(u.Option, { value: "show", children: "显示" }),
570
- /* @__PURE__ */ o(u.Option, { value: "hide", children: "隐藏" })
576
+ /* @__PURE__ */ o(f.Item, { label: "连线颜色", name: "edgeColor", initialValue: c.edgeDefaultColor, children: /* @__PURE__ */ o(_, { showText: !0 }) }),
577
+ /* @__PURE__ */ o(f.Item, { label: "显示标签", name: "showLabel", initialValue: "show", children: /* @__PURE__ */ u(p, { children: [
578
+ /* @__PURE__ */ o(p.Option, { value: "show", children: "显示" }),
579
+ /* @__PURE__ */ o(p.Option, { value: "hide", children: "隐藏" })
571
580
  ] }) }),
572
- /* @__PURE__ */ o(p.Item, { label: "字体大小", name: "fontSize", initialValue: c.edgeLabelFontSize, children: /* @__PURE__ */ o(V, { type: "number", placeholder: "请输入字体大小" }) }),
573
- /* @__PURE__ */ o(p.Item, { label: "字体颜色", name: "fontColor", initialValue: c.edgeLabelColor, children: /* @__PURE__ */ o(F, { showText: !0 }) }),
574
- /* @__PURE__ */ o(p.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ f(u, { children: [
575
- /* @__PURE__ */ o(u.Option, { value: "normal", children: "常规" }),
576
- /* @__PURE__ */ o(u.Option, { value: "bold", children: "粗体" })
581
+ /* @__PURE__ */ o(f.Item, { label: "字体大小", name: "fontSize", initialValue: c.edgeLabelFontSize, children: /* @__PURE__ */ o(O, { type: "number", placeholder: "请输入字体大小" }) }),
582
+ /* @__PURE__ */ o(f.Item, { label: "字体颜色", name: "fontColor", initialValue: c.edgeLabelColor, children: /* @__PURE__ */ o(_, { showText: !0 }) }),
583
+ /* @__PURE__ */ o(f.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ u(p, { children: [
584
+ /* @__PURE__ */ o(p.Option, { value: "normal", children: "常规" }),
585
+ /* @__PURE__ */ o(p.Option, { value: "bold", children: "粗体" })
577
586
  ] }) }),
578
- /* @__PURE__ */ o(p.Item, { label: "字体样式", name: "fontStyle", initialValue: "normal", children: /* @__PURE__ */ f(u, { children: [
579
- /* @__PURE__ */ o(u.Option, { value: "normal", children: "默认" }),
580
- /* @__PURE__ */ o(u.Option, { value: "italic", children: "斜体" })
587
+ /* @__PURE__ */ o(f.Item, { label: "字体样式", name: "fontStyle", initialValue: "normal", children: /* @__PURE__ */ u(p, { children: [
588
+ /* @__PURE__ */ o(p.Option, { value: "normal", children: "默认" }),
589
+ /* @__PURE__ */ o(p.Option, { value: "italic", children: "斜体" })
581
590
  ] }) }),
582
- /* @__PURE__ */ o(p.Item, { label: "标签背景色", name: "labelBgColor", initialValue: "#ffffff", children: /* @__PURE__ */ o(F, { showText: !0 }) })
591
+ /* @__PURE__ */ o(f.Item, { label: "标签背景色", name: "labelBgColor", initialValue: "#ffffff", children: /* @__PURE__ */ o(_, { showText: !0 }) })
583
592
  ] }),
584
- /* @__PURE__ */ o("div", { className: "setting-form-footer", children: /* @__PURE__ */ o(p.Item, { children: /* @__PURE__ */ o(de, { type: "primary", htmlType: "submit", block: !0, children: "保存连线配置" }) }) })
593
+ /* @__PURE__ */ o("div", { className: "setting-form-footer", children: /* @__PURE__ */ o(f.Item, { children: /* @__PURE__ */ o(ge, { type: "primary", htmlType: "submit", block: !0, children: "保存连线配置" }) }) })
585
594
  ] });
586
595
  };
587
596
  export {
588
- wt as actionList,
589
- _t as default
597
+ xt as actionList,
598
+ Qt as default
590
599
  };
@@ -18,6 +18,8 @@ interface ActionBarProps {
18
18
  left?: string | number;
19
19
  };
20
20
  actionList?: ActionBarItem[];
21
+ /** 是否默认展开工具栏,默认 false 收起 */
22
+ isExpand?: boolean;
21
23
  };
22
24
  }
23
25
  declare const _default: React.ForwardRefExoticComponent<ActionBarProps & React.RefAttributes<unknown>>;
@@ -57,7 +57,7 @@ export interface GraphColors {
57
57
  /** 路径节点颜色,默认 #145AFD */
58
58
  pathNodeColor?: string;
59
59
  }
60
- export type ActionBarPosition = 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | {
60
+ export type ActionBarPosition = 'top' | 'bottom' | 'left' | 'right' | {
61
61
  top?: string | number;
62
62
  right?: string | number;
63
63
  bottom?: string | number;
@@ -84,6 +84,8 @@ export interface ActionBarConfig {
84
84
  position?: ActionBarPosition;
85
85
  /** 按钮列表配置,传入则覆盖默认按钮 */
86
86
  actionList?: ActionBarItem[];
87
+ /** 默认展开或者收起 */
88
+ isExpand?: boolean;
87
89
  }
88
90
  export interface CytoscapeReactProps {
89
91
  /** 图谱数据 */
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .cytoscape-container{width:100%;height:100%;margin:20px auto}.search-input{padding:8px 12px;width:300px;margin-bottom:10px;border:1px solid #ddd;border-radius:4px}.btn-group{margin-bottom:10px}.btn{padding:8px 16px;margin:0 5px;border:none;border-radius:4px;background:#4285f4;color:#fff;cursor:pointer}.btn:hover{background:#3367d6}.result-text{margin-bottom:10px;color:#333;font-size:14px}.cy-container{width:100%;height:100%}.cy-container :global(.grayed){opacity:.3!important;background-color:#bdbdbd!important;color:#757575!important}.cy-container :global(.highlighted){background-color:#ffeb3b!important;border-color:#fbc02d!important;color:#333!important}.cy-container :global(.selected){border-color:#4caf50!important;background-color:#a5d6a7!important;color:#1b5e20!important}.cy-container .cy-edge:selected{line-color:#ea4335;line-width:3px;line-style:solid}.cy-container .cy-node:hover:not(:selected){background-color:#3367d6}.cy-container .cy-edge:hover:not(:selected){line-color:#757575}.path-nodes-container{margin-bottom:15px}.path-nodes-container h3{margin:10px 0;font-size:16px;color:#333}.node-input-row{display:flex;align-items:center;margin-bottom:8px}.node-input-row span{margin-right:10px;min-width:60px}.node-input-row input{flex:1;margin-right:10px}.remove-node-btn{background:#f44336;padding:6px 12px;font-size:12px}.add-node-btn{background:#4caf50;padding:8px 16px;margin-top:10px}.menuBtn:nth-child(1){transform:rotate(0) skew(31deg)}.menuBtn:nth-child(2){transform:rotate(51deg) skew(31deg)}.menuBtn:nth-child(3){transform:rotate(102deg) skew(31deg)}.menuBtn:nth-child(4){transform:rotate(153deg) skew(31deg)}.menuBtn:nth-child(5){transform:rotate(204deg) skew(31deg)}.menuBtn:nth-child(6){transform:rotate(255deg) skew(31deg)}.menuBtn:nth-child(7){transform:rotate(306deg) skew(35deg)}.menuBtn .menu-item{color:#fff;display:block;width:50px;height:20px;position:absolute;text-align:center;font-size:12px}.menuBtn .menu-item:hover{background:transparent!important}.menuBtn .menu-item{bottom:5px;right:19px;transform:skew(-30deg) translate(-9%) rotate(2deg) translateY(0)}.menuCertent{width:60px;height:60px;display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;margin-top:-15%;margin-left:-15%;z-index:999;border-radius:50%;color:#fff;text-align:center;font-size:16px;cursor:pointer;border:2px solid #c9cec9}.opacity-30{opacity:.3}.cursor{cursor:pointer}.my-4px{margin:4px 0}.z-10{z-index:10}.hidden{display:none}.w-20px{width:20px}.h-100{height:100%}.rounded-50{border-radius:10%}.relative{position:relative}.absolute{position:absolute}.w-100{width:100%}.graph-bar{position:absolute;display:flex;align-items:center;z-index:10}.graph-bar .graph-bar-min-vertical{padding:10px 0!important}.graph-bar .graph-bar-min{display:flex;background:#fff;padding:10px;box-shadow:0 4px 20px #100dae33;border-radius:6px;flex-wrap:nowrap;gap:10px;width:auto;white-space:nowrap}.graph-bar .graph-bar-menu{position:relative;cursor:pointer;margin:0 10px;white-space:nowrap;display:flex;align-items:center}.graph-bar .graph-bar-menu:hover .grap-menu-dropdown-item{color:#145afd}.graph-bar .grap-menu-dropdown{background:#fff;box-shadow:0 4px 20px #0000003b;border-radius:6px;position:absolute;padding:5px 0;z-index:99;top:60px}.graph-bar .grap-menu-dropdown p{white-space:nowrap;padding:5px 15px}.graph-bar .grap-menu-dropdown p:hover{background:#f5f5f5;color:#145afd}.graph-bar .grap-menu-dropdown-item{display:flex;cursor:pointer;flex-direction:column;align-items:center}.graph-bar .hide{display:none}.graph-bar .show{display:block}.graph-bar.graph-bar-vertical,.graph-bar.graph-bar-vertical .graph-bar-min{flex-direction:column}.graph-bar.graph-bar-vertical .grap-menu-dropdown{top:auto;left:60px;right:auto}.gtaph-statics{right:0;z-index:1;background:#fff;padding:10px;border-radius:10px;width:200px;box-shadow:0 4px 20px #0000003b}.hove-active{cursor:pointer;font-size:14px}.hove-active:hover{color:#145afd}.setting-form{display:flex;flex-direction:column;height:100%}.setting-form .setting-form-content{flex:1;overflow-y:auto;padding:16px}.setting-form .setting-form-footer{position:sticky;bottom:0;background:#fff;padding:16px;border-top:1px solid #f0f0f0;margin-top:auto}.setting-form .setting-form-footer .ant-form-item{margin-bottom:0}.query-node{width:300px;position:absolute;background-color:#fff;right:0;top:20px;padding:10px 20px;border-radius:10px}.path-node{width:380px;position:absolute;background-color:#fff;right:0;padding:10px 20px;border-radius:10px;box-shadow:0 4px 20px #0000003b;z-index:10}.path-node .title{display:flex;justify-content:space-between;height:35px;align-items:center;margin-bottom:10px;font-weight:700;font-size:14px}.path-node .search-input{margin-bottom:0;padding-bottom:5px}.path-node .btn-group{display:flex;justify-content:flex-end;margin-top:20px}.path-node .ant-select-suffix{width:10px}.query-node{width:300px;position:absolute;background-color:#fff;right:0;padding:10px 20px;border-radius:10px;box-shadow:0 4px 20px #0000003b}.query-node .title{display:flex;justify-content:space-between;height:35px;align-items:center;margin-bottom:10px;font-weight:700;font-size:14px}.radial-menu{position:relative;display:inline-flex;align-items:center;justify-content:center}.radial-svg{position:absolute;top:0;left:0}.sector-group{cursor:pointer;transition:all .2s ease}.sector-group .sector-path{transition:all .2s ease}.sector-group:hover .sector-path{filter:brightness(1.15) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.sector-label{pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.center-avatar{position:absolute;z-index:10;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:all .3s ease;overflow:hidden;color:#fff;font-weight:500}.center-avatar img{width:100%;height:100%;object-fit:cover}.center-avatar .center-text{font-size:14px;text-align:center}.center-avatar:hover{transform:scale(1.08);box-shadow:0 6px 20px #0006}.center-avatar:active{transform:scale(.95)}.drawer-wraper,.knowledge-card-drawer{padding-bottom:20px}.drawer-wraper .title,.knowledge-card-drawer .title{font-weight:700;font-size:14px;color:#3d3d3d;position:relative;padding-left:8px}.drawer-wraper .title:before,.knowledge-card-drawer .title:before{position:absolute;left:0;transform:translateY(-50%);top:50%;content:"";width:3px;height:17px;background:#145afd}.drawer-wraper .graph-item,.knowledge-card-drawer .graph-item{height:26px;border-bottom:1px solid #E5E5E5;background:#edf3fe}.drawer-wraper .graph-item:hover,.knowledge-card-drawer .graph-item:hover{background:#edf3fe}.drawer-wraper .noraml-type,.knowledge-card-drawer .noraml-type{font-size:14px;color:#145afd;line-height:26px;text-align:center;border-right:1px solid #E5E5E5}.drawer-wraper .noraml-text,.knowledge-card-drawer .noraml-text{font-size:14px;color:#333;line-height:26px}.drawer-wraper .selected-item,.knowledge-card-drawer .selected-item{background:#edf3fe;color:#1890ff}.drawer-wraper .selected-item .noraml-type,.knowledge-card-drawer .selected-item .noraml-type{background:#347bfc;color:#fff}.drawer-wraper .drawer-card-title,.knowledge-card-drawer .drawer-card-title{font-weight:600;font-size:14px;color:#333;position:relative;padding-bottom:10px;margin:15px 0 10px;cursor:pointer}.drawer-wraper .drawer-card-title:hover,.knowledge-card-drawer .drawer-card-title:hover{color:#145afd}.drawer-wraper .drawer-card-title:after,.knowledge-card-drawer .drawer-card-title:after{content:"";position:absolute;border-bottom:1px solid #DFDFDF;width:100%;left:0;bottom:0}.drawer-wraper .drawer-card-title:before,.knowledge-card-drawer .drawer-card-title:before{content:"";position:absolute;border-bottom:1px solid #145AFD;width:64px;left:0;bottom:0;z-index:1}.collapse-wrap{border-color:#dfdfdf;border-radius:0;height:calc(100vh - 480px);overflow-y:auto}.collapse-wrap .ant-collapse-header{padding:9px 10px!important;background:#fff}.collapse-wrap .ant-collapse-item{border-color:#dfdfdf}.collapse-wrap .ant-collapse-title{font-size:14px;font-weight:700;color:#3d3d3d}.collapse-wrap .ant-collapse-body{max-height:calc(100vh - 550px);overflow-y:auto;width:298px;padding:0 16px 16px!important}.collapse-wrap .ant-collapse-body .ant-card-body{padding:0!important}.collapse-wrap .ant-collapse-body .ant-card{border:none}.property-section-wraper .section-item{display:flex;margin-top:4px}.property-section-wraper .detail-label{color:#333;font-size:14px;white-space:nowrap;flex-shrink:0}.property-section-wraper .detail-value{color:#383838;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-wraper .video-item{height:185px;position:relative;background:#333;border-radius:6px}.video-wraper .video-item-video{width:100%;height:100%;border-radius:6px;object-fit:cover}.relation-section-wraper{display:flex;flex-wrap:wrap;gap:10px}.relation-section-wraper .group{width:100%}.relation-section-wraper .section-card{width:100%;height:100%;border:1px solid #DFDFDF}.relation-section-wraper .section-title{margin-bottom:7px}.relation-section-wraper .entity-name-list{font-size:16px;font-weight:700}.relation-section-wraper .view-details-btn{color:#145afd}.relation-section-wraper .detail-item-tag{background-color:#e6f2ff;font-size:14px;border:1px solid #bdf;border-top-left-radius:10px;border-bottom-right-radius:10px;padding:0 13px;color:#1082fe;margin-right:3px}.relation-section-wraper .detail-item-tag1{background-color:#fff5df;font-size:14px;border:1px solid #FFE0B8;border-top-left-radius:10px;border-bottom-right-radius:10px;padding:0 13px;color:#ff9418}.relation-section-wraper .detail-item-list{margin-bottom:3px}.relation-section-wraper .detail-label{color:#676a6c;font-size:14px;white-space:nowrap;flex-shrink:0}.relation-section-wraper .detail-value{color:#383838;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relation-section-wraper .mb-18px{margin-bottom:18px}.knowledge-card-click{height:100%;overflow:hidden}.knowledge-card-click .drawer-card-title2{font-weight:700;flex-wrap:nowrap;padding-bottom:10px;border-bottom:1px solid #e4e7ed;cursor:pointer;color:#333;margin:14px 0}.knowledge-card-click .drawer-card-title2:hover,.knowledge-card-click .drawer-card-title2.active{color:#145afd}.knowledge-card-click .card-item-click{flex-shrink:0;margin-right:10px;border-right:1px solid #e4e7ed;padding-right:10px;height:100%;background:#fff}.knowledge-card-click .knowledge-card-content{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.knowledge-card-click .knowledge-card-content::-webkit-scrollbar{display:none}
1
+ .cytoscape-container{width:100%;height:100%;margin:20px auto}.search-input{padding:8px 12px;width:300px;margin-bottom:10px;border:1px solid #ddd;border-radius:4px}.btn-group{margin-bottom:10px}.btn{padding:8px 16px;margin:0 5px;border:none;border-radius:4px;background:#4285f4;color:#fff;cursor:pointer}.btn:hover{background:#3367d6}.result-text{margin-bottom:10px;color:#333;font-size:14px}.cy-container{width:100%;height:100%}.cy-container :global(.grayed){opacity:.3!important;background-color:#bdbdbd!important;color:#757575!important}.cy-container :global(.highlighted){background-color:#ffeb3b!important;border-color:#fbc02d!important;color:#333!important}.cy-container :global(.selected){border-color:#4caf50!important;background-color:#a5d6a7!important;color:#1b5e20!important}.cy-container .cy-edge:selected{line-color:#ea4335;line-width:3px;line-style:solid}.cy-container .cy-node:hover:not(:selected){background-color:#3367d6}.cy-container .cy-edge:hover:not(:selected){line-color:#757575}.path-nodes-container{margin-bottom:15px}.path-nodes-container h3{margin:10px 0;font-size:16px;color:#333}.node-input-row{display:flex;align-items:center;margin-bottom:8px}.node-input-row span{margin-right:10px;min-width:60px}.node-input-row input{flex:1;margin-right:10px}.remove-node-btn{background:#f44336;padding:6px 12px;font-size:12px}.add-node-btn{background:#4caf50;padding:8px 16px;margin-top:10px}.menuBtn:nth-child(1){transform:rotate(0) skew(31deg)}.menuBtn:nth-child(2){transform:rotate(51deg) skew(31deg)}.menuBtn:nth-child(3){transform:rotate(102deg) skew(31deg)}.menuBtn:nth-child(4){transform:rotate(153deg) skew(31deg)}.menuBtn:nth-child(5){transform:rotate(204deg) skew(31deg)}.menuBtn:nth-child(6){transform:rotate(255deg) skew(31deg)}.menuBtn:nth-child(7){transform:rotate(306deg) skew(35deg)}.menuBtn .menu-item{color:#fff;display:block;width:50px;height:20px;position:absolute;text-align:center;font-size:12px}.menuBtn .menu-item:hover{background:transparent!important}.menuBtn .menu-item{bottom:5px;right:19px;transform:skew(-30deg) translate(-9%) rotate(2deg) translateY(0)}.menuCertent{width:60px;height:60px;display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;margin-top:-15%;margin-left:-15%;z-index:999;border-radius:50%;color:#fff;text-align:center;font-size:16px;cursor:pointer;border:2px solid #c9cec9}.opacity-30{opacity:.3}.cursor{cursor:pointer}.my-4px{margin:4px 0}.z-10{z-index:10}.hidden{display:none}.w-20px{width:20px}.h-100{height:100%}.rounded-50{border-radius:10%}.relative{position:relative}.absolute{position:absolute}.w-100{width:100%}.graph-bar{position:absolute;display:flex;align-items:center;z-index:10}.graph-bar .graph-bar-min-vertical{padding:0!important}.graph-bar .graph-bar-min{display:flex;background:#fff;padding:4px;box-shadow:0 4px 20px #100dae33;border-radius:6px;flex-wrap:nowrap;gap:10px;width:auto;white-space:nowrap}.graph-bar .graph-bar-menu{position:relative;cursor:pointer;margin:0 10px;white-space:nowrap;display:flex;align-items:center}.graph-bar .graph-bar-menu:hover .grap-menu-dropdown-item{color:#145afd}.graph-bar .grap-menu-dropdown{background:#fff;box-shadow:0 4px 20px #0000003b;border-radius:6px;position:absolute;padding:5px 0;z-index:99;top:60px}.graph-bar .grap-menu-dropdown p{white-space:nowrap;padding:5px 15px}.graph-bar .grap-menu-dropdown p:hover{background:#f5f5f5;color:#145afd}.graph-bar .grap-menu-dropdown-item{display:flex;cursor:pointer;flex-direction:column;align-items:center}.graph-bar .hide{display:none}.graph-bar .show{display:block}.graph-bar .graph-bar-expand-wrapper-vertical{overflow:hidden;max-height:1000px;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,margin .3s ease-in-out;opacity:1}.graph-bar .graph-bar-expand-wrapper{overflow:hidden;max-width:1000px;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,margin .3s ease-in-out;opacity:1}.graph-bar .graph-bar-expand-wrapper.collapsed{max-width:0;opacity:0;margin:0!important}.graph-bar .graph-bar-expand-wrapper-vertical.collapsed-vertical{max-height:0;opacity:0;margin:0!important}.graph-bar .graph-bar-min:not(.graph-bar-min-vertical) .graph-bar-expand-wrapper{display:flex;align-items:center;gap:10px;margin-left:10px;margin-right:10px}.graph-bar.graph-bar-vertical{flex-direction:column}.graph-bar.graph-bar-vertical .graph-bar-min{flex-direction:column;align-items:flex-start;position:relative;padding-bottom:0!important}.graph-bar.graph-bar-vertical .graph-bar-expand-wrapper{flex-direction:column;width:100%}.graph-bar.graph-bar-vertical .cursor{align-self:flex-end;flex-shrink:0;position:relative}.graph-bar.graph-bar-vertical .cursor:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.graph-bar.graph-bar-vertical .grap-menu-dropdown{top:auto;left:60px;right:auto}.graph-bar .bar-item{color:#999;font-size:12px;margin:8px 0}.graph-bar .oprate-btn{width:76px;color:#145afd;border-right:1px solid #f0f0f0}.graph-bar .oprate-btn-vertical{width:76px;padding:10px 0;color:#145afd;border-top:1px solid #f0f0f0}.gtaph-statics{right:0;z-index:1;background:#fff;padding:10px;border-radius:10px;width:200px;box-shadow:0 4px 20px #0000003b}.hove-active{cursor:pointer;font-size:14px}.hove-active:hover{color:#145afd}.setting-form{display:flex;flex-direction:column;height:100%}.setting-form .setting-form-content{flex:1;overflow-y:auto;padding:16px}.setting-form .setting-form-footer{position:sticky;bottom:0;background:#fff;padding:16px;border-top:1px solid #f0f0f0;margin-top:auto}.setting-form .setting-form-footer .ant-form-item{margin-bottom:0}.query-node{width:300px;position:absolute;background-color:#fff;right:0;top:20px;padding:10px 20px;border-radius:10px}.path-node{width:380px;position:absolute;background-color:#fff;right:0;padding:10px 20px;border-radius:10px;box-shadow:0 4px 20px #0000003b;z-index:10}.path-node .title{display:flex;justify-content:space-between;height:35px;align-items:center;margin-bottom:10px;font-weight:700;font-size:14px}.path-node .search-input{margin-bottom:0;padding-bottom:5px}.path-node .btn-group{display:flex;justify-content:flex-end;margin-top:20px}.path-node .ant-select-suffix{width:10px}.query-node{width:300px;position:absolute;background-color:#fff;right:0;padding:10px 20px;border-radius:10px;box-shadow:0 4px 20px #0000003b}.query-node .title{display:flex;justify-content:space-between;height:35px;align-items:center;margin-bottom:10px;font-weight:700;font-size:14px}.radial-menu{position:relative;display:inline-flex;align-items:center;justify-content:center}.radial-svg{position:absolute;top:0;left:0}.sector-group{cursor:pointer;transition:all .2s ease}.sector-group .sector-path{transition:all .2s ease}.sector-group:hover .sector-path{filter:brightness(1.15) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.sector-label{pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.center-avatar{position:absolute;z-index:10;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:all .3s ease;overflow:hidden;color:#fff;font-weight:500}.center-avatar img{width:100%;height:100%;object-fit:cover}.center-avatar .center-text{font-size:14px;text-align:center}.center-avatar:hover{transform:scale(1.08);box-shadow:0 6px 20px #0006}.center-avatar:active{transform:scale(.95)}.drawer-wraper,.knowledge-card-drawer{padding-bottom:20px}.drawer-wraper .title,.knowledge-card-drawer .title{font-weight:700;font-size:14px;color:#3d3d3d;position:relative;padding-left:8px}.drawer-wraper .title:before,.knowledge-card-drawer .title:before{position:absolute;left:0;transform:translateY(-50%);top:50%;content:"";width:3px;height:17px;background:#145afd}.drawer-wraper .graph-item,.knowledge-card-drawer .graph-item{height:26px;border-bottom:1px solid #E5E5E5;background:#edf3fe}.drawer-wraper .graph-item:hover,.knowledge-card-drawer .graph-item:hover{background:#edf3fe}.drawer-wraper .noraml-type,.knowledge-card-drawer .noraml-type{font-size:14px;color:#145afd;line-height:26px;text-align:center;border-right:1px solid #E5E5E5}.drawer-wraper .noraml-text,.knowledge-card-drawer .noraml-text{font-size:14px;color:#333;line-height:26px}.drawer-wraper .selected-item,.knowledge-card-drawer .selected-item{background:#edf3fe;color:#1890ff}.drawer-wraper .selected-item .noraml-type,.knowledge-card-drawer .selected-item .noraml-type{background:#347bfc;color:#fff}.drawer-wraper .drawer-card-title,.knowledge-card-drawer .drawer-card-title{font-weight:600;font-size:14px;color:#333;position:relative;padding-bottom:10px;margin:15px 0 10px;cursor:pointer}.drawer-wraper .drawer-card-title:hover,.knowledge-card-drawer .drawer-card-title:hover{color:#145afd}.drawer-wraper .drawer-card-title:after,.knowledge-card-drawer .drawer-card-title:after{content:"";position:absolute;border-bottom:1px solid #DFDFDF;width:100%;left:0;bottom:0}.drawer-wraper .drawer-card-title:before,.knowledge-card-drawer .drawer-card-title:before{content:"";position:absolute;border-bottom:1px solid #145AFD;width:64px;left:0;bottom:0;z-index:1}.collapse-wrap{border-color:#dfdfdf;border-radius:0;height:calc(100vh - 480px);overflow-y:auto}.collapse-wrap .ant-collapse-header{padding:9px 10px!important;background:#fff}.collapse-wrap .ant-collapse-item{border-color:#dfdfdf}.collapse-wrap .ant-collapse-title{font-size:14px;font-weight:700;color:#3d3d3d}.collapse-wrap .ant-collapse-body{max-height:calc(100vh - 550px);overflow-y:auto;width:298px;padding:0 16px 16px!important}.collapse-wrap .ant-collapse-body .ant-card-body{padding:0!important}.collapse-wrap .ant-collapse-body .ant-card{border:none}.property-section-wraper .section-item{display:flex;margin-top:4px}.property-section-wraper .detail-label{color:#333;font-size:14px;white-space:nowrap;flex-shrink:0}.property-section-wraper .detail-value{color:#383838;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-wraper .video-item{height:185px;position:relative;background:#333;border-radius:6px}.video-wraper .video-item-video{width:100%;height:100%;border-radius:6px;object-fit:cover}.relation-section-wraper{display:flex;flex-wrap:wrap;gap:10px}.relation-section-wraper .group{width:100%}.relation-section-wraper .section-card{width:100%;height:100%;border:1px solid #DFDFDF}.relation-section-wraper .section-title{margin-bottom:7px}.relation-section-wraper .entity-name-list{font-size:16px;font-weight:700}.relation-section-wraper .view-details-btn{color:#145afd}.relation-section-wraper .detail-item-tag{background-color:#e6f2ff;font-size:14px;border:1px solid #bdf;border-top-left-radius:10px;border-bottom-right-radius:10px;padding:0 13px;color:#1082fe;margin-right:3px}.relation-section-wraper .detail-item-tag1{background-color:#fff5df;font-size:14px;border:1px solid #FFE0B8;border-top-left-radius:10px;border-bottom-right-radius:10px;padding:0 13px;color:#ff9418}.relation-section-wraper .detail-item-list{margin-bottom:3px}.relation-section-wraper .detail-label{color:#676a6c;font-size:14px;white-space:nowrap;flex-shrink:0}.relation-section-wraper .detail-value{color:#383838;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relation-section-wraper .mb-18px{margin-bottom:18px}.knowledge-card-click{height:100%;overflow:hidden}.knowledge-card-click .drawer-card-title2{font-weight:700;flex-wrap:nowrap;padding-bottom:10px;border-bottom:1px solid #e4e7ed;cursor:pointer;color:#333;margin:14px 0}.knowledge-card-click .drawer-card-title2:hover,.knowledge-card-click .drawer-card-title2.active{color:#145afd}.knowledge-card-click .card-item-click{flex-shrink:0;margin-right:10px;border-right:1px solid #e4e7ed;padding-right:10px;height:100%;background:#fff}.knowledge-card-click .knowledge-card-content{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.knowledge-card-click .knowledge-card-content::-webkit-scrollbar{display:none}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-kggraph",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "description": "A knowledge graph visualization component based on Cytoscape",
5
5
  "type": "module",
6
6
  "main": "./lib/index.es.js",