@riil-frontend/component-topology 2.12.4 → 2.12.6-alpha.0

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.
Files changed (54) hide show
  1. package/build/1.js +2 -2
  2. package/build/2.js +1 -1
  3. package/build/index.css +1 -1
  4. package/build/index.js +28 -28
  5. package/es/components/Link/index.module.scss +2 -2
  6. package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
  7. package/es/components/SingleResourceDrawer/SingleResourceDrawer.js +58 -0
  8. package/es/components/SingleResourceDrawer/index.js +2 -52
  9. package/es/core/components/TopoView/topoView.js +7 -23
  10. package/es/core/editor/components/EditorPlugin.js +2 -1
  11. package/es/core/editor/components/LinkDynamicStyleSettingDrawer/rule/ColorPicker.module.scss +1 -1
  12. package/es/core/editor/components/resource/SingleResourceDrawer/SelectDrawer.js +54 -0
  13. package/es/core/editor/components/resource/SingleResourceDrawer/SingleResourceDrawer.js +58 -0
  14. package/es/core/editor/components/resource/SingleResourceDrawer/index.js +2 -0
  15. package/es/core/editor/components/settings/common/GroupNodeList/ResourceList.js +1 -1
  16. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.module.scss +1 -1
  17. package/es/core/editor/components/settings/group/DataTab/GroupNodeList.js +1 -1
  18. package/es/core/editor/components/settings/group/DataTab/RelateData.js +2 -1
  19. package/es/core/editor/components/settings/node/NodePropertyView.js +1 -1
  20. package/es/core/editor/components/settings/node/data/BindResourceDrawer.js +65 -0
  21. package/es/core/editor/components/settings/node/data/NodeRelateResourceButton.js +41 -0
  22. package/es/hooks/useSelection.js +4 -3
  23. package/es/hooks/useTopoEdit.js +172 -143
  24. package/es/models/topoCreateMod.js +5 -0
  25. package/es/models/topoMod.js +45 -43
  26. package/es/style.js +3 -6
  27. package/es/utils/htElementUtils.js +25 -1
  28. package/lib/components/Link/index.module.scss +2 -2
  29. package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
  30. package/lib/components/SingleResourceDrawer/SingleResourceDrawer.js +72 -0
  31. package/lib/components/SingleResourceDrawer/index.js +2 -57
  32. package/lib/core/components/TopoView/topoView.js +7 -23
  33. package/lib/core/editor/components/EditorPlugin.js +2 -1
  34. package/lib/core/editor/components/LinkDynamicStyleSettingDrawer/rule/ColorPicker.module.scss +1 -1
  35. package/lib/core/editor/components/resource/SingleResourceDrawer/SelectDrawer.js +68 -0
  36. package/lib/core/editor/components/resource/SingleResourceDrawer/SingleResourceDrawer.js +72 -0
  37. package/lib/core/editor/components/resource/SingleResourceDrawer/index.js +11 -0
  38. package/lib/core/editor/components/settings/common/GroupNodeList/ResourceList.js +1 -3
  39. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.module.scss +1 -1
  40. package/lib/core/editor/components/settings/group/DataTab/GroupNodeList.js +1 -1
  41. package/lib/core/editor/components/settings/group/DataTab/RelateData.js +2 -1
  42. package/lib/core/editor/components/settings/node/NodePropertyView.js +1 -1
  43. package/lib/core/editor/components/settings/node/data/BindResourceDrawer.js +79 -0
  44. package/lib/core/editor/components/settings/node/data/NodeRelateResourceButton.js +54 -0
  45. package/lib/hooks/useSelection.js +4 -3
  46. package/lib/hooks/useTopoEdit.js +174 -144
  47. package/lib/models/topoCreateMod.js +5 -0
  48. package/lib/models/topoMod.js +45 -43
  49. package/lib/style.js +3 -6
  50. package/lib/utils/htElementUtils.js +27 -1
  51. package/package.json +15 -15
  52. package/CHANGELOG.md +0 -26
  53. package/es/core/editor/components/settings/node/NodeRelateResourceButton.js +0 -22
  54. package/lib/core/editor/components/settings/node/NodeRelateResourceButton.js +0 -31
