react-kggraph 0.0.31 → 0.0.32

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
@@ -13,51 +13,51 @@ import Nt from "./index.es24.js";
13
13
  import I from "./index.es17.js";
14
14
  import { downloadFile as pe } from "./index.es12.js";
15
15
  import { actionList as Lt, entityRelationList as kt } from "./index.es4.js";
16
- import { DownOutlined as Dt, RightOutlined as Et, UpOutlined as It, LeftOutlined as Vt } from "@ant-design/icons";
16
+ import { DownOutlined as Et, RightOutlined as Dt, UpOutlined as It, LeftOutlined as Vt } from "@ant-design/icons";
17
17
  import Pt from "./index.es25.js";
18
- const M = (b, c) => (k) => {
19
- k.stopPropagation(), b == null || b(c || "");
20
- }, Ot = (b) => {
18
+ const M = (b, r) => (k) => {
19
+ k.stopPropagation(), b == null || b(r || "");
20
+ }, Ot = (b, r) => {
21
21
  if (typeof b == "string")
22
22
  switch (b) {
23
23
  case "top":
24
- return { top: 20, left: 20 };
24
+ return { top: 20, left: 20, ...r };
25
25
  case "bottom":
26
- return { bottom: 20, left: 20 };
26
+ return { bottom: 20, left: 20, ...r };
27
27
  case "left":
28
- return { bottom: "10%", left: 20 };
28
+ return { bottom: "10%", left: 20, ...r };
29
29
  case "right":
30
- return { bottom: "10%", right: 20 };
30
+ return { bottom: "10%", right: 20, ...r };
31
31
  default:
32
32
  return { bottom: 20, right: 20 };
33
33
  }
34
34
  return b;
35
35
  }, Rt = nt(({
36
36
  graphInfo: b,
37
- cyRef: c,
37
+ cyRef: r,
38
38
  initNodeScale: k,
39
39
  typeObj: N,
40
40
  relationObj: V,
41
41
  colors: fe
42
42
  }, be) => {
43
- const W = { ...H, ...fe }, { graphData: we, layoutType: ye, setLayoutType: Ce, queryStatisticsConfig: L, actionBar: x } = lt(yt), G = typeof x == "boolean" ? x : !0, J = (x == null ? void 0 : x.position) || "top-left", Q = (x == null ? void 0 : x.actionList) ?? Lt, [j, ve] = v((x == null ? void 0 : x.isExpand) ?? !1), [E, xe] = v(""), [Se, U] = v(!1), [X, Ne] = v(k), [Le, A] = v(!1), [ke, T] = v(!1), [Y, De] = v(null), [Ee, R] = v(!1), [ee, te] = v(!1), [Ie, Ve] = v("node"), z = de(null), oe = de(null), Pe = Array.isArray(L) ? L.length > 0 : L, [ne, Oe] = v(Pe), [le, je] = v(/* @__PURE__ */ new Set()), [se, Ae] = v(/* @__PURE__ */ new Set());
43
+ const W = { ...H, ...fe }, { graphData: we, layoutType: ye, setLayoutType: Ce, queryStatisticsConfig: L, actionBar: x } = lt(yt), G = typeof x == "boolean" ? x : !0, J = (x == null ? void 0 : x.position) || "left", Q = (x == null ? void 0 : x.actionList) ?? Lt, [j, ve] = v((x == null ? void 0 : x.isExpand) ?? !1), [D, xe] = v(""), [Se, U] = v(!1), [X, Ne] = v(k), [Le, A] = v(!1), [ke, T] = v(!1), [Y, Ee] = v(null), [De, R] = v(!1), [ee, te] = v(!1), [Ie, Ve] = v("node"), z = de(null), oe = de(null), Pe = Array.isArray(L) ? L.length > 0 : L, [ne, Oe] = v(Pe), [le, je] = v(/* @__PURE__ */ new Set()), [se, Ae] = v(/* @__PURE__ */ new Set());
44
44
  st(be, () => ({
45
45
  onPathAnalysis: () => {
46
46
  re();
47
47
  }
48
48
  })), at(() => {
49
49
  ae();
50
- }, [E]);
50
+ }, [D]);
51
51
  const ae = async (e) => {
52
- const o = c.current;
53
- if (!o || !E) {
52
+ const o = r.current;
53
+ if (!o || !D) {
54
54
  o == null || o.fit();
55
55
  return;
56
56
  }
57
57
  o == null || o.nodes().removeClass("highlight selected grayed highlighted path-node"), o.elements().removeClass("level-highlight level-selected grayed path-edge");
58
58
  const n = o.nodes().filter((l) => {
59
- const i = (l.data("name") || "").toLowerCase(), s = (l.data("role") || "").toLowerCase(), h = (l.data("dept") || "").toLowerCase(), m = String(l.data("id") || "").toLowerCase();
60
- return i.includes(E.toLowerCase()) || s.includes(E.toLowerCase()) || h.includes(E.toLowerCase()) || m.includes(E.toLowerCase());
59
+ const c = (l.data("name") || "").toLowerCase(), s = (l.data("role") || "").toLowerCase(), h = (l.data("dept") || "").toLowerCase(), m = String(l.data("id") || "").toLowerCase();
60
+ return c.includes(D.toLowerCase()) || s.includes(D.toLowerCase()) || h.includes(D.toLowerCase()) || m.includes(D.toLowerCase());
61
61
  });
62
62
  o.nodes().removeClass("highlight"), n.addClass("highlight"), n.length === 1 ? (console.log("matchedNodes:::", n), o.animate({
63
63
  center: {
@@ -66,7 +66,7 @@ const M = (b, c) => (k) => {
66
66
  duration: 500
67
67
  })) : alert("未找到对应节点");
68
68
  }, Te = (e) => {
69
- const o = c.current;
69
+ const o = r.current;
70
70
  if (!o) return;
71
71
  const n = o.zoom();
72
72
  console.log(999, n);
@@ -87,36 +87,36 @@ const M = (b, c) => (k) => {
87
87
  }, Fe = (e) => {
88
88
  var n;
89
89
  Ce(e);
90
- const o = c.current;
91
- o && (o.nodes().unlock(), Ct(c, e), e === "cose-bilkent" && ((n = b == null ? void 0 : b.searchNodes) == null ? void 0 : n.length) === 2 && vt(
90
+ const o = r.current;
91
+ o && (o.nodes().unlock(), Ct(r, e), e === "cose-bilkent" && ((n = b == null ? void 0 : b.searchNodes) == null ? void 0 : n.length) === 2 && vt(
92
92
  o,
93
93
  b.searchNodes[0],
94
94
  b.searchNodes[1]
95
95
  ));
96
96
  }, He = () => {
97
- const e = c.current;
97
+ const e = r.current;
98
98
  e && wt(e);
99
99
  }, _e = () => {
100
- const e = c.current;
100
+ const e = r.current;
101
101
  if (!e) return;
102
102
  const o = ge(e);
103
- De(o), R(!0);
103
+ Ee(o), R(!0);
104
104
  }, ie = (e, o) => {
105
105
  const n = e.current;
106
106
  if (!n) return;
107
107
  const l = 2;
108
108
  if (o === "downloadPng") {
109
- const i = n.png({ scale: l, bg: "transparent", full: !0, quality: 1 });
110
- pe(i, `graph_${Date.now()}.png`);
109
+ const c = n.png({ scale: l, bg: "transparent", full: !0, quality: 1 });
110
+ pe(c, `graph_${Date.now()}.png`);
111
111
  } else if (o === "downloadJpg") {
112
- const i = n.jpg({ scale: l, bg: "#ffffff", full: !0, quality: 1 });
113
- pe(i, `graph_${Date.now()}.jpg`);
112
+ const c = n.jpg({ scale: l, bg: "#ffffff", full: !0, quality: 1 });
113
+ pe(c, `graph_${Date.now()}.jpg`);
114
114
  }
115
115
  }, We = () => {
116
- const e = c.current;
116
+ const e = r.current;
117
117
  if (!e) return;
118
- const o = ge(e), { nodes: n = [], edges: l = [] } = o, i = n.map((m) => {
119
- var p, r;
118
+ const o = ge(e), { nodes: n = [], edges: l = [] } = o, c = n.map((m) => {
119
+ var p, i;
120
120
  const d = m.data || {}, S = d.properties || {};
121
121
  return {
122
122
  节点名称: d.name || d.label || "",
@@ -124,7 +124,7 @@ const M = (b, c) => (k) => {
124
124
  节点类型: d.types || "",
125
125
  URI: d.label || "",
126
126
  X坐标: ((p = m.position) == null ? void 0 : p.x) || "",
127
- Y坐标: ((r = m.position) == null ? void 0 : r.y) || "",
127
+ Y坐标: ((i = m.position) == null ? void 0 : i.y) || "",
128
128
  层级: d.level || "",
129
129
  宽度: d.baseWidth || "",
130
130
  高度: d.baseHeight || "",
@@ -133,8 +133,8 @@ const M = (b, c) => (k) => {
133
133
  属性值: S.value || ""
134
134
  };
135
135
  }), s = l.map((m) => {
136
- var r, a, w, D;
137
- const d = m.data || {}, S = ((a = (r = d.source) == null ? void 0 : r.split("/#")[0]) == null ? void 0 : a.split("/").pop()) || d.source, p = ((D = (w = d.target) == null ? void 0 : w.split("/#")[0]) == null ? void 0 : D.split("/").pop()) || d.target;
136
+ var i, a, w, E;
137
+ const d = m.data || {}, S = ((a = (i = d.source) == null ? void 0 : i.split("/#")[0]) == null ? void 0 : a.split("/").pop()) || d.source, p = ((E = (w = d.target) == null ? void 0 : w.split("/#")[0]) == null ? void 0 : E.split("/").pop()) || d.target;
138
138
  return {
139
139
  源节点: S,
140
140
  目标节点: p,
@@ -144,8 +144,8 @@ const M = (b, c) => (k) => {
144
144
  关系ID: d.id || ""
145
145
  };
146
146
  }), h = P.book_new();
147
- if (i.length > 0) {
148
- const m = P.json_to_sheet(i);
147
+ if (c.length > 0) {
148
+ const m = P.json_to_sheet(c);
149
149
  m["!cols"] = [
150
150
  { wch: 30 },
151
151
  // 节点名称
@@ -205,16 +205,16 @@ const M = (b, c) => (k) => {
205
205
  case "previewDataList":
206
206
  break;
207
207
  case "downloadJpg":
208
- ie(c, o);
208
+ ie(r, o);
209
209
  break;
210
210
  case "downloadPng":
211
- ie(c, o);
211
+ ie(r, o);
212
212
  break;
213
213
  }
214
214
  }, $e = () => {
215
215
  A(!1), T(!1), z.current.open();
216
216
  }, Be = (e) => {
217
- const o = c.current;
217
+ const o = r.current;
218
218
  if (o)
219
219
  if (o.panningEnabled(!0), e === "all")
220
220
  o.nodes().addClass("selected"), o.nodes().select(), o.elements().select();
@@ -235,7 +235,7 @@ const M = (b, c) => (k) => {
235
235
  console.log("框选结束"), o.zoomingEnabled(!0), o.panningEnabled(!0);
236
236
  }));
237
237
  }, Ze = () => {
238
- const e = c.current;
238
+ const e = r.current;
239
239
  if (console.log("isShow::::"), Se)
240
240
  U(!1), e.nodes('[types="typed-literal" ]').style("visibility", "visible"), e.edges().style("visibility", "visible");
241
241
  else {
@@ -244,16 +244,16 @@ const M = (b, c) => (k) => {
244
244
  o.style("visibility", "hidden"), o.connectedEdges().style("visibility", "hidden");
245
245
  }
246
246
  }, Ke = (e) => {
247
- const o = c.current;
247
+ const o = r.current;
248
248
  if (!o) return;
249
249
  const n = e === "out" ? Math.max(X * 0.8, 0.1) : Math.min(X * 1.2, 5);
250
250
  Ne(n);
251
251
  const l = o.nodes();
252
- l.style("width", (i) => (i.data("baseWidth") || q) * n), l.style("height", (i) => (i.data("baseHeight") || q) * n);
252
+ l.style("width", (c) => (c.data("baseWidth") || q) * n), l.style("height", (c) => (c.data("baseHeight") || q) * n);
253
253
  }, Me = (e) => {
254
254
  xe(e.content), ae(e.content);
255
255
  }, qe = (e = "刘强东", o = "1") => {
256
- const n = c.current;
256
+ const n = r.current;
257
257
  if (!n) return;
258
258
  n.elements().removeClass("level-highlight level-selected grayed path-edge");
259
259
  const l = n.nodes().filter((p) => (p.data("name") || p.data("id") || "").toString().includes(e));
@@ -261,51 +261,51 @@ const M = (b, c) => (k) => {
261
261
  F.warning(`未找到节点: ${e}`);
262
262
  return;
263
263
  }
264
- const i = parseInt(o) || 1, s = n.collection(), h = [];
264
+ const c = parseInt(o) || 1, s = n.collection(), h = [];
265
265
  l.forEach((p) => {
266
266
  p.addClass("level-selected"), s.merge(p);
267
- let r = n.collection();
267
+ let i = n.collection();
268
268
  const a = /* @__PURE__ */ new Set();
269
- a.add(p.id()), i >= 1 && (r = p.neighborhood().nodes(), r.forEach((w) => {
269
+ a.add(p.id()), c >= 1 && (i = p.neighborhood().nodes(), i.forEach((w) => {
270
270
  a.add(w.id()), s.merge(w);
271
- }), h.push(r));
272
- for (let w = 2; w <= i; w++) {
273
- const D = n.collection();
274
- r.forEach(($) => {
271
+ }), h.push(i));
272
+ for (let w = 2; w <= c; w++) {
273
+ const E = n.collection();
274
+ i.forEach(($) => {
275
275
  $.neighborhood().nodes().forEach((B) => {
276
- a.has(B.id()) || (a.add(B.id()), D.merge(B));
276
+ a.has(B.id()) || (a.add(B.id()), E.merge(B));
277
277
  });
278
- }), D.forEach(($) => s.merge($)), h.push(D), r = D;
278
+ }), E.forEach(($) => s.merge($)), h.push(E), i = E;
279
279
  }
280
280
  }), h.forEach((p) => {
281
281
  p.addClass("level-highlight");
282
282
  }), n.edges().filter((p) => {
283
- const r = p.source(), a = p.target();
284
- return s.contains(r) && s.contains(a);
283
+ const i = p.source(), a = p.target();
284
+ return s.contains(i) && s.contains(a);
285
285
  }).addClass("path-edge");
286
286
  const d = n.elements().filter(".level-selected, .level-highlight, .path-edge");
287
- n.elements().not(d).addClass("grayed"), F.success(`已高亮 "${e}" 及其 ${i} 度关联节点和连线`);
287
+ n.elements().not(d).addClass("grayed"), F.success(`已高亮 "${e}" 及其 ${c} 度关联节点和连线`);
288
288
  }, Ge = (e) => {
289
- const o = c.current;
289
+ const o = r.current;
290
290
  if (!o) return;
291
291
  const n = new Set(le);
292
292
  n.has(e) ? (n.delete(e), o.nodes().filter((l) => l.data("type") === e).show()) : (n.add(e), o.nodes().filter((l) => l.data("type") === e).hide()), je(n);
293
293
  }, Qe = (e) => {
294
- const o = c.current;
294
+ const o = r.current;
295
295
  if (!o) return;
296
296
  const n = new Set(se);
297
297
  n.has(e) ? (n.delete(e), o.edges().filter((l) => l.data("name") === e).show()) : (n.add(e), o.edges().filter((l) => l.data("name") === e).hide()), Ae(n);
298
298
  }, Ue = () => {
299
- const e = c.current;
299
+ const e = r.current;
300
300
  e.remove(e.elements());
301
301
  }, Xe = () => {
302
302
  te(!ee);
303
303
  }, Ye = (e) => {
304
- var i, s;
305
- const o = c.current;
304
+ var c, s;
305
+ const o = r.current;
306
306
  if (!o) return;
307
307
  console.log("saveNodeConfig values:", e), console.log("showLabel value:", e.showLabel);
308
- 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";
308
+ const n = typeof e.fontColor == "object" && ((s = (c = e.fontColor) == null ? void 0 : c.toHexString) == null ? void 0 : s.call(c)) || e.fontColor, l = e.showLabel === "show";
309
309
  console.log("showLabelValue:", l), o.nodes().forEach((h) => {
310
310
  const m = l && (h.data("name") || h.data("label")) || "";
311
311
  console.log("Setting node label:", m), h.style({
@@ -325,11 +325,11 @@ const M = (b, c) => (k) => {
325
325
  }, Re = () => {
326
326
  oe.current.open(we);
327
327
  }, et = (e) => {
328
- var h, m, d, S, p, r;
329
- const o = c.current;
328
+ var h, m, d, S, p, i;
329
+ const o = r.current;
330
330
  if (!o) return;
331
331
  console.log("saveEdgeConfig values:", e), console.log("edge showLabel value:", e.showLabel);
332
- 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" && ((S = (d = e.fontColor) == null ? void 0 : d.toHexString) == null ? void 0 : S.call(d)) || e.fontColor, i = typeof e.labelBgColor == "object" && ((r = (p = e.labelBgColor) == null ? void 0 : p.toHexString) == null ? void 0 : r.call(p)) || e.labelBgColor, s = e.showLabel === "show";
332
+ 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" && ((S = (d = e.fontColor) == null ? void 0 : d.toHexString) == null ? void 0 : S.call(d)) || e.fontColor, c = typeof e.labelBgColor == "object" && ((i = (p = e.labelBgColor) == null ? void 0 : p.toHexString) == null ? void 0 : i.call(p)) || e.labelBgColor, s = e.showLabel === "show";
333
333
  o.edges().forEach((a) => {
334
334
  const w = s && (a.data("label") || a.data("name")) || "";
335
335
  console.log("Setting edge label:", w), a.style({
@@ -343,19 +343,19 @@ const M = (b, c) => (k) => {
343
343
  "font-style": e.fontStyle,
344
344
  label: w,
345
345
  "text-opacity": w ? 1 : 0,
346
- "text-background-color": i || "transparent",
347
- "text-background-opacity": i ? 1 : 0,
346
+ "text-background-color": c || "transparent",
347
+ "text-background-opacity": c ? 1 : 0,
348
348
  "text-background-padding": "2px"
349
349
  });
350
350
  }), F.success("连线配置保存成功");
351
- }, tt = Ot(J), C = J === "left" || J === "right";
351
+ }, tt = Ot(J, x.positionDetail), C = J === "left" || J === "right";
352
352
  if (console.log(1e3, G, Q), !G) return null;
353
353
  const ot = Array.isArray(L) && (L == null ? void 0 : L.length) > 0 ? L : kt, ce = () => /* @__PURE__ */ g(dt, { justify: "center", align: "middle", className: I("cursor", {
354
354
  "oprate-btn-vertical": C,
355
355
  "oprate-btn": !C
356
356
  }), onClick: () => ve(!j), children: [
357
357
  "操作 ",
358
- j ? C ? /* @__PURE__ */ t(Dt, {}) : /* @__PURE__ */ t(Et, {}) : C ? /* @__PURE__ */ t(It, {}) : /* @__PURE__ */ t(Vt, {})
358
+ j ? C ? /* @__PURE__ */ t(Et, {}) : /* @__PURE__ */ t(Dt, {}) : C ? /* @__PURE__ */ t(It, {}) : /* @__PURE__ */ t(Vt, {})
359
359
  ] });
360
360
  return /* @__PURE__ */ g(Z, { children: [
361
361
  /* @__PURE__ */ t("div", { className: I("graph-bar", { "graph-bar-vertical": C }), style: tt, children: /* @__PURE__ */ g("div", { className: I("graph-bar-min", {
@@ -369,14 +369,14 @@ const M = (b, c) => (k) => {
369
369
  collapsed: !j && !C
370
370
  }), children: Q.map(({ key: e, title: o, icon: n, onClick: l }) => {
371
371
  var m, d, S, p;
372
- const i = () => n && n.length > 0 ? n.length > 1 ? /* @__PURE__ */ t(y, { gap: "5px", children: n.map((r, a) => e === "nodeZoom" ? K.cloneElement(r, {
372
+ const c = () => n && n.length > 0 ? n.length > 1 ? /* @__PURE__ */ t(y, { gap: "5px", children: n.map((i, a) => e === "nodeZoom" ? K.cloneElement(i, {
373
373
  onClick: () => Ke(a === 0 ? "in" : "out"),
374
374
  key: a
375
- }) : e === "canvasZoom" ? K.cloneElement(r, {
375
+ }) : e === "canvasZoom" ? K.cloneElement(i, {
376
376
  onClick: () => Te(a === 0 ? "in" : "out"),
377
377
  key: a
378
- }) : K.cloneElement(r, { key: a })) }) : /* @__PURE__ */ t(y, { gap: "5px", children: n }) : null, s = (r) => {
379
- switch (console.log(444, e, r), e) {
378
+ }) : K.cloneElement(i, { key: a })) }) : /* @__PURE__ */ t(y, { gap: "5px", children: n }) : null, s = (i) => {
379
+ switch (console.log(444, e, i), e) {
380
380
  case "queryStatistics":
381
381
  Oe(!ne);
382
382
  break;
@@ -393,20 +393,20 @@ const M = (b, c) => (k) => {
393
393
  Re();
394
394
  break;
395
395
  default:
396
- r == null || r(c);
396
+ i == null || i(r);
397
397
  }
398
398
  };
399
399
  if (["layout", "analysis", "select", "downloadData", "textPosition"].includes(e)) {
400
- let r = [];
400
+ let i = [];
401
401
  switch (e) {
402
402
  case "layout":
403
- r = (m = ft) == null ? void 0 : m.map((a) => ({
403
+ i = (m = ft) == null ? void 0 : m.map((a) => ({
404
404
  ...a,
405
405
  label: /* @__PURE__ */ t("div", { className: I({ "text-[#145afd]": ye === a.key }), onClick: M(Fe, a.key), children: a.label })
406
406
  }));
407
407
  break;
408
408
  case "analysis":
409
- r = ut.map((a) => ({
409
+ i = ut.map((a) => ({
410
410
  ...a,
411
411
  label: /* @__PURE__ */ t("div", { onClick: (w) => {
412
412
  switch (w.stopPropagation(), a.key) {
@@ -424,35 +424,35 @@ const M = (b, c) => (k) => {
424
424
  }));
425
425
  break;
426
426
  case "select":
427
- r = (d = mt) == null ? void 0 : d.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: M(Be, a.key), children: a.label }) }));
427
+ i = (d = mt) == null ? void 0 : d.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: M(Be, a.key), children: a.label }) }));
428
428
  break;
429
429
  case "downloadData":
430
- r = (S = pt) == null ? void 0 : S.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: (w) => Je(w, a.key), children: a.label }) }));
430
+ i = (S = pt) == null ? void 0 : S.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: (w) => Je(w, a.key), children: a.label }) }));
431
431
  break;
432
432
  case "textPosition":
433
- r = (p = ue) == null ? void 0 : p.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: M(() => gt(c, a.key), a.key), children: a.label }) }));
433
+ i = (p = ue) == null ? void 0 : p.map((a) => ({ ...a, label: /* @__PURE__ */ t("div", { onClick: M(() => gt(r, a.key), a.key), children: a.label }) }));
434
434
  break;
435
435
  }
436
- return /* @__PURE__ */ t(rt, { trigger: ["hover"], placement: C ? "bottomRight" : "bottom", menu: { items: r }, children: /* @__PURE__ */ g(y, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor bar-item", children: [
437
- i(),
436
+ return /* @__PURE__ */ t(rt, { trigger: ["hover"], placement: C ? "bottomRight" : "bottom", menu: { items: i }, children: /* @__PURE__ */ g(y, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor bar-item", children: [
437
+ c(),
438
438
  /* @__PURE__ */ t(y, { className: "w-100", justify: "center", children: o })
439
439
  ] }) }, e);
440
440
  }
441
441
  return /* @__PURE__ */ g(y, { wrap: !0, align: "center", justify: "center", className: "hove-active cursor bar-item", onClick: () => s(l), children: [
442
- i(),
442
+ c(),
443
443
  /* @__PURE__ */ t(y, { className: "w-100", justify: "center", children: o })
444
444
  ] }, e);
445
445
  }) }),
446
446
  C && ce()
447
447
  ] }) }),
448
448
  /* @__PURE__ */ t(xt, { isVisible: Le, searchChange: (e) => Me(e), closeQuery: () => A(!1) }),
449
- /* @__PURE__ */ t(St, { isVisible: ke, analysis: (e) => bt(c, { nodes: e.map((o) => ({ id: o })) }), closePath: () => T(!1) }),
449
+ /* @__PURE__ */ t(St, { isVisible: ke, analysis: (e) => bt(r, { nodes: e.map((o) => ({ id: o })) }), closePath: () => T(!1) }),
450
450
  /* @__PURE__ */ t(Nt, { ref: z, onLevelClick: qe }),
451
451
  /* @__PURE__ */ t(
452
452
  it,
453
453
  {
454
454
  title: "JSON预览",
455
- open: Ee,
455
+ open: De,
456
456
  onCancel: () => R(!1),
457
457
  footer: null,
458
458
  width: 800,
@@ -504,7 +504,7 @@ const M = (b, c) => (k) => {
504
504
  he,
505
505
  {
506
506
  items: ot.map(({ key: e, label: o }) => {
507
- var n, l, i;
507
+ var n, l, c;
508
508
  return e === "entity" ? {
509
509
  label: o,
510
510
  key: e,
@@ -536,7 +536,7 @@ const M = (b, c) => (k) => {
536
536
  ] }),
537
537
  /* @__PURE__ */ g(y, { className: "my-4px font-12", justify: "space-between", children: [
538
538
  /* @__PURE__ */ t("span", { children: "关系类型:" }),
539
- /* @__PURE__ */ t("span", { children: (i = Object.values(V)) == null ? void 0 : i.reduce((s, h) => s + h, 0) })
539
+ /* @__PURE__ */ t("span", { children: (c = Object.values(V)) == null ? void 0 : c.reduce((s, h) => s + h, 0) })
540
540
  ] }),
541
541
  /* @__PURE__ */ t(y, { gap: "5px", justify: "start", className: "w-100 static-wraper", wrap: !0, children: Object.keys(V).map((s) => /* @__PURE__ */ g(y, { gap: "4px", justify: "space-between", className: `w-100 cursor ${se.has(s) ? "opacity-30" : ""}`, onClick: () => Qe(s), children: [
542
542
  /* @__PURE__ */ g("span", { children: [
@@ -551,7 +551,7 @@ const M = (b, c) => (k) => {
551
551
  }
552
552
  ) })
553
553
  ] });
554
- }), jt = ({ onSave: b, colors: c }) => {
554
+ }), jt = ({ onSave: b, colors: r }) => {
555
555
  const [k] = f.useForm();
556
556
  return /* @__PURE__ */ g(f, { form: k, layout: "vertical", onFinish: b, className: "setting-form", children: [
557
557
  /* @__PURE__ */ g("div", { className: "setting-form-content", children: [
@@ -562,8 +562,8 @@ const M = (b, c) => (k) => {
562
562
  ] }) }),
563
563
  /* @__PURE__ */ t(f.Item, { label: "字体位置", name: "textPosition", initialValue: "bottom", children: /* @__PURE__ */ t(u, { children: ue.map((N) => /* @__PURE__ */ t(u.Option, { value: N.key, children: N.label }, N.key)) }) }),
564
564
  /* @__PURE__ */ t(f.Item, { label: "字体偏移", name: "textOffset", initialValue: 5, children: /* @__PURE__ */ t(O, { type: "number", placeholder: "请输入字体偏移量" }) }),
565
- /* @__PURE__ */ t(f.Item, { label: "字体颜色", name: "fontColor", initialValue: c.nodeLabelColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
566
- /* @__PURE__ */ t(f.Item, { label: "字体大小", name: "fontSize", initialValue: c.nodeLabelFontSize, children: /* @__PURE__ */ t(O, { type: "number", placeholder: "请输入字体大小" }) }),
565
+ /* @__PURE__ */ t(f.Item, { label: "字体颜色", name: "fontColor", initialValue: r.nodeLabelColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
566
+ /* @__PURE__ */ t(f.Item, { label: "字体大小", name: "fontSize", initialValue: r.nodeLabelFontSize, children: /* @__PURE__ */ t(O, { type: "number", placeholder: "请输入字体大小" }) }),
567
567
  /* @__PURE__ */ t(f.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ g(u, { children: [
568
568
  /* @__PURE__ */ t(u.Option, { value: "normal", children: "常规" }),
569
569
  /* @__PURE__ */ t(u.Option, { value: "bold", children: "粗体" }),
@@ -576,7 +576,7 @@ const M = (b, c) => (k) => {
576
576
  ] }),
577
577
  /* @__PURE__ */ t("div", { className: "setting-form-footer", children: /* @__PURE__ */ t(f.Item, { children: /* @__PURE__ */ t(me, { type: "primary", htmlType: "submit", block: !0, children: "保存节点配置" }) }) })
578
578
  ] });
579
- }, At = ({ onSave: b, colors: c }) => {
579
+ }, At = ({ onSave: b, colors: r }) => {
580
580
  const [k] = f.useForm();
581
581
  return /* @__PURE__ */ g(f, { form: k, layout: "vertical", onFinish: b, className: "setting-form", children: [
582
582
  /* @__PURE__ */ g("div", { className: "setting-form-content", children: [
@@ -585,13 +585,13 @@ const M = (b, c) => (k) => {
585
585
  /* @__PURE__ */ t(u.Option, { value: "show", children: "显示" }),
586
586
  /* @__PURE__ */ t(u.Option, { value: "hide", children: "隐藏" })
587
587
  ] }) }),
588
- /* @__PURE__ */ t(f.Item, { label: "连线颜色", name: "edgeColor", initialValue: c.edgeDefaultColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
588
+ /* @__PURE__ */ t(f.Item, { label: "连线颜色", name: "edgeColor", initialValue: r.edgeDefaultColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
589
589
  /* @__PURE__ */ t(f.Item, { label: "显示标签", name: "showLabel", initialValue: "show", children: /* @__PURE__ */ g(u, { children: [
590
590
  /* @__PURE__ */ t(u.Option, { value: "show", children: "显示" }),
591
591
  /* @__PURE__ */ t(u.Option, { value: "hide", children: "隐藏" })
592
592
  ] }) }),
593
- /* @__PURE__ */ t(f.Item, { label: "字体大小", name: "fontSize", initialValue: c.edgeLabelFontSize, children: /* @__PURE__ */ t(O, { type: "number", placeholder: "请输入字体大小" }) }),
594
- /* @__PURE__ */ t(f.Item, { label: "字体颜色", name: "fontColor", initialValue: c.edgeLabelColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
593
+ /* @__PURE__ */ t(f.Item, { label: "字体大小", name: "fontSize", initialValue: r.edgeLabelFontSize, children: /* @__PURE__ */ t(O, { type: "number", placeholder: "请输入字体大小" }) }),
594
+ /* @__PURE__ */ t(f.Item, { label: "字体颜色", name: "fontColor", initialValue: r.edgeLabelColor, children: /* @__PURE__ */ t(_, { showText: !0 }) }),
595
595
  /* @__PURE__ */ t(f.Item, { label: "字体粗细", name: "fontWeight", initialValue: "normal", children: /* @__PURE__ */ g(u, { children: [
596
596
  /* @__PURE__ */ t(u.Option, { value: "normal", children: "常规" }),
597
597
  /* @__PURE__ */ t(u.Option, { value: "bold", children: "粗体" })
@@ -11,7 +11,8 @@ interface ActionBarProps {
11
11
  typeObj?: any;
12
12
  relationObj?: any;
13
13
  actionBar?: {
14
- position?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | {
14
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
15
+ positionDetail: {
15
16
  top?: string | number;
16
17
  right?: string | number;
17
18
  bottom?: string | number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-kggraph",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "description": "A knowledge graph visualization component based on Cytoscape",
5
5
  "type": "module",
6
6
  "main": "./lib/index.es.js",