@riil-frontend/component-topology 6.0.0-alpha.8 → 6.0.1

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 (398) 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 +35 -35
  5. package/demo/CHANGELOG/CHANGELOG.md +5 -0
  6. package/es/components/ColorPanel/components/ColorBlock/index.js +37 -0
  7. package/es/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
  8. package/es/components/ColorPanel/components/FontColorRange/index.js +35 -0
  9. package/es/components/ColorPanel/components/FontColorRange/index.module.scss +25 -0
  10. package/es/components/ColorPanel/index.js +259 -0
  11. package/es/components/ColorPanel/index.module.scss +35 -0
  12. package/es/components/VerticalIconTab/VerticalIconTab.js +11 -1
  13. package/es/components/VerticalIconTab/VerticalIconTab.module.scss +2 -0
  14. package/es/components/collapse/Collapse.js +22 -3
  15. package/es/components/collapse/Collapse.module.scss +24 -0
  16. package/es/components/collapse/index.js +2 -0
  17. package/es/core/common/hooks/useHtElements.js +21 -0
  18. package/es/core/common/icons/icon.js +40 -0
  19. package/es/core/common/icons/useIcons.js +8 -16
  20. package/es/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  21. package/es/core/components/AlarmListPanel/components/index.module.scss +5 -5
  22. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  23. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +9 -3
  24. package/es/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +122 -0
  25. package/es/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  26. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +84 -22
  27. package/es/core/components/TopoView/GraphViewPanel.js +22 -0
  28. package/es/core/components/TopoView/editor.module.scss +1 -0
  29. package/es/core/components/TopoView/topoView.js +30 -60
  30. package/es/core/components/titlebar/TitleBar.module.scss +1 -1
  31. package/es/core/editor/components/EditorPlugin.js +18 -2
  32. package/es/core/editor/components/Sidebar/Sidebar.js +29 -7
  33. package/es/core/editor/components/Sidebar/panes.js +10 -5
  34. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +13 -37
  35. package/es/core/editor/components/Sidebar/views/CanvasPanel/hooks/useCanvasThemeConfig.js +109 -0
  36. package/es/core/editor/components/Sidebar/views/CanvasPanel/hooks/useUpdateHtTopoDefaultTagStyle.js +27 -0
  37. package/es/core/editor/components/Sidebar/views/CanvasPanel/utils/elementThemeUtil.js +0 -0
  38. package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +3 -3
  39. package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +12 -1
  40. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +12 -1
  41. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +3 -3
  42. package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +27 -8
  43. package/es/core/editor/components/Toolbar/EditorToolbar.js +16 -9
  44. package/es/core/editor/components/Toolbar/buttons.js +20 -18
  45. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +3 -3
  46. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +3 -3
  47. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +46 -2
  48. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +98 -6
  49. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +74 -23
  50. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +1 -3
  51. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +17 -10
  52. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
  53. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +52 -5
  54. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +166 -16
  55. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +42 -0
  56. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +26 -12
  57. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +37 -12
  58. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +92 -39
  59. package/es/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +1 -1
  60. package/es/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +2 -2
  61. package/es/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +109 -0
  62. package/es/core/editor/components/Toolbar/widgets/IconSelect/constant.js +64 -0
  63. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.js +101 -0
  64. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  65. package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +49 -0
  66. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +99 -0
  67. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  68. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +42 -0
  69. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  70. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +75 -0
  71. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  72. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +23 -0
  73. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +10 -0
  74. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  75. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  76. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  77. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  78. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +31 -0
  79. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  80. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +130 -15
  81. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +107 -23
  82. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  83. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +15 -5
  84. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +50 -7
  85. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +99 -15
  86. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  87. package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +10 -4
  88. package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +10 -1
  89. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +2 -2
  90. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +4 -0
  91. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +19 -8
  92. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +21 -7
  93. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +52 -0
  94. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +67 -0
  95. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +41 -0
  96. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +65 -0
  97. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +65 -0
  98. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +14 -0
  99. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +73 -0
  100. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +69 -0
  101. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +37 -0
  102. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +124 -0
  103. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +31 -0
  104. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +98 -0
  105. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
  106. package/es/core/editor/components/plugins/AddElementThemePlugin.js +11 -0
  107. package/es/core/editor/components/settings/CloseablePanel.js +33 -0
  108. package/es/core/editor/components/settings/CloseablePanel.module.scss +21 -0
  109. package/es/core/editor/components/settings/PropertyView.js +50 -11
  110. package/es/core/editor/components/settings/Settings.js +37 -122
  111. package/es/core/editor/components/settings/Settings.module.scss +7 -11
  112. package/es/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +3 -3
  113. package/es/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +80 -0
  114. package/es/core/editor/components/settings/common/AlignSetting/index.js +20 -72
  115. package/es/core/editor/components/settings/common/GroupNodeList/ResourceList.module.scss +1 -0
  116. package/es/core/editor/components/settings/common/LineType/index.js +11 -102
  117. package/es/core/editor/components/settings/common/NameInput.js +24 -0
  118. package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +3 -3
  119. package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +31 -24
  120. package/es/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +7 -6
  121. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +21 -19
  122. package/es/core/editor/components/settings/core/PropertyViewManager.js +81 -0
  123. package/es/core/editor/components/settings/core/edgePropertyViewAdapter.js +22 -0
  124. package/es/core/editor/components/settings/core/getPropertyViewType.js +34 -0
  125. package/es/core/editor/components/settings/core/updateElementProperty.js +21 -0
  126. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
  127. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +58 -0
  128. package/es/core/editor/components/settings/propertyViews/box/NameInput.js +5 -4
  129. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +12 -3
  130. package/es/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +7 -8
  131. package/es/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +9 -23
  132. package/es/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +10 -0
  133. package/es/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  134. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +13 -21
  135. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  136. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +28 -0
  137. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +75 -0
  138. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -15
  139. package/es/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +8 -6
  140. package/es/core/editor/components/settings/propertyViews/index.js +4 -6
  141. package/es/core/editor/components/settings/propertyViews/layer/BasicSetting.js +57 -0
  142. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +11 -17
  143. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
  144. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +27 -0
  145. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +8 -9
  146. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -7
  147. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  148. package/es/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -32
  149. package/es/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +53 -0
  150. package/es/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +49 -0
  151. package/es/core/editor/components/settings/propertyViews/node/Setting/NameInput.js +5 -4
  152. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
  153. package/es/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
  154. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +5 -20
  155. package/es/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +9 -6
  156. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
  157. package/es/core/editor/config/themes.js +105 -0
  158. package/es/core/editor/hooks/useKeyboardShortcut.js +39 -0
  159. package/es/core/editor/hooks/useNewElementTheme.js +46 -0
  160. package/es/core/editor/store/topoEdit.js +44 -37
  161. package/es/core/editor/utils/edgeTypeStyleUtil.js +34 -11
  162. package/es/core/editor/utils/textStyleUtil.js +0 -0
  163. package/es/core/editor/utils/themeUtil.js +32 -0
  164. package/es/core/hooks/useCanvasTheme.js +54 -0
  165. package/es/core/hooks/useManageStatus.js +1 -9
  166. package/es/core/hooks/usePolling.js +2 -5
  167. package/es/core/hooks/useTopoEdit.js +15 -8
  168. package/es/core/models/Alarm.js +2 -2
  169. package/es/core/models/AttributeMetricDisplay.js +4 -0
  170. package/es/core/models/HistoryManager.js +13 -8
  171. package/es/core/models/{SelectionManager.js → SelectionModel.js} +55 -22
  172. package/es/core/models/TopoApp.js +6 -5
  173. package/es/core/models/selection/ignoreList.js +1 -0
  174. package/es/core/models/utils/linkUtils.js +5 -6
  175. package/es/core/store/models/customIcon.js +1 -3
  176. package/es/core/store/models/selection.js +2 -1
  177. package/es/core/store/models/topoBizMod.js +0 -3
  178. package/es/core/store/models/topoConfig.js +10 -12
  179. package/es/core/store/models/topoMod.js +26 -28
  180. package/es/core/utils/edgeUtil.js +6 -0
  181. package/es/core/utils/showGraphManageStatusUtil.js +7 -1
  182. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +18 -13
  183. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +38 -19
  184. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  185. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  186. package/es/core/viewer/components/plugins/ViewerPlugin.js +10 -4
  187. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  188. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  189. package/es/networkTopo/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +2 -1
  190. package/es/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +39 -6
  191. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -16
  192. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +37 -0
  193. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  194. package/es/networkTopo/components/editor/useEditorProps.js +1 -3
  195. package/es/networkTopo/createTopo.js +2 -0
  196. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  197. package/es/networkTopo/services/link.js +2 -2
  198. package/es/networkTopo/store/topoTreeMod.js +6 -7
  199. package/es/style.js +28 -27
  200. package/es/utils/htElementUtils.js +3 -0
  201. package/es/utils/topoData.js +1 -0
  202. package/lib/components/ColorPanel/components/ColorBlock/index.js +47 -0
  203. package/lib/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
  204. package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
  205. package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +25 -0
  206. package/lib/components/ColorPanel/index.js +278 -0
  207. package/lib/components/ColorPanel/index.module.scss +35 -0
  208. package/lib/components/VerticalIconTab/VerticalIconTab.js +14 -1
  209. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +2 -0
  210. package/lib/components/collapse/Collapse.js +28 -3
  211. package/lib/components/collapse/Collapse.module.scss +24 -0
  212. package/lib/components/collapse/index.js +11 -0
  213. package/lib/core/common/hooks/useHtElements.js +27 -0
  214. package/lib/core/common/icons/icon.js +47 -0
  215. package/lib/core/common/icons/useIcons.js +10 -15
  216. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  217. package/lib/core/components/AlarmListPanel/components/index.module.scss +5 -5
  218. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  219. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +10 -3
  220. package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +147 -0
  221. package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  222. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +84 -22
  223. package/lib/core/components/TopoView/GraphViewPanel.js +32 -0
  224. package/lib/core/components/TopoView/editor.module.scss +1 -0
  225. package/lib/core/components/TopoView/topoView.js +36 -67
  226. package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
  227. package/lib/core/editor/components/EditorPlugin.js +26 -2
  228. package/lib/core/editor/components/Sidebar/Sidebar.js +28 -6
  229. package/lib/core/editor/components/Sidebar/panes.js +10 -5
  230. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +14 -38
  231. package/lib/core/editor/components/Sidebar/views/CanvasPanel/hooks/useCanvasThemeConfig.js +123 -0
  232. package/lib/core/editor/components/Sidebar/views/CanvasPanel/hooks/useUpdateHtTopoDefaultTagStyle.js +37 -0
  233. package/lib/core/editor/components/Sidebar/views/CanvasPanel/utils/elementThemeUtil.js +1 -0
  234. package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  235. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +13 -1
  236. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +13 -1
  237. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +3 -3
  238. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +36 -12
  239. package/lib/core/editor/components/Toolbar/EditorToolbar.js +14 -7
  240. package/lib/core/editor/components/Toolbar/buttons.js +21 -20
  241. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +3 -3
  242. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +3 -3
  243. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +48 -2
  244. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +100 -6
  245. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +73 -22
  246. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +1 -3
  247. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +18 -8
  248. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
  249. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +53 -4
  250. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +172 -16
  251. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +42 -0
  252. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +27 -11
  253. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +38 -11
  254. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +96 -39
  255. package/lib/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +1 -1
  256. package/lib/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +2 -2
  257. package/lib/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +126 -0
  258. package/lib/core/editor/components/Toolbar/widgets/IconSelect/constant.js +69 -0
  259. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.js +117 -0
  260. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  261. package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +61 -0
  262. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +116 -0
  263. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  264. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +55 -0
  265. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  266. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +93 -0
  267. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  268. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +32 -0
  269. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +22 -0
  270. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  271. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  272. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  273. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  274. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +44 -0
  275. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  276. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +135 -16
  277. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +110 -23
  278. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  279. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +21 -5
  280. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +50 -6
  281. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +100 -14
  282. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  283. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +13 -4
  284. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +10 -1
  285. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +2 -2
  286. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +4 -0
  287. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +19 -8
  288. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +22 -7
  289. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +66 -0
  290. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +82 -0
  291. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +58 -0
  292. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +86 -0
  293. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +88 -0
  294. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +28 -0
  295. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +90 -0
  296. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +90 -0
  297. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +54 -0
  298. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +141 -0
  299. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +46 -0
  300. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +111 -0
  301. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
  302. package/lib/core/editor/components/plugins/AddElementThemePlugin.js +20 -0
  303. package/lib/core/editor/components/settings/CloseablePanel.js +46 -0
  304. package/lib/core/editor/components/settings/CloseablePanel.module.scss +21 -0
  305. package/lib/core/editor/components/settings/PropertyView.js +59 -12
  306. package/lib/core/editor/components/settings/Settings.js +40 -122
  307. package/lib/core/editor/components/settings/Settings.module.scss +7 -11
  308. package/lib/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +3 -3
  309. package/lib/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +97 -0
  310. package/lib/core/editor/components/settings/common/AlignSetting/index.js +21 -80
  311. package/lib/core/editor/components/settings/common/GroupNodeList/ResourceList.module.scss +1 -0
  312. package/lib/core/editor/components/settings/common/LineType/index.js +11 -109
  313. package/lib/core/editor/components/settings/common/NameInput.js +38 -0
  314. package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +2 -2
  315. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +32 -26
  316. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +6 -6
  317. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +25 -20
  318. package/lib/core/editor/components/settings/core/PropertyViewManager.js +91 -0
  319. package/lib/core/editor/components/settings/core/edgePropertyViewAdapter.js +33 -0
  320. package/lib/core/editor/components/settings/core/getPropertyViewType.js +40 -0
  321. package/lib/core/editor/components/settings/core/updateElementProperty.js +27 -0
  322. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
  323. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +76 -0
  324. package/lib/core/editor/components/settings/propertyViews/box/NameInput.js +6 -5
  325. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -3
  326. package/lib/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +9 -12
  327. package/lib/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +7 -23
  328. package/lib/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +19 -0
  329. package/lib/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  330. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +14 -25
  331. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  332. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +43 -0
  333. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +98 -0
  334. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +8 -14
  335. package/lib/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +9 -7
  336. package/lib/core/editor/components/settings/propertyViews/index.js +4 -9
  337. package/lib/core/editor/components/settings/propertyViews/layer/BasicSetting.js +75 -0
  338. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +12 -20
  339. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
  340. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +40 -0
  341. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +6 -8
  342. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +4 -6
  343. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  344. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -35
  345. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +68 -0
  346. package/lib/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +64 -0
  347. package/lib/core/editor/components/settings/propertyViews/node/Setting/NameInput.js +6 -5
  348. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
  349. package/lib/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
  350. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +5 -20
  351. package/lib/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +7 -5
  352. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
  353. package/lib/core/editor/config/themes.js +114 -0
  354. package/lib/core/editor/hooks/useKeyboardShortcut.js +49 -0
  355. package/lib/core/editor/hooks/useNewElementTheme.js +57 -0
  356. package/lib/core/editor/store/topoEdit.js +46 -40
  357. package/lib/core/editor/utils/edgeTypeStyleUtil.js +38 -11
  358. package/lib/core/editor/utils/textStyleUtil.js +1 -0
  359. package/lib/core/editor/utils/themeUtil.js +39 -0
  360. package/lib/core/hooks/useCanvasTheme.js +68 -0
  361. package/lib/core/hooks/useManageStatus.js +1 -9
  362. package/lib/core/hooks/usePolling.js +2 -5
  363. package/lib/core/hooks/useTopoEdit.js +16 -8
  364. package/lib/core/models/Alarm.js +2 -2
  365. package/lib/core/models/AttributeMetricDisplay.js +4 -0
  366. package/lib/core/models/HistoryManager.js +13 -8
  367. package/lib/core/models/{SelectionManager.js → SelectionModel.js} +57 -22
  368. package/lib/core/models/TopoApp.js +7 -5
  369. package/lib/core/models/selection/ignoreList.js +6 -0
  370. package/lib/core/models/utils/linkUtils.js +5 -6
  371. package/lib/core/store/models/customIcon.js +1 -3
  372. package/lib/core/store/models/selection.js +2 -1
  373. package/lib/core/store/models/topoBizMod.js +0 -3
  374. package/lib/core/store/models/topoConfig.js +9 -18
  375. package/lib/core/store/models/topoMod.js +27 -29
  376. package/lib/core/utils/edgeUtil.js +6 -0
  377. package/lib/core/utils/showGraphManageStatusUtil.js +7 -1
  378. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +18 -13
  379. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +38 -19
  380. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  381. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  382. package/lib/core/viewer/components/plugins/ViewerPlugin.js +11 -3
  383. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  384. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  385. package/lib/networkTopo/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +1 -0
  386. package/lib/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +45 -7
  387. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -18
  388. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +50 -0
  389. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  390. package/lib/networkTopo/components/editor/useEditorProps.js +1 -4
  391. package/lib/networkTopo/createTopo.js +3 -0
  392. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  393. package/lib/networkTopo/services/link.js +2 -2
  394. package/lib/networkTopo/store/topoTreeMod.js +6 -8
  395. package/lib/style.js +28 -27
  396. package/lib/utils/htElementUtils.js +5 -0
  397. package/lib/utils/topoData.js +1 -0
  398. package/package.json +5 -4
