@riil-frontend/component-topology 13.0.0-dev.16 → 13.0.0-dev.18

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.
@@ -15,11 +15,13 @@ var _showGraphManageStatusUtil = require("../utils/showGraphManageStatusUtil");
15
15
 
16
16
  var _useCmpLinkAlarm2 = _interopRequireDefault(require("./useCmpLinkAlarm"));
17
17
 
18
+ var _useLinkAlarmDisplay2 = _interopRequireDefault(require("./useLinkAlarmDisplay"));
19
+
18
20
  /**
19
21
  * 获取ci的最高告警级别
20
- * @param {Array} alarmList
21
- * @param {*} risks
22
- * @returns
22
+ * @param {Array} alarmList
23
+ * @param {*} risks
24
+ * @returns
23
25
  */
24
26
  function getCiAlarmLevelMap(alarmList) {
25
27
  var ciIdLevelMap = {};
@@ -51,9 +53,9 @@ function getGraphCiElementAlarmLevels(resources, alarmList) {
51
53
  }
52
54
  /**
53
55
  * 获得关联拓扑节点告警级别
54
- * @param {*} topo
55
- * @param {*} relateTopoAlarm
56
- * @returns
56
+ * @param {*} topo
57
+ * @param {*} relateTopoAlarm
58
+ * @returns
57
59
  */
58
60
 
59
61
 
@@ -61,7 +63,7 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
61
63
  return Object.keys(relateTopoAlarm).map(function (topoId) {
62
64
  var level = relateTopoAlarm[topoId];
63
65
  var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
64
- return "" + node.a('bindTopo') === "" + topoId;
66
+ return "" + node.a("bindTopo") === "" + topoId;
65
67
  });
66
68
 
67
69
  if (!level || !relateTopoNode) {
@@ -81,18 +83,18 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
81
83
  function getGraphElementAlarmLevels(resources) {}
82
84
  /**
83
85
  * 告警显示到ht拓扑
84
- *
85
- * @param {*} options
86
+ *
87
+ * @param {*} options
86
88
  */
87
89
 
88
90
 
89
91
  function useGraphAlarmDisplay(options) {
90
92
  var topo = options.topo,
91
93
  alarmSwitch = options.alarmSwitch;
92
- var topoState = topo.store.useModelState('topoMod');
94
+ var topoState = topo.store.useModelState("topoMod");
93
95
  var graphLoaded = topoState.graphLoaded,
94
96
  viewState = topoState.viewState;
95
- var isEditMode = viewState === 'edit';
97
+ var isEditMode = viewState === "edit";
96
98
 
97
99
  var _topo$alarm$useState = topo.alarm.useState(),
98
100
  alarmList = _topo$alarm$useState.alarmList,
@@ -110,12 +112,28 @@ function useGraphAlarmDisplay(options) {
110
112
  cmpLinkRunStatus = _useCmpLinkAlarm.cmpLinkRunStatus,
111
113
  addCmpLinkOfflineStatusForDisplayLineColor = _useCmpLinkAlarm.addCmpLinkOfflineStatusForDisplayLineColor;
112
114
 
113
- var resources = (0, _react.useMemo)(function () {
115
+ var cmpRes = (0, _react.useMemo)(function () {
114
116
  return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
115
- }, [oldResources, cmpLinkRunStatus]); // ci告警级别
117
+ }, [oldResources, cmpLinkRunStatus]); // 拓扑链路特殊处理
118
+
119
+ var _useLinkAlarmDisplay = (0, _useLinkAlarmDisplay2["default"])({
120
+ topo: topo,
121
+ resources: cmpRes,
122
+ graphLoaded: graphLoaded,
123
+ alarmList: alarmList
124
+ }),
125
+ linkRunStatus = _useLinkAlarmDisplay.linkRunStatus,
126
+ getlinkAlarmLevels = _useLinkAlarmDisplay.getlinkAlarmLevels; // const resources = useMemo(() => addLinkOfflineStatusForDisplayLineColor(cmpRes, linkRunStatus), [cmpRes, linkRunStatus])
127
+
128
+
129
+ var linkAlarmLevels = getlinkAlarmLevels(alarmList, cmpRes); // 排除掉处于断开状态的链路
130
+
131
+ var resources = cmpRes.filter(function (item) {
132
+ return !item.breakState;
133
+ }); // ci告警级别
116
134
 
117
135
  var cisEventLevel = (0, _react.useMemo)(function () {
118
- var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, risks.map(function (item) {
136
+ var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkAlarmLevels, risks.map(function (item) {
119
137
  var _item$resourceId;
120
138
 
121
139
  return {
@@ -135,6 +153,16 @@ function useGraphAlarmDisplay(options) {
135
153
  alarmSwitch: alarmSwitch,
136
154
  cisEventLevel: cisEventLevel
137
155
  });
156
+ setOffLinkColor();
157
+
158
+ function setOffLinkColor() {
159
+ oldResources.forEach(function (item) {
160
+ if (item.breakState) {
161
+ var element = topo.getDataModel().getDataByTag(item.id);
162
+ element === null || element === void 0 ? void 0 : element.s("edge.color", "#C9CED2");
163
+ }
164
+ });
165
+ }
138
166
 
139
167
  function showAlarm() {
140
168
  var _topo$historyManager, _topo$historyManager2;
@@ -161,19 +189,19 @@ function useGraphAlarmDisplay(options) {
161
189
  var alarmLevel = (_elementsAlarmLevels$ = elementsAlarmLevels.find(function (item) {
162
190
  return item.id === element.getTag() || item.elementId === element.getId();
163
191
  })) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
164
- element.a('alarmLevel', alarmLevel);
192
+ element.a("alarmLevel", alarmLevel);
165
193
  });
166
194
 
167
- _rlog["default"].debug('推送告警 => ht', {
195
+ _rlog["default"].debug("推送告警 => ht", {
168
196
  alarms: elementsAlarmLevels,
169
197
  relateTopoAlarmMap: relateTopoAlarm,
170
198
  relateTopoAlarms: relateTopoAlarms
171
199
  }); // 更新到ht拓扑
172
200
 
173
201
 
174
- (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, '推送告警');
202
+ (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, "推送告警");
175
203
  topo.view.loadAlarm(elementsAlarmLevels);
176
- (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, '推送告警');
204
+ (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, "推送告警");
177
205
  }
178
206
 
179
207
  return function () {
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = useLinkAlarmDisplay;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _react = require("react");
13
+
14
+ var _ahooks = require("ahooks");
15
+
16
+ var _lodash = _interopRequireDefault(require("lodash"));
17
+
18
+ var _DictCache = _interopRequireDefault(require("../models/cache/DictCache"));
19
+
20
+ function getLinkDev(datas) {
21
+ console.log("datas------------------", datas);
22
+ var linkDevDoc = {};
23
+ var linkIds = datas.filter(function (item) {
24
+ return item.ciType === "network_link";
25
+ }).map(function (item) {
26
+ linkDevDoc[item.id] = [item.source, item.target];
27
+ return item.id;
28
+ });
29
+ return {
30
+ linkIds: linkIds,
31
+ linkDevDoc: linkDevDoc
32
+ };
33
+ }
34
+
35
+ function getlinkAlarmLevels(alarmList, resources) {
36
+ var _getLinkDev = getLinkDev(resources),
37
+ linkDevDoc = _getLinkDev.linkDevDoc;
38
+
39
+ console.log("linkAlarmLevels-----------1", linkDevDoc, alarmList);
40
+
41
+ if (!alarmList) {
42
+ return [];
43
+ }
44
+
45
+ var alarms = alarmList.filter(function (alarm) {
46
+ return alarm.obj.alertTypeCode === "availAlert";
47
+ }).map(function (item) {
48
+ return item.id;
49
+ });
50
+ return Object.keys(linkDevDoc).filter(function (item) {
51
+ return _lodash["default"].intersection(linkDevDoc[item], alarms).length > 0;
52
+ }).map(function (item) {
53
+ return {
54
+ id: item,
55
+ level: 1
56
+ };
57
+ });
58
+ ;
59
+ }
60
+ /**
61
+ * 处理链路显示
62
+ * @param {*} props
63
+ * @returns
64
+ */
65
+
66
+
67
+ function useLinkAlarmDisplay(props) {
68
+ var topo = props.topo,
69
+ resources = props.resources,
70
+ graphLoaded = props.graphLoaded,
71
+ alarmList = props.alarmList;
72
+
73
+ var _useState = (0, _react.useState)(getLinkDev(resources).linkIds),
74
+ linkIds = _useState[0],
75
+ setLinkIds = _useState[1];
76
+
77
+ var _useState2 = (0, _react.useState)([]),
78
+ linkRunStatus = _useState2[0],
79
+ setLinkRunStatus = _useState2[1];
80
+
81
+ var _useState3 = (0, _react.useState)(getLinkDev(resources).linkDevDoc),
82
+ linkDev = _useState3[0],
83
+ setLinkDev = _useState3[1];
84
+
85
+ console.log("alarmList----------sssss", alarmList);
86
+ (0, _react.useEffect)(function () {
87
+ var ids = getLinkDev(resources).linkIds;
88
+
89
+ if (linkIds.join(",") !== ids.join(",")) {
90
+ setLinkIds(ids);
91
+ }
92
+ }, [resources]);
93
+
94
+ function getLinkRunStatus(_x) {
95
+ return _getLinkRunStatus.apply(this, arguments);
96
+ } // 轮询hooks
97
+
98
+
99
+ function _getLinkRunStatus() {
100
+ _getLinkRunStatus = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ids) {
101
+ var _yield$Promise$all, ciMetricsResult;
102
+
103
+ return _regenerator["default"].wrap(function _callee$(_context) {
104
+ while (1) switch (_context.prev = _context.next) {
105
+ case 0:
106
+ if (ids.length) {
107
+ _context.next = 2;
108
+ break;
109
+ }
110
+
111
+ return _context.abrupt("return", []);
112
+
113
+ case 2:
114
+ _context.t0 = Promise;
115
+ _context.t1 = // 查询指标值
116
+ topo.serverApi.ciInfo.batchQueryCiInfo({
117
+ ciId: [],
118
+ codes: ["run_status", "remote_ping_status"],
119
+ relationId: ids.map(function (id) {
120
+ return {
121
+ ciId: id,
122
+ operation: "delete"
123
+ };
124
+ })
125
+ });
126
+ _context.next = 6;
127
+ return _DictCache["default"].init();
128
+
129
+ case 6:
130
+ _context.t2 = _context.sent;
131
+ _context.t3 = [_context.t1, _context.t2];
132
+ _context.next = 10;
133
+ return _context.t0.all.call(_context.t0, _context.t3);
134
+
135
+ case 10:
136
+ _yield$Promise$all = _context.sent;
137
+ ciMetricsResult = _yield$Promise$all[0];
138
+ console.log("getLinkRunStatus", ciMetricsResult);
139
+ return _context.abrupt("return", ciMetricsResult);
140
+
141
+ case 14:
142
+ case "end":
143
+ return _context.stop();
144
+ }
145
+ }, _callee);
146
+ }));
147
+ return _getLinkRunStatus.apply(this, arguments);
148
+ }
149
+
150
+ var _useRequest = (0, _ahooks.useRequest)(getLinkRunStatus, {
151
+ pollingInterval: 60 * 1000,
152
+ pollingWhenHidden: false,
153
+ // debounceInterval: 200,
154
+ manual: true,
155
+ onSuccess: function onSuccess(result) {
156
+ setLinkRunStatus(result.map(function (item) {
157
+ return {
158
+ id: item.id,
159
+ runStatus: item.metrics.run_status
160
+ };
161
+ }));
162
+ }
163
+ }),
164
+ run = _useRequest.run;
165
+
166
+ (0, _react.useEffect)(function () {
167
+ if (graphLoaded) {
168
+ run(linkIds);
169
+ }
170
+ }, [graphLoaded, linkIds]);
171
+ return {
172
+ linkRunStatus: linkRunStatus,
173
+ getlinkAlarmLevels: getlinkAlarmLevels
174
+ };
175
+ }
@@ -12,6 +12,7 @@ var _react = require("react");
12
12
  var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
13
13
 
14
14
  ht.Default.setImage('resource.subIcon.unMoniter', '/img/topo/alarmStatusIcon/未监控.svg');
15
+ ht.Default.setImage('resource.link.linkbreak', '/img/topo/link-break.svg');
15
16
  /**
16
17
  * 监听监控状态推送
17
18
  * 节点、连线监控状态置灰
@@ -27,7 +27,7 @@ var _useCiAttributeChange = _interopRequireDefault(require("./useCiAttributeChan
27
27
 
28
28
  var _useHtDataPropertyChangeListener = _interopRequireDefault(require("./ht/useHtDataPropertyChangeListener"));
29
29
 
30
- var rlog = _loglevel["default"].getLogger('topo');
30
+ var rlog = _loglevel["default"].getLogger("topo");
31
31
  /**
32
32
  * 轮询获取指标hooks
33
33
  * @param {*} props
@@ -40,15 +40,15 @@ var usePolling = function usePolling(props) {
40
40
  (0, _useCiAttributeChange["default"])({
41
41
  topo: topo
42
42
  });
43
- var bizState = store.useModelState('topoBizMod');
43
+ var bizState = store.useModelState("topoBizMod");
44
44
  var resAndMetrics = bizState.resAndMetrics,
45
45
  pollingSwitch = bizState.pollingSwitch;
46
- var displayConfig = topo.store.useModelState('displayConfig');
47
- var resourceOverviewState = topo.store.useModelState('topoBaseInfoOverview');
46
+ var displayConfig = topo.store.useModelState("displayConfig");
47
+ var resourceOverviewState = topo.store.useModelState("topoBaseInfoOverview");
48
48
  var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList;
49
49
  /**
50
50
  * 查询拓扑图资源的属性指标
51
- *
51
+ *
52
52
  * @returns {array}
53
53
  */
54
54
 
@@ -56,7 +56,7 @@ var usePolling = function usePolling(props) {
56
56
  return _fetchData.apply(this, arguments);
57
57
  }
58
58
  /**
59
- *
59
+ *
60
60
  * @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
61
61
  */
62
62
 
@@ -72,7 +72,7 @@ var usePolling = function usePolling(props) {
72
72
  var ipv6 = data.attributeMap.ipv6_address;
73
73
 
74
74
  if (!ipv6 && data.attributeMap.ipv6_address_list) {
75
- ipv6 = (data.attributeMap.ipv6_address_list || '').split(',')[0];
75
+ ipv6 = (data.attributeMap.ipv6_address_list || "").split(",")[0];
76
76
  }
77
77
 
78
78
  return (0, _extends2["default"])({}, data, {
@@ -104,9 +104,62 @@ var usePolling = function usePolling(props) {
104
104
  // 合并属性、指标
105
105
  var _topo$dataModel$getDa = topo.dataModel.getData(),
106
106
  nodes = _topo$dataModel$getDa.nodes,
107
- links = _topo$dataModel$getDa.links;
108
-
109
- return [].concat(nodes, links).filter(function (item) {
107
+ links = _topo$dataModel$getDa.links; // console.log('fetchData-mergeData',ciMetricsResult, nodes, links)
108
+ // 判断通断状态
109
+
110
+
111
+ var breakLinks = links.filter(function (item) {
112
+ return item.ciType === "network_link";
113
+ }).map(function (link) {
114
+ console.log("fetchData-mergeData", link);
115
+ var breakFlag = false;
116
+ ciMetricsResult.forEach(function (item) {
117
+ if (item.id === link.id) {
118
+ if (item.metrics.hasOwnProperty("run_status")) {
119
+ if (item.metrics.run_status !== "1") {
120
+ breakFlag = true;
121
+ }
122
+ }
123
+
124
+ if (link.attributes["network_link.is_crucial"] && item.metrics.hasOwnProperty("remote_ping_status")) {
125
+ if (item.metrics.remote_ping_status !== "1") {
126
+ breakFlag = true;
127
+ }
128
+ }
129
+ }
130
+ });
131
+ var element = topo.getDataModel().getDataByTag(link.id);
132
+
133
+ if (!element) {
134
+ return;
135
+ }
136
+
137
+ if (breakFlag) {
138
+ console.log("link.setNodeStyleIcon-breakFlag", element);
139
+ topo.getHtTopo().setNodeStyleIcon(element, {
140
+ styleIcon: "linkbreak",
141
+ position: 17,
142
+ icon: "resource.link.linkbreak"
143
+ });
144
+ topo.dataModel.updateData([(0, _extends2["default"])({}, link, {
145
+ breakState: true
146
+ })]);
147
+ element === null || element === void 0 ? void 0 : element.s("edge.color", "#C9CED2");
148
+ return link.id; //element.a('linkbreak',true);
149
+ } else {
150
+ // 恢复状态
151
+ element.removeStyleIcon("linkbreak");
152
+ topo.dataModel.updateData([(0, _extends2["default"])({}, link, {
153
+ breakState: false
154
+ })]);
155
+ element === null || element === void 0 ? void 0 : element.a('linkbreak', false);
156
+ return undefined; // topo.getHtTopo().setNodeStyleIcon(element, { styleIcon: 'linkbreak',position: 17, icon: 'resource.link.linkbreak' });
157
+ }
158
+ });
159
+ console.log('link-break', breakLinks, links);
160
+ return [].concat(nodes, links.filter(function (link) {
161
+ return !breakLinks.includes(link.id);
162
+ })).filter(function (item) {
110
163
  return !!item.ciType;
111
164
  }).map(function (ciData) {
112
165
  var resultData = (0, _extends2["default"])({}, ciData, {
@@ -125,7 +178,7 @@ var usePolling = function usePolling(props) {
125
178
  });
126
179
  };
127
180
 
128
- _topo$store$getModelS = topo.store.getModelState('topoBizMod').resAndMetrics, resIdsList = _topo$store$getModelS.resIdsList, nodeIdsList = _topo$store$getModelS.nodeIdsList; // rlog.debug('根据ci的id获取属性的值-getCiArrByIds', resIdsList, metrics);
181
+ _topo$store$getModelS = topo.store.getModelState("topoBizMod").resAndMetrics, resIdsList = _topo$store$getModelS.resIdsList, nodeIdsList = _topo$store$getModelS.nodeIdsList; // rlog.debug('根据ci的id获取属性的值-getCiArrByIds', resIdsList, metrics);
129
182
  // 无资源,不查询
130
183
 
131
184
  if (resIdsList.length) {
@@ -140,7 +193,8 @@ var usePolling = function usePolling(props) {
140
193
  codes = topo.attributeMetricDisplay.getResourceMetricCodes();
141
194
  param = {
142
195
  ciId: nodeIdsList,
143
- codes: codes,
196
+ codes: [].concat(codes, ["run_status", "remote_ping_status"]),
197
+ // 判断链路通断状态
144
198
  // 过滤掉不需要查询的
145
199
  relationId: topo.attributeMetricDisplay.getEdges().map(function (edge) {
146
200
  return {
@@ -230,7 +284,7 @@ var usePolling = function usePolling(props) {
230
284
 
231
285
  (0, _react.useEffect)(function () {
232
286
  if (topo.options.enableDefaultMetricLoader) {
233
- rlog.debug('usePolling.useEffect: 开始轮询', {
287
+ rlog.debug("usePolling.useEffect: 开始轮询", {
234
288
  pollingSwitch: pollingSwitch,
235
289
  resIdsList: resIdsList,
236
290
  resourceOverviewState: resourceOverviewState,
@@ -241,16 +295,16 @@ var usePolling = function usePolling(props) {
241
295
 
242
296
  return function () {
243
297
  if (loading) {
244
- rlog.debug('usePolling.useEffect: 结束轮询', resAndMetrics);
298
+ rlog.debug("usePolling.useEffect: 结束轮询", resAndMetrics);
245
299
  stopPoll();
246
300
  }
247
301
  };
248
302
  }, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]); // 属性变更监听更新
249
303
 
250
- (0, _componentRiilEventEmitter.useCbbEventListener)('topo', {
251
- name: 'topo',
304
+ (0, _componentRiilEventEmitter.useCbbEventListener)("topo", {
305
+ name: "topo",
252
306
  onMessage: function onMessage(message) {
253
- if (message.type === 'attribute') {
307
+ if (message.type === "attribute") {
254
308
  var data = message.data;
255
309
  }
256
310
  }
@@ -261,8 +315,8 @@ var usePolling = function usePolling(props) {
261
315
  onChange: function onChange(e) {
262
316
  var property = e.property,
263
317
  data = e.data;
264
- var isGroupExpandedChanged = data instanceof ht.Group && property === 'expanded';
265
- var isEdgeExpandedChanged = data instanceof ht.Edge && property === 'edge.expanded';
318
+ var isGroupExpandedChanged = data instanceof ht.Group && property === "expanded";
319
+ var isEdgeExpandedChanged = data instanceof ht.Edge && property === "edge.expanded";
266
320
 
267
321
  if (isGroupExpandedChanged || isEdgeExpandedChanged) {
268
322
  topo.attributeMetricDisplay.updateTagsTips();
@@ -54,7 +54,7 @@ var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
54
54
  var _CiCache = _interopRequireDefault(require("./cache/CiCache"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "13.0.0-dev.16" === 'string' ? "13.0.0-dev.16" : null;
57
+ var version = typeof "13.0.0-dev.18" === 'string' ? "13.0.0-dev.18" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -81,6 +81,7 @@ function mergeLinksData(links, linkCis, nodes, ciMap, interfaceDoc) {
81
81
  var attributes = (0, _extends2["default"])({}, linkCi === null || linkCi === void 0 ? void 0 : linkCi.attributes); // 翻译
82
82
 
83
83
  return (0, _extends2["default"])({}, link, {
84
+ breakState: false,
84
85
  attributes: (0, _extends2["default"])({}, attributes, {
85
86
  // 源/目的设备
86
87
  "network_link.source_device_id_object": {
@@ -53,7 +53,7 @@ var updateEdgeExpanded = function updateEdgeExpanded(topo) {
53
53
 
54
54
  _rlog["default"].debug("updateEdgeExpanded 折叠");
55
55
  } else {
56
- htTopo.toggleAllEdgeGroups(true);
56
+ //htTopo.toggleAllEdgeGroups(true);
57
57
  (0, _linkUtils.showLinkByConfig)({
58
58
  topo: topo,
59
59
  showType: expandAllEdges,
@@ -16,6 +16,7 @@ function fixLink(topo) {
16
16
  edges.forEach(function (edge) {
17
17
  var source = edge.getSource();
18
18
  var target = edge.getTarget();
19
+ console.log('fixLink', edge, source, target);
19
20
  var linkData = linkDatas.find(function (data) {
20
21
  return data.id === edge.getTag();
21
22
  }); // TODO 判断两端互相切换
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "13.0.0-dev.16",
3
+ "version": "13.0.0-dev.18",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -123,6 +123,6 @@
123
123
  "access": "public"
124
124
  },
125
125
  "license": "MIT",
126
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@13.0.0-dev.16/build/index.html",
126
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@13.0.0-dev.18/build/index.html",
127
127
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
128
128
  }