@riil-frontend/component-topology 2.1.5-dev.3 → 2.1.6

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 (92) hide show
  1. package/build/index.css +1 -1
  2. package/build/index.js +7 -7
  3. package/demo/1/345/237/272/346/234/254/usage.md +4 -0
  4. package/demo/1/345/237/272/346/234/254//345/221/212/350/255/246/346/216/250/351/200/201.md +1 -1
  5. package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/233/276/346/240/207.md +1 -1
  6. package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +1 -1
  7. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//346/226/260/345/273/272/350/277/233/345/205/245/347/274/226/350/276/221/346/250/241/345/274/217.md +1 -1
  8. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//346/233/277/346/215/242/350/212/202/347/202/271.md +1 -1
  9. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//347/246/201/347/224/250/345/205/263/350/201/224/350/265/204/346/272/220.md +1 -1
  10. package/demo/{1/345/237/272/346/234/254 → 2/347/274/226/350/276/221/346/250/241/345/274/217}//347/274/226/350/276/221/346/250/241/345/274/217/345/217/263/351/224/256/350/217/234/345/215/225.md +1 -1
  11. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoFull.jsx +1 -2
  12. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoViewer.jsx +0 -0
  13. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/authorization/v1/api/authority/check/checkFuncAuthentication +0 -0
  14. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/authorization/v1/api/authority/check/checkFuncAuthentication.json +0 -0
  15. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/model/v1/api/getAllDict +0 -0
  16. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/alarm +0 -0
  17. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/alarm.json +0 -0
  18. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/once +0 -0
  19. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/once.json +0 -0
  20. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/polling +0 -0
  21. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/attributes/polling.json +0 -0
  22. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/auth/permission/2 +0 -0
  23. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/auth/permission/2.json +0 -0
  24. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/menu +0 -0
  25. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/menu.json +0 -0
  26. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/shape +0 -0
  27. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/shape.json +0 -0
  28. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/both/2 +0 -0
  29. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/both/2.json +0 -0
  30. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/relationList +0 -0
  31. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/structure/relationList.json +0 -0
  32. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/webUrl/list +0 -0
  33. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src → 346/213/223/346/211/221/344/270/255/345/277/203/js}/mock/topo/v1/api/webUrl/list.json +0 -0
  34. package/demo/3/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +7 -0
  35. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203//345/256/214/346/225/264/346/250/241/345/274/217.md +0 -0
  36. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203//346/230/276/347/244/272/346/250/241/345/274/217.md +0 -0
  37. package/demo/{3 → 4}/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221//345/272/224/347/224/250/351/203/250/347/275/262/346/213/223/346/211/221.md +1 -1
  38. package/demo/{3 → 4}/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221//346/225/260/346/215/256/346/265/201/346/213/223/346/211/221.md +1 -1
  39. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//351/200/211/346/213/251/350/265/204/346/272/220/346/214/211/351/222/256.md +12 -0
  40. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//351/200/211/346/213/251/350/265/204/346/272/220/347/273/204/344/273/266.md +12 -0
  41. package/demo/API/API.md +11 -6
  42. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/cmdb/v1/api/authority/ci/commonQuery +0 -0
  43. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/model/v1/api/getAllDict +0 -0
  44. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/model/v1/api/modelTree +0 -0
  45. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/alarm +0 -0
  46. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/alarm.json +0 -0
  47. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/once +0 -0
  48. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/once.json +0 -0
  49. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/polling +0 -0
  50. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/attributes/polling.json +0 -0
  51. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/auth/permission/2 +0 -0
  52. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/auth/permission/2.json +0 -0
  53. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/menu +0 -0
  54. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/menu.json +0 -0
  55. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/shape +0 -0
  56. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/shape.json +0 -0
  57. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/1 +0 -0
  58. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/2 +0 -0
  59. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/both/3 +0 -0
  60. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/byCondition/2 +0 -0
  61. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock → demo-mock/basic}/topo/v1/api/structure/relationList +0 -0
  62. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/webUrl/list +0 -0
  63. package/{demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/mock → demo-mock/basic}/topo/v1/api/webUrl/list.json +0 -0
  64. package/es/components/{TopoView/settings/GroupNodeList → ResourceSelect}/SelectResource/index.js +0 -0
  65. package/es/components/{TopoView/settings/GroupNodeList → ResourceSelect}/SelectResource/index.module.scss +0 -0
  66. package/es/components/TopoView/settings/GroupNodeList/ResourceList.js +1 -1
  67. package/es/components/TopoView/settings/LayerSettingsForm.js +4 -1
  68. package/lib/components/{TopoView/settings/GroupNodeList → ResourceSelect}/SelectResource/index.js +0 -0
  69. package/lib/components/{TopoView/settings/GroupNodeList → ResourceSelect}/SelectResource/index.module.scss +0 -0
  70. package/lib/components/TopoView/settings/GroupNodeList/ResourceList.js +1 -1
  71. package/lib/components/TopoView/settings/LayerSettingsForm.js +4 -1
  72. package/package.json +3 -3
  73. package/demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +0 -7
  74. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/AppInstallTopo.jsx +0 -228
  75. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CreateTopo.jsx +0 -88
  76. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomAlarm.jsx +0 -110
  77. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomAttrAndMetric.jsx +0 -303
  78. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/CustomNodeIcon.jsx +0 -124
  79. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/DataStreamTopo.jsx +0 -188
  80. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/DisableNodeRelateResource.jsx +0 -74
  81. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/EditorContextMenu.jsx +0 -106
  82. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/Metric.jsx +0 -106
  83. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/data1.json +0 -140
  84. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/data2.json +0 -240
  85. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/icon.js +0 -6
  86. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/appInstall/index.js +0 -19
  87. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/data1.json +0 -145
  88. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/data2.json +0 -106
  89. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/icon.js +0 -6
  90. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/data/dataStream/index.js +0 -19
  91. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/a.js +0 -0
  92. package/demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/request.js +0 -7