@@ -0,0 +1,53 @@
1
+ import _Tab from "@alifd/next/es/tab";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
4
+ import useHtElement from "../../../../../common/hooks/useHtElement";
5
+ import TabView from "../../common/tab/TabView";
6
+ import Data from "./data/Data";
7
+ import styles from "./NodePropertyView.module.scss";
8
+ import Setting from "./Setting";
9
+ export default function NodePropertyView(props) {
10
+ var _topo$options$editor;
11
+
12
+ var topo = props.topo,
13
+ topoEditApi = props.topoEditApi,
14
+ values = props.values,
15
+ onChange = props.onChange,
16
+ editorProps = props.editorProps,
17
+ settingRuntimeState = props.settingRuntimeState;
18
+ var node = useHtElement({
19
+ topo: topo,
20
+ id: values.id
21
+ });
22
+
23
+ var renderData = function renderData() {
24
+ return /*#__PURE__*/React.createElement(Data, _extends({}, props, {
25
+ node: node
26
+ }));
27
+ };
28
+
29
+ var renderSetting = function renderSetting() {
30
+ var nodeSettingViewProps = editorProps.nodeSettingViewProps;
31
+ return /*#__PURE__*/React.createElement(Setting, _extends({}, props, nodeSettingViewProps));
32
+ }; // 未绑定资源的节点,根据参数控制是否可关联资源
33
+
34
+
35
+ var showRelateResource = !!values.tag || !values.tag && ((_topo$options$editor = topo.options.editor) === null || _topo$options$editor === void 0 ? void 0 : _topo$options$editor.enableRelateResource) !== false;
36
+ var content;
37
+
38
+ if (showRelateResource) {
39
+ content = /*#__PURE__*/React.createElement(TabView, null, /*#__PURE__*/React.createElement(_Tab.Item, {
40
+ title: "\u6570\u636E",
41
+ key: "1"
42
+ }, renderData()), /*#__PURE__*/React.createElement(_Tab.Item, {
43
+ title: "\u8BBE\u7F6E",
44
+ key: "2"
45
+ }, renderSetting()));
46
+ } else {
47
+ content = renderSetting();
48
+ }
49
+
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ className: styles.NodePropertyView
52
+ }, content);
53
+ }
@@ -0,0 +1,49 @@
1
+ import _Form from "@alifd/next/es/form";
2
+ import _Field from "@alifd/next/es/field";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import React, { useEffect } from 'react';
5
+ import NameInput from "./NameInput";
6
+
7
+ function parseValues(values) {
8
+ return _extends({}, values, {
9
+ 'attrObject.customName': values['attrObject.customName'] || values['attrObject.name'],
10
+ 'attrObject.bindTopo': values['attrObject.bindTopo'] || '' // 解决切换节点时关联拓扑选项未重置
11
+
12
+ });
13
+ }
14
+
15
+ export default function BasicSetting(props) {
16
+ var topo = props.topo,
17
+ values = props.values,
18
+ _onChange = props.onChange,
19
+ editorProps = props.editorProps,
20
+ settingRuntimeState = props.settingRuntimeState,
21
+ _props$showImageSetti = props.showImageSetting,
22
+ showImageSetting = _props$showImageSetti === void 0 ? true : _props$showImageSetti;
23
+
24
+ var field = _Field.useField({
25
+ autoUnmount: false,
26
+ values: parseValues(values),
27
+ onChange: function onChange(name, value) {
28
+ var newValues = field.getValues();
29
+
30
+ _onChange(name, value, newValues);
31
+ }
32
+ });
33
+
34
+ useEffect(function () {
35
+ field.setValues(parseValues(values));
36
+ }, [values]);
37
+ return /*#__PURE__*/React.createElement(_Form, {
38
+ field: field,
39
+ labelAlign: "top",
40
+ style: {
41
+ margin: '12px 16px 0 32px'
42
+ }
43
+ }, /*#__PURE__*/React.createElement(_Form.Item, {
44
+ label: "\u56FE\u7247\u540D\u79F0"
45
+ }, /*#__PURE__*/React.createElement(NameInput, {
46
+ name: "attrObject.customName",
47
+ topo: topo
48
+ })));
49
+ }
@@ -1,7 +1,7 @@
1
- import _Input from "@alifd/next/es/input";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
2
  import React, { useEffect, useState } from 'react';
