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

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 (135) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/1.js +2 -2
  3. package/build/2.js +1 -1
  4. package/build/index.css +1 -1
  5. package/build/index.js +37 -37
  6. package/demo/1/345/237/272/346/234/254/usage.md +4 -0
  7. package/demo/1/345/237/272/346/234/254//345/221/212/350/255/246/346/216/250/351/200/201.md +1 -1
  8. 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
  9. 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
  10. package/demo/2/347/274/226/350/276/221/346/250/241/345/274/217//345/210/206/345/261/202/346/267/273/345/212/240/350/265/204/346/272/220.md +11 -0
  11. package/demo/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 +11 -0
  12. 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
  13. 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
  14. 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
  15. package/demo/2/347/274/226/350/276/221/346/250/241/345/274/217//350/207/252/345/256/232/344/271/211/345/210/206/345/261/202/346/267/273/345/212/240/350/265/204/346/272/220.md +11 -0
  16. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoFull.jsx +1 -2
  17. package/demo/{2 → 3}/346/213/223/346/211/221/344/270/255/345/277/203/js/TopoViewer.jsx +0 -0
  18. 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
  19. 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
  20. 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
  21. package/demo/3/{344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/topo/v1/api/alarm.json → 346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/alarm} +0 -0
  22. package/demo/3/346/213/223/346/211/221/344/270/255/345/277/203/js/mock/topo/v1/api/alarm.json +0 -0
  23. 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
  24. 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
  25. 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
  26. 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
  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/auth/permission/2 +0 -0
  28. 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
  29. 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
  30. 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
  31. 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
  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/shape.json +0 -0
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. package/demo/3/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +7 -0
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. package/demo/API/API.md +32 -13
  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}/cmdb/v1/api/authority/ci/commonQuery +0 -0
  48. 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
  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}/model/v1/api/modelTree +0 -0
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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 → demo-mock/basic/topo/v1/api/config} +0 -0
  59. 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
  60. 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
  61. 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
  62. 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
  63. package/{demo/3/344/270/232/345/212/241/347/233/221/346/216/247/346/213/223/346/211/221/src/mock/topo/v1/api/alarm → demo-mock/basic/topo/v1/api/structure/1} +0 -0
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. package/es/common/components/ResourceTable/ResourceTable.js +31 -0
  72. package/es/common/components/ResourceTable/ResourceTable.module.scss +9 -0
  73. package/es/components/ResourceList/ResourceSelect.js +200 -0
  74. package/es/components/ResourceList/ResourceSelectConnect.js +29 -0
  75. package/es/components/ResourceList/index.js +2 -203
  76. package/es/components/ResourceSelect/DefaultResourceSelectDrawer.js +5 -0
  77. package/es/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.js +0 -0
  78. package/es/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.module.scss +0 -0
  79. package/es/components/ResourceSelect/ResourceSelectDrawer.js +51 -0
  80. package/es/components/TopoView/settings/GroupNodeList/ResourceList.js +0 -23
  81. package/es/components/TopoView/settings/GroupNodeList/ResourceSelectButton.js +37 -0
  82. package/es/components/TopoView/settings/LayerSettingsForm.js +11 -5
  83. package/es/components/TopoView/settings/Settings.js +13 -5
  84. package/es/components/TopoView/topoView.js +2 -1
  85. package/es/core/models/TopoApp.js +193 -98
  86. package/es/core/models/TopoGraphView.js +12 -7
  87. package/es/core/models/cache/CiTyeCache.js +6 -4
  88. package/es/models/topoBizMod.js +6 -2
  89. package/es/models/topoMod.js +27 -13
  90. package/es/style.js +0 -2
  91. package/es/utils/htElementUtils.js +18 -1
  92. package/es/utils/topoData.js +2 -0
  93. package/lib/common/components/ResourceTable/ResourceTable.js +48 -0
  94. package/lib/common/components/ResourceTable/ResourceTable.module.scss +9 -0
  95. package/lib/components/ResourceList/ResourceSelect.js +228 -0
  96. package/lib/components/ResourceList/ResourceSelectConnect.js +47 -0
  97. package/lib/components/ResourceList/index.js +2 -222
  98. package/lib/components/ResourceSelect/DefaultResourceSelectDrawer.js +16 -0
  99. package/lib/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.js +0 -0
  100. package/lib/components/{TopoView/settings/GroupNodeList/SelectResource → ResourceSelect/ResourceSelect}/index.module.scss +0 -0
  101. package/lib/components/ResourceSelect/ResourceSelectDrawer.js +68 -0
  102. package/lib/components/TopoView/settings/GroupNodeList/ResourceList.js +0 -25
  103. package/lib/components/TopoView/settings/GroupNodeList/ResourceSelectButton.js +52 -0
  104. package/lib/components/TopoView/settings/LayerSettingsForm.js +12 -8
  105. package/lib/components/TopoView/settings/Settings.js +13 -5
  106. package/lib/components/TopoView/topoView.js +2 -1
  107. package/lib/core/models/TopoApp.js +192 -97
  108. package/lib/core/models/TopoGraphView.js +12 -7
  109. package/lib/core/models/cache/CiTyeCache.js +6 -4
  110. package/lib/models/topoBizMod.js +6 -2
  111. package/lib/models/topoMod.js +27 -13
  112. package/lib/style.js +0 -2
  113. package/lib/utils/htElementUtils.js +20 -1
  114. package/lib/utils/topoData.js +2 -0
  115. package/package.json +3 -3
  116. package/demo/1/345/237/272/346/234/254//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 +0 -11
  117. package/demo/2/346/213/223/346/211/221/344/270/255/345/277/203/js/request.js +0 -7
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
 
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: 分层添加资源
3
+ order: 3
4
+ ---
5
+
6
+ <br/>
7
+
8
+
9
+ ```jsx
10
+ <DemoCode src="../../demo-src/editor/layer/LayerAddResource.jsx" />
11
+ ```
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: 新建进入编辑模式
3
+ order: 1
4
+ ---
5
+
6
+ <br/>
7
+
8
+
9
+ ```jsx
10
+ <DemoCode src="../../demo-src/editor/CreateTopo.jsx" />
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
 
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: 自定义分层添加资源
3
+ order: 4
4
+ ---
5
+
6
+ <br/>
7
+
8
+
9
+ ```jsx
10
+ <DemoCode src="../../demo-src/editor/layer/CustomLayerAddResource.jsx" />
11
+ ```
@@ -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
@@ -4,7 +4,7 @@ order: 4
4
4
  ---
5
5
  ## 模型
6
6
 
7
- ### createTopo(options)
7
+ ### createTopo(options): Topo
8
8
 
9
9
  - 返回:Topo
10
10
 
@@ -15,21 +15,31 @@ order: 4
15
15
  - 返回:
16
16
  ```