@@ -4,4 +4,8 @@ order: 1
4
4
  ---
5
5
 
6
6
 
7
+ ```jsx
8
+ <DemoCode src="../../demo-src/basic/Simple.jsx" />
9
+
10
+ ```
7
11
 
@@ -10,6 +10,6 @@ order: 8
10
10
  <br/>
11
11
 
12
12
  ```jsx
13
- <DemoCode src="../3业务监控拓扑/src/CustomAlarm.jsx" />
13
+ <DemoCode src="../../demo-src/basic/CustomAlarm.jsx" />
14
14
  ```
15
15
 
@@ -8,6 +8,6 @@ order: 5
8
8
  - 支持按节点参数适配不同的默认图标
9
9
 
10
10
  ```jsx
11
- <DemoCode src="../3业务监控拓扑/src/CustomNodeIcon.jsx" />
11
+ <DemoCode src="../../demo-src/basic/CustomNodeIcon.jsx" />
12
12
  ```
13
13
 
@@ -11,6 +11,6 @@ order: 8
11
11
  <br/>
12
12
 
13
13
  ```jsx
14
- <DemoCode src="../3业务监控拓扑/src/CustomAttrAndMetric.jsx" />
14
+ <DemoCode src="../../demo-src/basic/CustomAttrAndMetric.jsx" />
15
15
  ```
16
16
 
@@ -7,5 +7,5 @@ order: 3
7
7
 
8
8
 
9
9
  ```jsx
10
- <DemoCode src="../3业务监控拓扑/src/CreateTopo.jsx" />
10
+ <DemoCode src="../../demo-src/editor/CreateTopo.jsx" />
11
11
  ```
@@ -9,6 +9,6 @@ order: 20
9
9
  - 替换节点时,相关联的连线保留
10
10
 
11
11
  ```jsx
12
- <DemoCode src="../../demo-src/basic/ReplaceNode.jsx" />
12
+ <DemoCode src="../../demo-src/editor/ReplaceNode.jsx" />
13
13
  ```
14
14
 
@@ -12,6 +12,6 @@ order: 10
12
12
  <br/>
13
13
 
14
14
  ```jsx
15
- <DemoCode src="../3业务监控拓扑/src/DisableNodeRelateResource.jsx" />
15
+ <DemoCode src="../../demo-src/editor/DisableNodeRelateResource.jsx" />
16
16
  ```
17
17
 
@@ -11,6 +11,6 @@ order: 6
11
11
  <br/>
12
12
 
13
13
  ```jsx
14
- <DemoCode src="../3业务监控拓扑/src/EditorContextMenu.jsx" />
14
+ <DemoCode src="../../demo-src/editor/EditorContextMenu.jsx" />
15
15
  ```
16
16
 
@@ -67,8 +67,7 @@ function TopoTreeSelect(props) {
67
67
  .map(item => <Item key={item.id}>{item.name}</Item>);
68
68
 
69
69
  return (
70
- <div>
71
- </div>
70
+ <div />
72
71
  )
73
72
  }