4
- var NameInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
3
+ import NameInput from "../../../common/NameInput";
4
+ var NodeNameInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
5
5
  var onChange = props.onChange,
6
6
  topo = props.topo;
7
7
 
@@ -33,12 +33,13 @@ var NameInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
33
  topo.historyManager.endTransaction();
34
34
  };
35
35
 
36
- return /*#__PURE__*/React.createElement(_Input, _extends({}, props, {
36
+ return /*#__PURE__*/React.createElement(NameInput, _extends({}, props, {
37
37
  ref: ref,
38
38
  value: value,
39
+ multipleLine: true,
39
40
  onChange: handleChange,
40
41
  onFocus: handleFocus,
41
42
  onBlur: handleBlur
42
43
  }));
43
44
  });
44
- export default NameInput;
45
+ export default NodeNameInput;
@@ -134,7 +134,8 @@ export default function Data(props) {
134
134
  style: {
135
135
  flex: 1,
136
136
  paddingRight: 16,
137
- color: "#4D6277"
137
+ color: "#4D6277",
138
+ lineHeight: '20px'
138
139
  },
139
140
  title: values.tag ? values.name : null
140
141
  }, values.tag ? values.name : "—"), /*#__PURE__*/React.createElement(NodeRelateResourceButton, {
@@ -24,6 +24,7 @@ export default function NodeRelateResourceButton(props) {
24
24
  return !hide ? /*#__PURE__*/React.createElement(_Button, {
25
25
  type: "primary",
26
26
  text: true,
27
+ size: "small",
27
28
  onClick: function onClick() {
28
29
  setVisible(true);
29
30
  }
@@ -37,7 +37,7 @@ export default function TextPropertyView(props) {
37
37
 
38
38
  _onChange('styleMap.label.color', value.color, newValues);
39
39
 
40
- var font = fontStyleUtil.build(value);
40
+ var font = fontStyleUtil.build(value.font);
41
41
 
42
42
  _onChange('styleMap.text.font', font, newValues);
43
43
 
@@ -59,23 +59,11 @@ export default function TextPropertyView(props) {
59
59
  useEffect(function () {
60
60
  field.setValues(parseValues(values));
61
61
  }, [values]);
62
- return /*#__PURE__*/React.createElement("div", {
63
- style: {
64
- paddingTop: 4
65
- }
66
- }, /*#__PURE__*/React.createElement(_Form, {
62
+ return /*#__PURE__*/React.createElement(_Form, {
67
63
  field: field,
68
- labelAlign: "top"
69
- }, /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Collapse, {
70
- defaultExpandedKeys: ['显示设置'],
71
- style: {
72
- border: 'none'
73
- }
74
- }, /*#__PURE__*/React.createElement(CollapsePanel, {
75
- key: "\u663E\u793A\u8BBE\u7F6E",
76
- title: "\u663E\u793A\u8BBE\u7F6E",
64
+ labelAlign: "top",
77
65
  style: {
78
- padding: 0
66
+ margin: '12px 16px 0 32px'
79
67
  }
80
68
  }, /*#__PURE__*/React.createElement(_Form.Item, {
81
69
  label: "\u6587\u672C"
@@ -92,8 +80,5 @@ export default function TextPropertyView(props) {
92
80
  onBlur: function onBlur() {
93
81
  topo.historyManager.endTransaction();
94
82
  }
95
- })), /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(TextStyle, {
96
- name: "styleMap.textObj",
97
- topo: topo
98
- })))))));
83
+ })));
99
84
  }
@@ -1,10 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useState, useEffect, useRef, useCallback } from 'react';
3
- import SizeInput from "../../common/SizeInput";
2
+ import React, { useState, useEffect, useRef, useCallback } from "react";
3
+ import SizeInput from "../../common/SizeInput"; // 这个似乎不需要了
4
+
4
5
  export default function BatchSetNodeSize(props) {
5
- var size = props.size;
6
+ var value = props.value,
7
+ size = props.size,
8
+ disabled = props.disabled;
6
9
  return /*#__PURE__*/React.createElement(SizeInput, _extends({}, props, {
7
- value: {}
10
+ disabled: disabled,
11
+ value: value
8
12
  }));
9
- }
10
- ;
13
+ }
@@ -1,15 +1,15 @@
1
1
  import _Box from "@alifd/next/es/box";
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import _Dialog from "@alifd/next/es/dialog";
3
4
  import _Button from "@alifd/next/es/button";