@@ -36,7 +36,6 @@ function _default(topoApp) {
36
36
  loading: true,
37
37
  // 额外参数
38
38
  urlParams: {},
39
- topoLoading: true,
40
39
  topoLoadError: false,
41
40
  viewState: 'view',
42
41
  // view, create, 2种模式
@@ -296,61 +295,56 @@ function _default(topoApp) {
296
295
  * @param props {{topoId}}
297
296
  * @param props.linkTo {?} 关联拓扑
298
297
  * @param props.refresh {?boolean} 是否刷新
298
+ * @param props.clear {?boolean} 是否清空
299
299
  * @return {Promise<void>}
300
300
  */
301
301
  initTopoData: function initTopoData(props, state) {
302
302
  var _this5 = this;
303
303
 
304
304
  return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
305
- var startTime, topoId, data, linkToData, refresh, linkTo, permission, result, topoConfig, _yield$Promise$all, ciTypeMap, customIcons, _combTopoData, topoData, resAndMetrics, endTime;
305
+ var startTime, topoId, data, linkToData, refresh, clear, linkTo, startState, permission, result, topoConfig, _yield$Promise$all, ciTypeMap, customIcons, _combTopoData, topoData, resAndMetrics, endTime;
306
306
 
307
307
  return _regenerator["default"].wrap(function _callee6$(_context6) {
308
308
  while (1) {
309
309
  switch (_context6.prev = _context6.next) {
310
310
  case 0:
311
311
  startTime = (0, _moment["default"])();
312
- topoId = props.topoId, data = props.data, linkToData = props.linkTo, refresh = props.refresh; // 关联拓扑图
312
+ topoId = props.topoId, data = props.data, linkToData = props.linkTo, refresh = props.refresh, clear = props.clear; // 关联拓扑图
313
313
 
314
- if (refresh !== true) {
315
- linkTo = linkToData || null;
316
-
317
- _this5.update({
318
- linkTo: linkTo
319
- });
320
- } else {
321
- linkTo = state.topoMod.linkTo;
322
- }
314
+ linkTo = refresh === true ? state.topoMod.linkTo : linkToData || null;
315
+ startState = {
316
+ loading: true,
317
+ topoLoadError: false,
318
+ linkTo: linkTo
319
+ };
323
320
 
324
- if (topoId < 0) {
325
- _this5.update({
321
+ if (clear === true || topoId < 0) {
322
+ Object.assign(startState, {
326
323
  topoData: null
327
324
  });
328
325
  }
329
326
 
330
- _this5.update({
331
- loading: true,
332
- topoLoadError: false
333
- });
327
+ _this5.update(startState);
334
328
 
335
329
  topoApp.options.onLoadStart(); // TODO 待移走
336
330
 
337
331
  permission = 'write';
338
332
 
339
333
  if (!topoApp.options.usePermission) {
340
- _context6.next = 15;
334
+ _context6.next = 16;
341
335
  break;
342
336
  }
343
337
 
344
- _context6.next = 10;
338
+ _context6.next = 11;
345
339
  return _this5.getTopoPermission({
346
340
  id: topoId
347
341
  });
348
342
 
349
- case 10:
343
+ case 11:
350
344
  permission = _context6.sent;
351
345
 
352
346
  if (_topoPermissionUtil["default"].isReadable(permission)) {
353
- _context6.next = 15;
347
+ _context6.next = 16;
354
348
  break;
355
349
  }
356
350
 
@@ -363,46 +357,46 @@ function _default(topoApp) {
363
357
  topoApp.options.onLoad();
364
358
  return _context6.abrupt("return");
365
359
 
366
- case 15:
360
+ case 16:
367
361
  if (!data) {
368
- _context6.next = 26;
362
+ _context6.next = 27;
369
363
  break;
370
364
  }
371
365
 
372
366
  if (!topoId) {
373
- _context6.next = 23;
367
+ _context6.next = 24;
374
368
  break;
375
369
  }
376
370
 
377
- _context6.next = 19;
371
+ _context6.next = 20;
378
372
  return topoApp.options.loadData(topoId);
379
373
 
380
- case 19:
374
+ case 20:
381
375
  topoConfig = _context6.sent;
382
376
  result = (0, _extends2["default"])({}, data, {
383
377
  global: topoConfig.global,
384
378
  serialize: topoConfig.serialize
385
379
  });
386
- _context6.next = 24;
380
+ _context6.next = 25;
387
381
  break;
388
382
 
389
- case 23:
383
+ case 24:
390
384
  result = (0, _extends2["default"])({}, data);
391
385
 
392
- case 24:
393
- _context6.next = 29;
386
+ case 25:
387
+ _context6.next = 30;
394
388
  break;
395
389
 
396
- case 26:
397
- _context6.next = 28;
390
+ case 27:
391
+ _context6.next = 29;
398
392
  return topoApp.options.loadData(topoId);
399
393
 
400
- case 28:
394
+ case 29:
401
395
  result = _context6.sent;
402
396
 
403
- case 29:
397
+ case 30:
404
398
  if (result) {
405
- _context6.next = 33;
399
+ _context6.next = 34;
406
400
  break;
407
401
  }
408
402
 
@@ -414,13 +408,13 @@ function _default(topoApp) {
414
408
  topoApp.options.onLoad();
415
409
  return _context6.abrupt("return");
416
410
 
417
- case 33:
411
+ case 34:
418
412
  _rlog["default"].debug('topoMod.initTopoData 获取拓扑数据', topoId, linkTo, result);
419
413
 
420
- _context6.next = 36;
414
+ _context6.next = 37;
421
415
  return Promise.all([topoApp.ciTyeCache.getCiTypeMap((0, _topoData.getCiTypes)(result)), dispatch.iconManage.getIcons()]);
422
416
 
423
- case 36:
417
+ case 37:
424
418
  _yield$Promise$all = _context6.sent;
425
419
  ciTypeMap = _yield$Promise$all[0];
426
420
  customIcons = _yield$Promise$all[1];
@@ -462,7 +456,7 @@ function _default(topoApp) {
462
456
 
463
457
  topoApp.options.onLoad();
464
458
 
465
- case 50:
459
+ case 51:
466
460
  case "end":
467
461
  return _context6.stop();
468
462
  }
@@ -478,17 +472,25 @@ function _default(topoApp) {
478
472
  var _this6 = this;
479
473
 
480
474
  return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
475
+ var _payload, clear;
476
+
481
477
  return _regenerator["default"].wrap(function _callee7$(_context7) {
482
478
  while (1) {
483
479
  switch (_context7.prev = _context7.next) {
484
480
  case 0:
485
- _context7.next = 2;
481
+ if (payload === void 0) {
482
+ payload = {};
483
+ }
484
+
485
+ _payload = payload, clear = _payload.clear;
486
+ _context7.next = 4;
486
487
  return _this6.initTopoData({
487
488
  topoId: rootState.topoMod.topoId,
488
- refresh: true
489
+ refresh: true,
490
+ clear: clear
489
491
  });
490
492
 
491
- case 2:
493
+ case 4:
492
494
  case "end":
493
495
  return _context7.stop();
494
496
  }
package/lib/style.js CHANGED
@@ -1,11 +1,7 @@
1
-
2
1
  require('@alifd/next/lib/message/style');
3
2
  require('@alifd/next/lib/dialog/style');
4
3
  require('@alifd/next/lib/drawer/style');
5
4
  require('@alifd/next/lib/button/style');
6
- require('@alifd/next/lib/table/style');
7
- require('@alifd/next/lib/search/style');
8
-
9
5
  require('@alifd/next/lib/loading/style');
10
6
  require('@alifd/next/lib/upload/style');
11
7
  require('@alifd/next/lib/icon/style');
@@ -15,16 +11,17 @@ require('@alifd/next/lib/form/style');
15
11
  require('@alifd/next/lib/number-picker/style');
16
12
  require('@alifd/next/lib/select/style');
17
13
  require('@alifd/next/lib/balloon/style');
14
+ require('@alifd/next/lib/table/style');
18
15
  require('@alifd/next/lib/grid/style');
19
16
  require('@alifd/next/lib/box/style');
20
17
  require('@alifd/next/lib/dropdown/style');
21
18
  require('@alifd/next/lib/menu/style');
19
+ require('@alifd/next/lib/search/style');
22
20
  require('@alifd/next/lib/tab/style');
23
21
  require('@alifd/next/lib/collapse/style');
24
22
  require('@alifd/next/lib/tree-select/style');
25
-
26
23
  require('@alifd/next/lib/radio/style');
27
24
  require('@alifd/next/lib/list/style');
28
25
  require('@alifd/next/lib/tag/style');
29
-
26
+ require('@riil-frontend/component-topology-utils/lib/style');
30
27
  require('./index.scss');
@@ -5,6 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports.getEdges = getEdges;
7
7
  exports.getElements = getElements;
8
+ exports.getGroupChildren = getGroupChildren;
8
9
  exports.getGroupChildrenData = getGroupChildrenData;
9
10
  exports.getGroupData = getGroupData;
10
11
  exports.getGroupElementByTag = getGroupElementByTag;
@@ -112,7 +113,32 @@ function getGroupNodes(dataModel, groupIdOrTag) {
112
113
  return element.groupId === groupIdOrTag || element.groupTag === groupIdOrTag;
113
114
  });
114
115
  }
116
+ /**
117
+ * 获取容器里的节点列表
118
+ *
119
+ * @param group
120
+ * @return {*}
121
+ */
122
+
123
+
124
+ function getGroupChildren(group) {
125
+ if (!group) {
126
+ return [];
127
+ } // HT为了支持区域内无节点可展开增加了站位节点,因此 节点的layer等于container_blank的过滤掉就可以了
128
+
129
+
130
+ return group.getChildren().getArray().filter(function (node) {
131
+ return node._layer !== 'container_blank';
132
+ });
133
+ }
134
+ /**
135
+ * 获取容器里的节点数据列表
136
+ *
137
+ * @param group
138
+ * @return {*}
139
+ */
140
+
115
141
 
116
142
  function getGroupChildrenData(group) {
117
- return group.getChildren().getArray().map(getNodeData);
143
+ return getGroupChildren(group).map(getNodeData);
118
144
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "2.12.4",
3
+ "version": "2.12.6-alpha.0",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -44,26 +44,26 @@
44
44
  "@ice/store": "^1.4.2",
45
45
  "@riil-frontend/component-topo-icon-select": "^1.0.4",
46
46
  "@riil-frontend/component-topology-common": "^1.0.2",
47
- "@riil-frontend/component-topology-utils": "^2.0.19",
47
+ "@riil-frontend/component-topology-utils": "^2.0.20-alpha.0",
48
48
  "classnames": "^2.2.3",
49
49
  "prop-types": "^15.5.8",
50
50
  "react-color": "^2.19.3",
51
51
  "styled-components": "^4.4.1"
52
52
  },
53
53
  "devDependencies": {
54
- "@alifd/next": "^1.21.16",
55
- "@alifd/theme-19926": "^0.20.0",
54
+ "@alifd/next": "1.21.16",
55
+ "@alifd/theme-19926": "^0.25.1",
56
56
  "@formily/next": "1.3.13",
57
57
  "@formily/next-components": "1.3.13",
58
58
  "@iceworks/spec": "^1.0.0",
59
- "@riil-frontend/component-action-tree": "^1.0.8",
60
- "@riil-frontend/component-common-res-list": "^1.0.5",
61
- "@riil-frontend/component-condition-res-list": "^1.0.5",
59
+ "@riil-frontend/component-action-tree": "^1.0.13",
60
+ "@riil-frontend/component-common-res-list": "^1.0.7",
61
+ "@riil-frontend/component-condition-res-list": "^1.0.8",
62
62
  "@riil-frontend/component-extra-title": "^1.0.3",
63
- "@riil-frontend/component-more-buttons-menu": "^1.0.1-a.15",
64
- "@riil-frontend/component-no-data-page": "^2.0.1",
63
+ "@riil-frontend/component-more-buttons-menu": "^2.0.1",
64
+ "@riil-frontend/component-no-data-page": "^2.0.2",
65
65
  "@riil-frontend/component-pager": "^1.0.1",
66
- "@riil-frontend/component-res-advanced-search": "^2.0.0-a.1",
66
+ "@riil-frontend/component-res-advanced-search": "^2.0.7",
67
67
  "@riil-frontend/component-riil-event-emitter": "^1.0.29",
68
68
  "@riil-frontend/component-riil-rule-tree": "^1.0.4",
69
69
  "@riil-frontend/component-row-delete-ballon": "^1.0.2",
@@ -75,14 +75,14 @@
75
75
  "@riil-frontend/next-collapse": "^1.0.1-a.0",
76
76
  "@riil-frontend/utils": "^1.0.20",
77
77
  "axios": "^0.21.1",
78
- "build-plugin-component": "^1.0.0",
78
+ "build-plugin-component": "^1.9.2",
79
79
  "build-plugin-fusion": "^0.1.0",
80
80
  "build-plugin-moment-locales": "^0.1.0",
81
81
  "build-scripts": "^1.1.1",
82
82
  "echarts": "^5.1.2",
83
83
  "echarts-for-react": "^3.0.1",
84
- "enzyme": "^3.10.0",
85
- "enzyme-adapter-react-16": "^1.14.0",
84
+ "enzyme": "^3.11.0",
85
+ "enzyme-adapter-react-16": "^1.15.4",
86
86
  "eslint": "^6.0.1",
87
87
  "html2canvas": "^1.3.2",
88
88
  "jspdf": "^2.3.1",
@@ -105,6 +105,6 @@
105
105
  "access": "public"
106
106
  },
107
107
  "license": "MIT",
108
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.12.4/build/index.html",
109
- "gitHead": "e53aaebbab89c4155be21b26a1cbac09542ad400"
108
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.12.6-alpha.0/build/index.html",
109
+ "gitHead": "5c15057d6fb3505d1d688eb3a8a9bdf5231e1c8c"
110
110
  }
package/CHANGELOG.md DELETED
@@ -1,26 +0,0 @@
1
- ## v2.1.8
2
-
3
- - 支持自定义分层添加资源组件
4
- - 支持添加节点、连线接口 `addElements(data)`
5
-
6
- ## v2.1.4
7
-
8
- - ht 新旧版本共存
9
-
10
- ## v2.1.3
11
-
12
- - 自定义图标
13
-
14
-
15
- ## v2.0.2
16
-
17
- - 支持编辑模式右键菜单
18
-
19
- ## v2.0.1
20
-
21
- 新增功能
22
- - 拓扑图全量更新数据接口,更新时保留元素样式
23
- - 编辑模式右键菜单
24
-
25
- 阻断变更
26
- - 暂时恢复页面加载ht topo-client.js
@@ -1,22 +0,0 @@
1
- import _Button from "@alifd/next/lib/button";
2
- import React from 'react';
3
-
4
- /**
5
- * @return {React.ReactNode | null}
6
- */
7
- export default function NodeRelateResourceButton(props) {
8
- var _node$attr$data;
9
-
10
- var topo = props.topo,
11
- topoEditApi = props.topoEditApi,
12
- node = props.node;
13
- var hide = ((_node$attr$data = node.attr.data) === null || _node$attr$data === void 0 ? void 0 : _node$attr$data.relateResource) === false;
14
- return !hide ? /*#__PURE__*/React.createElement(_Button, {
15
- type: "primary",
16
- text: true,
17
- onClick: function onClick() {
18
- topoEditApi.bindNodeResource({});
19
- }
20
- }, "\u9009\u62E9\u8D44\u6E90") : null;
21
- }
22
- ;
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = NodeRelateResourceButton;
7
-
8
- var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- /**
13
- * @return {React.ReactNode | null}
14
- */
15
- function NodeRelateResourceButton(props) {
16
- var _node$attr$data;
17
-
18
- var topo = props.topo,
19
- topoEditApi = props.topoEditApi,
20
- node = props.node;
21
- var hide = ((_node$attr$data = node.attr.data) === null || _node$attr$data === void 0 ? void 0 : _node$attr$data.relateResource) === false;
22
- return !hide ? /*#__PURE__*/_react["default"].createElement(_button["default"], {
23
- type: "primary",
24
- text: true,
25
- onClick: function onClick() {
26
- topoEditApi.bindNodeResource({});
27
- }
28
- }, "\u9009\u62E9\u8D44\u6E90") : null;
29
- }
30
-
31
- ;