74
73
 
@@ -0,0 +1,7 @@
1
+ import createMockRequest from '../../../demo-src/createMockRequest';
2
+
3
+ const request = createMockRequest({
4
+ baseURL: '/demo/3拓扑中心/js/mock'
5
+ });
6
+
7
+ export default request;
@@ -6,6 +6,6 @@ order: 1
6
6
  <br/>
7
7
 
8
8
  ```jsx
9
- <DemoCode src="./src/AppInstallTopo.jsx" />
9
+ <DemoCode src="../../demo-src/biz/AppInstallTopo.jsx" />
10
10
  ```
11
11
 
@@ -11,5 +11,5 @@ order: 2
11
11
 
12
12
 
13
13
  ```jsx
14
- <DemoCode src="./src/DataStreamTopo.jsx" />
14
+ <DemoCode src="../../demo-src/biz/DataStreamTopo.jsx" />
15
15
  ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 选择资源按钮
3
+ order: 2
4
+ ---
5
+
6
+ <br/>
7
+
8
+
9
+ ```jsx
10
+ <DemoCode src="../../demo-src/components/ResourceSelect/ResourceSelectButtonDemo.jsx" />
11
+ ```
12
+
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 选择资源组件
3
+ order: 1
4
+ ---
5
+
6
+ <br/>
7
+
8
+
9
+ ```jsx
10
+ <DemoCode src="../../demo-src/components/ResourceSelect/ResourceSelectDemo.jsx" />
11
+ ```
12
+
package/demo/API/API.md CHANGED
@@ -40,12 +40,17 @@ order: 4
40
40
 
41
41
  | 参数 | 说明 | 类型 | 默认值 |
42
42
  | ---- | ---- | ------ | ------ |
43
- | topo | | Topo | |
44
- | titleBar | | ReactNode\|false | |
45
- | editorProps | | EditorProps | |
46
- | onRefresh | | function | |
47
- | onSave | | function | |
48
- | onRemoveElements | | function | |
43
+ | topo | 拓扑模型实例 | `Topo` | |
44
+ | titleBar | 工具栏 | `ReactNode\|false` | |
45
+ | editorProps | 编辑器参数 | `EditorProps` | |
46
+ | onRefresh | 刷新回调 | `function` | |
47
+ | onSave | 保存回调 | `function` | |
48
+ | onRemoveElements | 删除元素回调 | `function` | |
49
+ | onConnect | called when user connects two nodes | `function({ source, target })` | |
50
+ | onConnectStart | called when user starts to drag connection line | `function(event, { nodeId, handleType })` | |
51
+ | onConnectStop | called when user stops to drag connection line | `function(event)` | |
52
+ | onConnectEnd | called after user stops or connects nodes | `function(event)` | |
53
+ | onSelectionChange | called when user selects one or multiple elements | `function(elements)` | |
49
54
 
50
55
  ##### EditorProps
51
56
 
@@ -2,7 +2,7 @@ import _Button from "@alifd/next/es/button";
2
2
  import _List from "@alifd/next/es/list";
3
3
  import _Avatar from "@alifd/next/es/avatar";
4
4
  import React, { useState, useEffect, useRef, useCallback } from 'react';
5
- import SelectResource from './SelectResource';
5
+ import SelectResource from '../../../ResourceSelect/SelectResource';
6
6
  import styles from './ResourceList.module.scss';
7
7
 
8
8
  function ResourceList(props) {
@@ -121,7 +121,10 @@ export default function LayerSettingsForm(props) {
121
121
  style: {
122
122
  flex: 1
123
123
  }
124
- }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/React.createElement(ResourceList.Select, null))
124
+ }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/React.createElement(ResourceList.Select, null)),
125
+ onClick: function onClick(e) {
126
+ console.error(111, e);
127
+ }
125
128
  }, /*#__PURE__*/React.createElement(GroupNodeList, {
126
129
  topo: topo,
127
130
  group: values
@@ -13,7 +13,7 @@ var _avatar = _interopRequireDefault(require("@alifd/next/lib/avatar"));
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _SelectResource = _interopRequireDefault(require("./SelectResource"));
16
+ var _SelectResource = _interopRequireDefault(require("../../../ResourceSelect/SelectResource"));
17
17
 
18
18
  var _ResourceListModule = _interopRequireDefault(require("./ResourceList.module.scss"));
19
19
 
@@ -147,7 +147,10 @@ function LayerSettingsForm(props) {
147
147
  style: {
148
148
  flex: 1
149
149
  }
150
- }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/_react["default"].createElement(_ResourceList["default"].Select, null))
150
+ }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/_react["default"].createElement(_ResourceList["default"].Select, null)),
151
+ onClick: function onClick(e) {
152
+ console.error(111, e);
153
+ }
151
154
  }, /*#__PURE__*/_react["default"].createElement(_GroupNodeList["default"], {
152
155
  topo: topo,
153
156
  group: values
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "2.1.5-dev.3",
3
+ "version": "2.1.6",
4
4
  "description": "拓扑",
5
5
  "files": [
6
6
  "demo/",
7
+ "demo-mock/",
7
8
  "lib/",
8
9
  "es/",
9
10
  "build/",
10
- "3rd/",
11
11
  "public/"
12
12
  ],
13
13
  "main": "lib/index.js",
@@ -96,5 +96,5 @@
96
96
  "access": "public"
97
97
  },
98
98
  "license": "MIT",
99
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.1.5-dev.3/build/index.html"
99
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.1.6/build/index.html"
100
100
  }
@@ -1,7 +0,0 @@
1
- import createMockRequest from "../../../demo-src/createMockRequest";
2
-
3
- const request = createMockRequest({
4
- baseURL: '/demo/2拓扑中心/js/mock'
5
- });
6
-
7
- export default request;
@@ -1,228 +0,0 @@
1
- import React, {useState, useEffect, useRef, useCallback, useMemo} from 'react';
2
- import {Radio, Loading, Button} from '@alifd/next';
3
-
4
- // import {createTopo, Topology, TitleBar, SearchWidget} from '@riil-frontend/component-topology';
5
- import {createTopo, Topology, TitleBar, SearchWidget} from '../../../src';
6
-
7
- import request from './request';
8
- import {topoList, getData} from "./data/appInstall";
9
- import createTopoData from './data/appInstall/data1';
10
-
11
- function TopoDemo(props) {
12
-
13
- const [topoId, setTopoId] = useState('1');
14
- const [loading, setLoading] = useState(false);
15
-
16
- const topo = useMemo(() => {
17
- return createTopo({
18
- request,
19
- enableDefaultAlarmLoader: false, // 关闭内置告警推送
20
- enableDefaultMetricLoader: false, // 关闭内置指标推送
21
- ciTypes: {
22
- aaa: {
23
- tag: [
24
- { code: 'cpuRate', type: 'metric' },
25
- { code: 'memRate', type: 'metric' },
26
- ],
27
- tip: [
28
- { code: 'ipAddress', type: 'attribute' },
29
- { code: 'macAddress', type: 'attribute' },
30
- { code: 'assetState', type: 'attribute' },
31
- ],
32
- },
33
- },
34
- icons: [
35
- {
36
- id: 'ciType.aaa', // 如果以ciType.开头,节点无图标时默认按ciType匹配
37
- name: 'ciType.aaa',
38
- url: '../public/icons/c_b_server.svg', // 图片地址
39
- jsonUrl: null, // ht 拓扑使用
40
- }
41
- ],
42
- editor: {
43
- enableRelateResource: false, // 禁用左侧资源链路页签、禁用手工添加的节点关联资源
44
- }
45
- });
46
- }, []);
47
-
48
- const Provider = topo.Provider;
49
-
50
- // API:
51
-
52
- // 加载拓扑图数据
53
- const loadTopo = async (id) => {
54
- setLoading(true);
55
- // TODO 查询拓扑图,转换格式
56
- const data = await getData(id);
57
- await topo.load(data);
58
- setLoading(false)
59
- };
60
-
61
- // 初始化
62
- useEffect(async () => {
63
- await loadTopo(topoId);
64
- return () => {
65
- topo.exit();
66
- }
67
- }, []);
68
-
69
- // 创建拓扑图进入编辑模式
70
- const createAndEnterEdit = async () => {
71
- setLoading(true);
72
- // TODO 转换格式
73
- const data = createTopoData;
74
- await topo.load(data, {
75
- mode: 'edit'
76
- });
77
- setLoading(false)
78
- };
79
-
80
- // 进入编辑模式
81
- const enterEditMode = useCallback(async () => {
82
- setLoading(true);
83
- await topo.enterEditMode();
84
- setLoading(false)
85
- }, []);
86
-
87
- const renderViewerTitleBar = () => {
88
- const onSelect = async (id) => {
89
- setTopoId(id);
90
- await loadTopo(id);
91
- };
92
- return (
93
- <div style={{display: 'flex', alignItems: 'center'}}>
94
- <div style={{flex: 1}}>
95
- <Radio.Group dataSource={topoList} shape="button" size="small" value={topoId} onChange={onSelect}/> &nbsp; &nbsp;
96
- <Button type="primary" onClick={createAndEnterEdit} title="新建并进入编辑模式">新建</Button>
97
- </div>
98
- <SearchWidget topo={topo}/> &nbsp; &nbsp;
99
- <Button type="primary" onClick={enterEditMode}>编辑</Button> &nbsp; &nbsp;
100
- <Button onClick={() => { topo.exportImage() }}>导出拓扑图</Button>
101
- </div>
102
- )
103
- };
104
-
105
-
106
- // 退出编辑模式
107
- const onExitEditMode = useCallback(async () => {
108
- setLoading(true);
109
-
110
- await topo.exitEditMode();
111
- // 重新加载拓扑
112
- await loadTopo(topoId);
113
-
114
- setLoading(false)
115
- }, [topoId]);
116
-
117
- // 触发保存事件
118
- const onTriggerSaveEvent = useCallback(async () => {
119
- await topo.triggerSaveEvent()
120
- }, []);
121
- // 保存
122
- const onSave = useCallback(async (ctx) => {
123
- setLoading(true);
124
-
125
- const {saveConfig} = ctx;
126
- // 保存节点位置、样式、配置
127
- await saveConfig();
128
-
129
- // 获取拓扑图 业务节点和连线、自定义节点和连线
130
- const data = topo.getData();
131
- console.error('获取拓扑图数据', data);
132
- // TODO 保存业务信息,
133
-
134
- setLoading(false)
135
- }, [topoId]);
136
-
137
- // 更新分层数据
138
- const updateData = async () => {
139
- await topo.updateData({
140
- groups: [
141
- {
142
- "id": 20,
143
- "name": "业务层"
144
- },
145
- {
146
- "id": 19,
147
- "name": "工具层"
148
- },
149
- ],
150
- nodes: [
151
- {
152
- "id": "000000004e2f8f55",
153
- "name": "HuiJu166.2_20002",
154
- "ciType": "ruijieSwitch",
155
- "groupId": 20,
156
- "operation": "delete"
157
- },
158
- ],
159
- lines: [],
160
- })
161
- };
162
-
163
- const renderEditorTitleBar = () => {
164
- return (
165
- <div style={{display: 'flex', alignItems: 'center'}}>
166
- <div style={{flex: 1}}>拓扑图标题</div>
167
- <Button onClick={updateData}>修改分层数据</Button> &nbsp; &nbsp;
168
- <Button type="primary" onClick={onTriggerSaveEvent}>保存</Button> &nbsp; &nbsp;
169
- <Button onClick={onExitEditMode}>退出</Button>
170
- </div>
171
- )
172
- };
173
-
174
- // 编辑器参数
175
- const editorProps = {
176
- // 选择资源
177
- layerSelectResource: {
178
- ciTypes: [], // 类型过滤
179
- getTableData: async (params) => {
180
- const {
181
- current = 1,
182
- pageSize = 20,
183
- sortBy = 'displayName',
184
- sortOrder = 'asc',
185
- like,
186
- typeCode,
187
- } = params;
188
- // 从拓扑图查询已有资源列表
189
- // TODO 查询数据
190
- return {
191
- dataSource: [],
192
- total: 100,
193
- current: 1,
194
- pageSize,
195
- }
196
- },
197
- onOk: async (selected) => {
198
- // 查询、合并数据、全量更新拓扑图数据
199
-
200
- }
201
- }
202
- };
203
-
204
- return (
205
- <Loading visible={loading} style={{width: '100%'}}>
206
- <Provider>
207
- <TitleBar
208
- topo={topo}
209
- render={({isEditMode}) => isEditMode ? renderEditorTitleBar() : renderViewerTitleBar()}
210
- />
211
- <br/>
212
-
213
- <div style={{width: '100%', height: '500px', background: 'white'}}>
214
- <Topology
215
- topo={topo}
216
- titleBar={false}
217
- editorProps={editorProps}
218
- onRefresh={() => {loadTopo(topoId)}}
219
- onSave={onSave}
220
- onRemoveElements={() => {}}
221
- />
222
- </div>
223
- </Provider>
224
- </Loading>
225
- );
226
- }
227
-
228
- export default TopoDemo;