4
5
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
5
6
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
- import React from 'react';
7
+ import React, { useState, useEffect } from 'react';
7
8
  import classnames from 'classnames';
8
9
  import TitleWidget from "../../../components/titlebar/widgets/TitleWidget";
9
10
  import styles from "../../../components/titlebar/TitleBar.module.scss";
10
- import { useState } from 'react';
11
- import { useEffect } from 'react';
12
11
  import DebugTools from "./widgets/DebugTools";
12
+ import SettingButtonWidget from "../../../viewer/components/titlebar/widgets/SettingButtonWidget";
13
13
  export default function TopoEditorTitleBar(props) {
14
14
  var topo = props.topo,
15
15
  topoEditApi = props.topoEditApi;
@@ -132,5 +132,9 @@ export default function TopoEditorTitleBar(props) {
132
132
  }
133
133
  });
134
134
  }
135
- }, "\u9000\u51FA"))));
135
+ }, "\u9000\u51FA"), /*#__PURE__*/React.createElement(SettingButtonWidget, _extends({
136
+ isEditor: true
137
+ }, props, {
138
+ viewerProps: topo.viewProps.viewerProps
139
+ })))));
136
140
  }
@@ -0,0 +1,105 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ var baseLightTheme = {
3
+ color: '#FFFFFF',
4
+ globalNodeLabelColor: '#4d6277',
5
+ globalNodeLabelStyle: {
6
+ color: '#4d6277'
7
+ },
8
+ globalEdgeTagStyle: {
9
+ color: '#777B9A',
10
+ background: '#FFFFFF',
11
+ // 背景色,不传使用默认内置 @V1.2
12
+ borderColor: '#CBCBCB' // 边框颜色,不传使用默认内置。用于主题切换 @V1.2
13
+
14
+ },
15
+ text: {
16
+ color: '#4d6277'
17
+ },
18
+ group: {
19
+ style: {
20
+ 'group.title.background': '#E4E9EE',
21
+ // 标题背景颜色
22
+ 'group.title.color': '#4D6277',
23
+ // 标题文字颜色
24
+ 'group.background': 'rgba(255, 255, 255, 0.9)',
25
+ 'group.border.color': '#E4E9EE' // 边框颜色
26
+
27
+ }
28
+ },
29
+ cluster: {
30
+ style: {
31
+ 'group.title.color': '#4D6277',
32
+ // 标题文字颜色
33
+ 'group.title.background': 'rgba(229,245,253,0.6)',
34
+ // 标题背景颜色
35
+ 'group.background': 'rgba(229,245,253,0.6)',
36
+ 'group.border.color': '#C7E4F3',
37
+ // 边框颜色
38
+ 'group.border.radius': 3
39
+ }
40
+ }
41
+ };
42
+ var THEMES = [_extends({}, baseLightTheme, {
43
+ name: 'white',
44
+ label: '白色',
45
+ color: '#FFFFFF',
46
+ toolsTheme: 'lightgrayblue'
47
+ }), _extends({}, baseLightTheme, {
48
+ name: 'lightblue',
49
+ label: '蓝色',
50
+ color: '#F9FBFF',
51
+ toolsTheme: 'white'
52
+ }), // {
53
+ // name: 'yellow',
54
+ // label: '黄色',
55
+ // color: '#FFFDE6',
56
+ // },
57
+ // {
58
+ // name: 'green',
59
+ // label: '绿色',
60
+ // color: '#EAFFE8',
61
+ // },
62
+ {
63
+ name: 'dark',
64
+ label: '深色',
65
+ color: '#031425',
66
+ toolsTheme: 'black',
67
+ globalNodeLabelStyle: {
68
+ color: '#ffffff'
69
+ },
70
+ globalEdgeTagStyle: {
71
+ color: '#E4E9EE',
72
+ background: '#063658',
73
+ // 背景色,不传使用默认内置 @V1.2
74
+ borderColor: '#08A5F4' // 边框颜色,不传使用默认内置。用于主题切换 @V1.2
75
+
76
+ },
77
+ text: {
78
+ color: '#ffffff'
79
+ },
80
+ group: {
81
+ style: {
82
+ 'group.title.background': 'rgba(8,165,244,1)',
83
+ // 标题背景颜色 #08A5F4
84
+ 'group.title.color': '#FFFFFF',
85
+ // 标题文字颜色
86
+ 'group.background': 'rgba(29,55,113,0.6)',
87
+ 'group.border.color': 'rgba(8,165,244,0.8)' // 边框颜色
88
+
89
+ }
90
+ },
91
+ cluster: {
92
+ style: {
93
+ 'group.title.color': '#FFFFFF',
94
+ // 标题文字颜色
95
+ 'group.title.background': 'rgba(14,44,69,1)',
96
+ // 标题背景颜色 #0E2C45
97
+ 'group.background': 'rgba(14,44,69,1)',
98
+ // #0E2C45
99
+ 'group.border.color': '#08A5F4',
100
+ // 边框颜色
101
+ 'group.border.radius': 3
102
+ }
103
+ }
104
+ }];
105
+ export default THEMES;
@@ -0,0 +1,39 @@
1
+ import React, { useEffect } from 'react';
2
+ var ht = window.ht; // 快捷键
3
+
4
+ export default function useKeyboardShortcut(props) {
5
+ var topo = props.topo,
6
+ topoEdit = props.topoEdit;
7
+ useEffect(function () {
8
+ var handleKeyDown = function handleKeyDown(e) {
9
+ if (e.target.tagName === 'INPUT') {
10
+ return;
11
+ }
12
+
13
+ var isCtrlDown = ht.Default.isCtrlDown;
14
+
15
+ if (isCtrlDown(e)) {
16
+ if (e.keyCode === 90) {
17
+ // ctrl+z 撤销
18
+ topo.historyManager.undo();
19
+ } // else if (e.keyCode == 89) {//ctrl+y 重做
20
+ // this.redo();
21
+ // }
22
+
23
+ }
24
+
25
+ if (e.keyCode === 32) {
26
+ // 空格
27
+ var _topo$store$getModelS = topo.store.getModelState('topoEdit'),
28
+ viewMouseMode = _topo$store$getModelS.viewMouseMode;
29
+
30
+ topoEdit.setViewMouseMode(viewMouseMode === 'select' ? 'move' : 'select');
31
+ }
32
+ };
33
+
34
+ window.addEventListener('keydown', handleKeyDown);
35
+ return function () {
36
+ window.removeEventListener('keydown', handleKeyDown);
37
+ };
38
+ }, []);
39
+ }
@@ -0,0 +1,46 @@
1
+ import { useEffect } from 'react';
2
+ import THEMES from "../config/themes";
3
+ import ThemeUtil from "../utils/themeUtil";
4
+
5
+ function useNewElementTheme(props) {
6
+ var topo = props.topo;
7
+ var topoModState = topo.store.useModelState('topoMod');
8
+ var graphLoaded2 = topoModState.graphLoaded2;
9
+ useEffect(function () {
10
+ var dm = topo.getHtTopo().getGraphView().dm();
11
+ var inited = false;
12
+
13
+ if (graphLoaded2) {
14
+ dm.addDataModelChangeListener(handleDataModelChangeListener);
15
+ inited = true;
16
+ }
17
+
18
+ function handleDataModelChangeListener(e) {
19
+ var kind = e.kind,
20
+ data = e.data;
21
+
22
+ if (kind === 'add') {
23
+ var displayConfig = topo.store.getModelState('displayConfig');
24
+ var theme = displayConfig.canvasTheme || 'white';
25
+ var themeConfig = THEMES.find(function (item) {
26
+ return item.name === theme;
27
+ });
28
+
29
+ var _ThemeUtil = ThemeUtil({
30
+ topo: topo
31
+ }),
32
+ setElementTheme = _ThemeUtil.setElementTheme;
33
+
34
+ setElementTheme(data, themeConfig);
35
+ }
36
+ }
37
+
38
+ return function () {
39
+ if (inited && dm) {
40
+ dm.removeDataModelChangeListener(handleDataModelChangeListener);
41
+ }
42
+ };
43
+ }, [graphLoaded2]);
44
+ }
45
+
46
+ export default useNewElementTheme;
@@ -6,41 +6,48 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  * 拓扑编辑 Model
7
7
  */