17
17
  {
18
+ groups: [],
18
19
  nodes: [],
19
20
  lines: [],
20
21
  customNodes: [],
21
22
  customLines: [],
22
23
  }
23
24
  ```
25
+ - `getGroups()` 获取分层/容器数据
26
+ - 返回:
27
+ ```
28
+ [{
29
+ id: 20, // 业务id
30
+ name: "业务层",
31
+ tag: 56, // 图形元素id
32
+ image: "row", // 容器时有
33
+ }]
34
+ ```
24
35
 
25
36
  - `updateData(data)` 更新数据
26
37
  - 参数:
27
38
  ```
28
39
  {
40
+ groups: [],
29
41
  nodes: [],
30
42
  lines: [],
31
- customNodes: [],
32
- customLines: [],
33
43
  }
34
44
  ```
35
45
 
@@ -40,12 +50,18 @@ order: 4
40
50
 
41
51
  | 参数 | 说明 | 类型 | 默认值 |
42
52
  | ---- | ---- | ------ | ------ |
43
- | topo | | Topo | |
44
- | titleBar | | ReactNode\|false | |
45
- | editorProps | | EditorProps | |
46
- | onRefresh | | function | |
47
- | onSave | | function | |
48
- | onRemoveElements | | function | |
53
+ | topo | 拓扑模型实例 | `Topo` | |
54
+ | titleBar | 工具栏 | `ReactNode\|false` | |
55
+ | editorProps | 编辑器参数 | `EditorProps` | |
56
+ | onRefresh | 刷新回调 | `function` | |
57
+ | onSave | 保存回调 | `function` | |
58
+ | onRemoveElements | 删除元素回调 | `function` | |
59
+ | onConnect | called when user connects two nodes | `function({ source, target })` | |
60
+ | onConnectStart | called when user starts to drag connection line | `function(event, { nodeId, handleType })` | |
61
+ | onConnectStop | called when user stops to drag connection line | `function(event)` | |
62
+ | onConnectEnd | called after user stops or connects nodes | `function(event)` | |
63
+ | onLoad | | `function(topoInstance)` | |
64
+ | onSelectionChange | called when user selects one or multiple elements | `function(elements)` | |
49
65
 
50
66
  ##### EditorProps
51
67
 
@@ -65,10 +81,13 @@ order: 4
65
81
  // 从拓扑图查询已有资源列表
66
82
  // TODO 查询数据
67
83
  return {
68
- dataSource: [],
69
- total: 100,
70
- current: 1,
71
- pageSize,
84
+ success: true,
85
+ data: {
86
+ dataSource: [],
87
+ total: 100,
88
+ current: 1,
89
+ pageSize,
90
+ }
72
91
  }
73
92
  },
74
93
  onOk: async (selected) => {
@@ -0,0 +1,31 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["selectionMode", "defaultSelected", "disabledKeys", "typeDicts", "getTableData"];
4
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
5
+ import ResourceList from "../../../components/ResourceList/ResourceSelect";
6
+ import styles from './ResourceTable.module.scss';
7
+
8
+ function ResourceTable(props, ref) {
9
+ var selectionMode = props.selectionMode,
10
+ _props$defaultSelecte = props.defaultSelected,
11
+ defaultSelected = _props$defaultSelecte === void 0 ? [] : _props$defaultSelecte,
12
+ disabledKeys = props.disabledKeys,
13
+ typeDicts = props.typeDicts,
14
+ getTableData = props.getTableData,
15
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
16
+
17
+ var initialData = {
18
+ selected: defaultSelected,
19
+ total: []
20
+ };
21
+ return /*#__PURE__*/React.createElement(ResourceList, _extends({
22
+ ref: ref,
23
+ className: styles.container,
24
+ selectionMode: selectionMode,
25
+ getTableData: getTableData,
26
+ initialData: initialData,
27
+ typeDicts: typeDicts
28
+ }, otherProps));
29
+ }
30
+
31
+ export default /*#__PURE__*/React.forwardRef(ResourceTable);
@@ -0,0 +1,9 @@
1
+ .container {
2
+ height: 100%;
3
+ :global {
4
+ .next-table-body {
5
+ height: 480px !important;
6
+ max-height: 480px !important;
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,200 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import React, { useEffect, useImperativeHandle } from 'react';
4
+ import _ from 'lodash';
5
+ import { isAvailableArray } from '@riil-frontend/utils';
6
+ import useNextFormTable from '@ahooksjs/next-form-table';
7
+ import useFilterPlugin from '@ahooksjs/use-filter-plugin';
8
+ import useSortablePlugin from '@ahooksjs/use-sortable-plugin';
9
+ import useSelectionPlugin from '@riil-frontend/component-topology-utils/es/plugins/useSelectionPlugin';
10
+ import { fetchCommonQuery } from '@riil-frontend/component-topology-utils/es/services/cmdb';
11
+ import { getTitleCell } from '@riil-frontend/component-topology-utils/es/utils/table';
12
+ import { DICT } from '@riil-frontend/component-topology-utils/es/utils/storage';
13
+ import { formatDataForTable, getIp } from '../../utils/format';
14
+ import RiilTable from '../FormTable';
15
+ var PRIMARY_KEY = 'id';
16
+
17
+ var getTableData = /*#__PURE__*/function () {
18
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
19
+ var _params$current, current, _params$pageSize, pageSize, _params$sortBy, sortBy, _params$sortOrder, sortOrder, like, typeCode, condition, ciType, data, dataSource;
20
+
21
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
22
+ while (1) {
23
+ switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _params$current = params.current, current = _params$current === void 0 ? 1 : _params$current, _params$pageSize = params.pageSize, pageSize = _params$pageSize === void 0 ? 20 : _params$pageSize, _params$sortBy = params.sortBy, sortBy = _params$sortBy === void 0 ? 'displayName' : _params$sortBy, _params$sortOrder = params.sortOrder, sortOrder = _params$sortOrder === void 0 ? 'asc' : _params$sortOrder, like = params.like, typeCode = params.typeCode;
26
+ condition = 'category(\'resource\')';
27
+
28
+ if (like) {
29
+ condition = {
30
+ conditions: condition,
31
+ searchValue: like,
32
+ searchIndexArray: ['displayName', 'ipAddress']
33
+ };
34
+ }
35
+
36
+ if (typeCode) {
37
+ ciType = typeCode.split(',');
38
+
39
+ if (typeof condition === 'string') {
40
+ condition = {
41
+ conditions: condition,
42
+ ciType: ciType
43
+ };
44
+ } else {
45
+ condition.ciType = ciType;
46
+ }
47
+ }
48
+
49
+ _context.next = 6;
50
+ return fetchCommonQuery(condition, sortBy, sortOrder, current, pageSize, '', {
51
+ usingExtraConditions: false // 绕过权限过滤
52
+
53
+ });
54
+
55
+ case 6:
56
+ data = _context.sent;
57
+ dataSource = data.content && data.content.map(function (item) {
58
+ var _item$operation;
59
+
60
+ return {
61
+ id: item.id,
62
+ displayName: item.attributes.displayName,
63
+ ipAddress: item.attributes.ipAddress,
64
+ company: item.attributes.company,
65
+ typeCode: item.typeCode,
66
+ operation: (_item$operation = item.operation) !== null && _item$operation !== void 0 ? _item$operation : null // 权限字段
67
+
68
+ };
69
+ });
70
+ return _context.abrupt("return", formatDataForTable(dataSource, data.total, data.page, data.pageSize));
71
+
72
+ case 9:
73
+ case "end":
74
+ return _context.stop();
75
+ }
76
+ }
77
+ }, _callee);
78
+ }));
79
+
80
+ return function getTableData(_x) {
81
+ return _ref.apply(this, arguments);
82
+ };
83
+ }();
84
+
85
+ var ResourceList = function ResourceList(props, ref) {
86
+ var customGetTableData = props.getTableData,
87
+ initialData = props.initialData,
88
+ selectionMode = props.selectionMode,
89
+ typeDicts = props.typeDicts,
90
+ className = props.className,
91
+ _props$showCompanyCol = props.showCompanyColumn,
92
+ showCompanyColumn = _props$showCompanyCol === void 0 ? true : _props$showCompanyCol,
93
+ children = props.children;
94
+ var _initialData$selected = initialData.selected,
95
+ selectedByMe = _initialData$selected === void 0 ? [] : _initialData$selected,
96
+ _initialData$total = initialData.total,
97
+ total = _initialData$total === void 0 ? selectedByMe : _initialData$total;
98
+
99
+ var disabledKeys = _.difference(total, selectedByMe);
100
+
101
+ var plugins = [useSortablePlugin({
102
+ resetWhenQuery: false,
103
+ defaultValue: {
104
+ displayName: 'asc'
105
+ }
106
+ }), useFilterPlugin(), useSelectionPlugin({
107
+ primaryKey: PRIMARY_KEY,
108
+ mode: selectionMode,
109
+ checkIsNeedReset: function checkIsNeedReset() {
110
+ return false;
111
+ },
112
+ checkIsDisabled: function checkIsDisabled(record) {
113
+ return disabledKeys.some(function (item) {
114
+ return item === record[PRIMARY_KEY];
115
+ });
116
+ }
117
+ })];
118
+
119
+ var _useNextFormTable = useNextFormTable(customGetTableData || getTableData, {
120
+ plugins: plugins
121
+ }),
122
+ formProps = _useNextFormTable.formProps,
123
+ tableProps = _useNextFormTable.tableProps,
124
+ paginationProps = _useNextFormTable.paginationProps,
125
+ getSelectedRowKeys = _useNextFormTable.getSelectedRowKeys,
126
+ setSelectedRowKeys = _useNextFormTable.setSelectedRowKeys;
127
+
128
+ useEffect(function () {
129
+ if (setSelectedRowKeys) {
130
+ setSelectedRowKeys(selectedByMe);
131
+ }
132
+ }, [selectedByMe]);
133
+ var selectedKeys = getSelectedRowKeys && getSelectedRowKeys();
134
+ useImperativeHandle(ref, function () {
135
+ return {
136
+ getSelectedData: function getSelectedData() {
137
+ return selectedKeys;
138
+ }
139
+ };
140
+ });
141
+
142
+ if (selectedKeys) {
143
+ paginationProps.checkedLen = selectedKeys.length;
144
+ }
145
+
146
+ var filters = {
147
+ typeCode: typeDicts // company: [],
148
+
149
+ };
150
+ var columns = [{
151
+ title: '设备名称',
152
+ dataIndex: 'displayName',
153
+ sortable: true,
154
+ cell: getTitleCell
155
+ }, {
156
+ title: 'IP地址',
157
+ dataIndex: 'ipAddress',
158
+ sortable: true,
159
+ cell: function cell(ip) {
160
+ return getTitleCell(getIp(ip));
161
+ }
162
+ }, {
163
+ title: '类型',
164
+ dataIndex: 'typeCode',
165
+ filters: filters.typeCode,
166
+ cell: function cell(code) {
167
+ var dict = typeDicts && typeDicts.find(function (item) {
168
+ return item.value === code;
169
+ });
170
+ var name = dict && dict.label || code;
171
+ return getTitleCell(name);
172
+ }
173
+ }];
174
+
175
+ if (showCompanyColumn) {
176
+ columns.push({
177
+ title: '厂商',
178
+ sortable: true,
179
+ dataIndex: 'company',
180
+ cell: function cell(code) {
181
+ var dict = DICT.get(code);
182
+ var name = dict && dict.name || code;
183
+ return getTitleCell(name);
184
+ }
185
+ });
186
+ }
187
+
188
+ return /*#__PURE__*/React.createElement(RiilTable, {
189
+ className: className,
190
+ formProps: formProps,
191
+ tableProps: tableProps,
192
+ paginationProps: paginationProps,
193
+ filters: filters,
194
+ columns: columns,
195
+ showChecked: !!selectionMode,
196
+ showPageSizeSelector: true
197
+ }, children);
198
+ };
199
+
200
+ export default /*#__PURE__*/React.forwardRef(ResourceList);