8
8
  import rlog from '@riil-frontend/component-topology-utils/es/rlog';
9
- import topoService from '@riil-frontend/component-topology-common/es/services/topo';
10
- export default {
11
- // 定义 model 的初始 state
12
- state: {
13
- // 是否就绪
14
- ready: false,
15
- // 保存状态
16
- saving: false,
17
- // 选择/拖动模式模式。默认选择模式 select|move
18
- viewMouseMode: 'select',
19
- // 资源面板展开项
20
- resourceTabactiveKey: null
21
- },
22
- // 定义改变该模型状态的纯函数
23
- reducers: {
24
- update: function update(prevState, payload) {
25
- return _extends({}, prevState, payload);
26
- }
27
- },
28
- // 定义处理该模型副作用的函数
29
- effects: function effects(dispatch) {
30
- return {
31
- init: function init(payload, rootState) {
32
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
33
- return _regeneratorRuntime.wrap(function _callee$(_context) {
34
- while (1) {
35
- switch (_context.prev = _context.next) {
36
- case 0:
37
- case "end":
38
- return _context.stop();
39
- }
40
- }
41
- }, _callee);
42
- }))();
9
+ var initState = {
10
+ // 是否就绪
11
+ ready: false,
12
+ // 保存状态
13
+ saving: false,
14
+ // 选择/拖动模式模式。默认选择模式 select|move
15
+ viewMouseMode: 'select',
16
+ // 资源面板展开项
17
+ resourceTabActiveKey: null,
18
+ // 属性面板是否显示
19
+ propertyPanelVisible: false
20
+ };
21
+ export default function (topo) {
22
+ return {
23
+ // 定义 model 的初始 state
24
+ state: initState,
25
+ // 定义改变该模型状态的纯函数
26
+ reducers: {
27
+ update: function update(prevState, payload) {
28
+ return _extends({}, prevState, payload);
29
+ },
30
+ reset: function reset(prevState, payload) {
31
+ return _extends({}, initState);
43
32
  }
44
- };
45
- }
46
- };
33
+ },
34
+ // 定义处理该模型副作用的函数
35
+ effects: function effects(dispatch) {
36
+ return {
37
+ init: function init(payload, rootState) {
38
+ return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
39
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
40
+ while (1) {
41
+ switch (_context.prev = _context.next) {
42
+ case 0:
43
+ case "end":
44
+ return _context.stop();
45
+ }
46
+ }
47
+ }, _callee);
48
+ }))();
49
+ }
50
+ };
51
+ }
52
+ };
53
+ }
@@ -44,30 +44,53 @@ export function getEdgesBySelection(topo) {
44
44
  return getSelectedEdges(topo);
45
45
  }
46
46
  /**
47
- * 批量设置连线线形
48
- *
49
- * @param {*} edges
50
- * @param {*} type
47
+ * 遍历连线及子连线
51
48
  * @param {*} topo
49
+ * @param {*} edges
50
+ * @param {*} operateEdgeFn
52
51
  */
53
52
 
54
- export function setEdgesType(edges, type, topo) {
53
+ export function loopEdgesAndChildren(topo, edges, operateEdgeFn) {
55
54
  var htTopo = topo.getHtTopo();
56
55
  edges.forEach(function (edge) {
57
- htTopo.setGraphLinear(edge, {
58
- type: type
59
- });
56
+ operateEdgeFn(edge);
60
57
 
61
58
  if (edge.isEdgeGroupAgent()) {
62
59
  // 连线组折叠时同时设置子连线
63
60
  var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
64
61
  htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
65
62
  edgeChildren.forEach(function (edgeChild) {
66
- htTopo.setGraphLinear(edgeChild, {
67
- type: type
68
- });
63
+ operateEdgeFn(edgeChild);
69
64
  });
70
65
  htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
71
66
  }
72
67
  });
68
+ }
69
+ /**
70
+ * 设置连线及子连线。带回退事务控制
71
+ * @param {*} topo
72
+ * @param {*} edges
73
+ * @param {*} operateEdgeFn
74
+ */
75
+
76
+ export function setEdgesAndChildren(topo, edges, operateEdgeFn) {
77
+ topo.historyManager.beginTransaction();
78
+ loopEdgesAndChildren(topo, edges, operateEdgeFn);
79
+ topo.historyManager.endTransaction();
80
+ }
81
+ /**
82
+ * 批量设置连线线形
83
+ *
84
+ * @param {*} edges
85
+ * @param {*} type
86
+ * @param {*} topo
87
+ */
88
+
89
+ export function setEdgesType(edges, type, topo) {
90
+ var htTopo = topo.getHtTopo();
91
+ setEdgesAndChildren(topo, edges, function (edge) {
92
+ htTopo.setGraphLinear(edge, {
93
+ type: type
94
+ });
95
+ });
73
96
  }
File without changes
@@ -0,0 +1,32 @@
1
+ import { isClusterHtElement } from "../../../utils/clusterUtil";
2
+ import { getElements, isEdge, isGroup, isText } from "../../../utils/htElementUtils";
3
+ export default function ThemeUtil(props) {
4
+ var topo = props.topo;
5
+
6
+ function setElementsTheme(themeConfig) {
7
+ var dm = topo.getHtTopo().getGraphView().dm();
8
+ var elements = getElements(dm);
9
+ elements.forEach(function (element) {
10
+ setElementTheme(element, themeConfig);
11
+ });
12
+ }
13
+
14
+ function setElementTheme(element, themeConfig) {
15
+ if (isText(element)) {
16
+ element.s('text.color', themeConfig.text.color);
17
+ } else if (isGroup(element)) {
18
+ if (isClusterHtElement(element)) {
19
+ // 集群
20
+ element.s(themeConfig.cluster.style);
21
+ } else {
22
+ // 区域(非集群)
23
+ element.s(themeConfig.group.style);
24
+ }
25
+ } else if (isEdge(element)) {}
26
+ }
27
+
28
+ return {
29
+ setElementsTheme: setElementsTheme,
30
+ setElementTheme: setElementTheme
31
+ };
32
+ }
@@ -0,0 +1,54 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { useEffect } from 'react';
3
+ var themeMap = [{
4
+ name: 'white',
5
+ label: '白色',
6
+ color: null,
7
+ toolsTheme: 'lightgrayblue'
8
+ }, {
9
+ name: 'lightblue',
10
+ label: '蓝色',
11
+ color: '#F9FBFF',
12
+ toolsTheme: 'white'
13
+ }, {
14
+ name: 'yellow',
15
+ label: '黄色',
16
+ color: '#FFFDE6'
17
+ }, {
18
+ name: 'green',
19
+ label: '绿色',
20
+ color: '#EAFFE8'
21
+ }, {
22
+ name: 'dark',
23
+ label: '深色',
24
+ color: '#031425',
25
+ toolsTheme: 'black'
26
+ }].reduce(function (map, item) {
27
+ var _extends2;
28
+
29
+ return _extends({}, map, (_extends2 = {}, _extends2[item.name] = item, _extends2));
30
+ }, {});
31
+ export default function useCanvasTheme(props) {
32
+ var topo = props.topo,
33
+ themeName = props.themeName; // 拓扑图是否加载
34
+
35
+ var _topo$store$useModelS = topo.store.useModelState('topoMod'),
36
+ graphLoaded = _topo$store$useModelS.graphLoaded;
37
+
38
+ useEffect(function () {
39
+ // 设置
40
+ var themeConfig = themeMap[themeName || 'white'];
41
+
42
+ if (graphLoaded && themeConfig) {
43
+ try {
44
+ topo.getHtTopo().setTheme(themeName);
45
+ topo.getHtTopo().setToolsTheme(themeName);
46
+ } catch (error) {
47
+ console.error('切换主题失败', error);
48
+ }
49
+ }
50
+ }, [themeName, graphLoaded]);
51
+ return {
52
+ canvasColor: themeMap[themeName].color
53
+ };
54
+ }