@riil-frontend/component-topology 6.0.0-alpha.4 → 6.0.0-alpha.41

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 (335) 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/es/components/ColorPanel/components/ColorBlock/index.js +37 -0
  6. package/es/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
  7. package/es/components/ColorPanel/components/FontColorRange/index.js +35 -0
  8. package/es/components/ColorPanel/components/FontColorRange/index.module.scss +25 -0
  9. package/es/components/ColorPanel/index.js +237 -0
  10. package/es/components/ColorPanel/index.module.scss +35 -0
  11. package/es/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
  12. package/es/components/collapse/Collapse.js +22 -3
  13. package/es/components/collapse/Collapse.module.scss +24 -0
  14. package/es/components/collapse/index.js +2 -0
  15. package/es/core/common/hooks/useHtElements.js +21 -0
  16. package/es/core/common/icons/icon.js +41 -0
  17. package/es/core/common/icons/useIcons.js +8 -16
  18. package/es/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  19. package/es/core/components/AlarmListPanel/components/index.module.scss +5 -5
  20. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  21. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +9 -3
  22. package/es/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +122 -0
  23. package/es/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  24. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
  25. package/es/core/components/TopoView/GraphViewPanel.js +21 -0
  26. package/es/core/components/TopoView/editor.module.scss +1 -0
  27. package/es/core/components/TopoView/topoView.js +29 -49
  28. package/es/core/components/titlebar/TitleBar.module.scss +1 -1
  29. package/es/core/editor/components/EditorPlugin.js +2 -1
  30. package/es/core/editor/components/Sidebar/Sidebar.js +41 -50
  31. package/es/core/editor/components/Sidebar/panes.js +32 -0
  32. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +38 -0
  33. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
  34. package/es/core/editor/components/Sidebar/views/CanvasPanel/index.js +1 -1
  35. package/es/core/editor/components/Sidebar/views/CanvasPanel/themes.js +63 -0
  36. package/es/core/editor/components/Sidebar/views/CanvasPanel/useCanvasThemeConfig.js +115 -0
  37. package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +3 -3
  38. package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +14 -6
  39. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +14 -5
  40. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
  41. package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +20 -7
  42. package/es/core/editor/components/Toolbar/EditorToolbar.js +23 -13
  43. package/es/core/editor/components/Toolbar/Toolbar.js +1 -1
  44. package/es/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
  45. package/es/core/editor/components/Toolbar/buttons.js +20 -18
  46. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  47. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +2 -2
  48. package/es/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  49. package/es/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  50. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +46 -2
  51. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +98 -6
  52. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +184 -3
  53. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  54. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +53 -0
  55. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  56. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
  57. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +74 -6
  58. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +70 -16
  59. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
  60. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +25 -11
  61. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +29 -13
  62. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +100 -39
  63. package/es/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +3 -2
  64. package/es/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -4
  65. package/es/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +109 -0
  66. package/es/core/editor/components/Toolbar/widgets/IconSelect/constant.js +64 -0
  67. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.js +101 -0
  68. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  69. package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +49 -0
  70. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +99 -0
  71. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  72. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +42 -0
  73. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  74. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +75 -0
  75. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  76. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +23 -0
  77. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +10 -0
  78. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  79. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  80. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  81. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  82. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +31 -0
  83. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  84. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +128 -15
  85. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +95 -23
  86. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  87. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +15 -5
  88. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -7
  89. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +98 -13
  90. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  91. package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +15 -22
  92. package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  93. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
  94. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
  95. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
  96. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +16 -6
  97. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +49 -0
  98. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +59 -0
  99. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +30 -0
  100. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +25 -0
  101. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +41 -0
  102. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +14 -0
  103. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +49 -0
  104. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +36 -0
  105. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +32 -0
  106. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +71 -0
  107. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
  108. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +52 -0
  109. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
  110. package/es/core/editor/components/settings/CloseablePanel.js +33 -0
  111. package/es/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  112. package/es/core/editor/components/settings/OpenPropertyPanelListener.js +33 -0
  113. package/es/core/editor/components/settings/PropertyView.js +29 -8
  114. package/es/core/editor/components/settings/Settings.js +4 -44
  115. package/es/core/editor/components/settings/Settings.module.scss +8 -4
  116. package/es/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
  117. package/es/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +80 -0
  118. package/es/core/editor/components/settings/common/AlignSetting/index.js +20 -72
  119. package/es/core/editor/components/settings/common/LineType/index.js +12 -119
  120. package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +3 -3
  121. package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +31 -21
  122. package/es/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +7 -6
  123. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +11 -19
  124. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  125. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  126. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +8 -9
  127. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  128. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  129. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  130. package/es/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +9 -6
  131. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
  132. package/es/core/editor/hooks/useKeyboardShortcut.js +42 -0
  133. package/es/core/{store/models → editor/store}/background.js +0 -0
  134. package/es/core/{store/models → editor/store}/historyManager.js +0 -0
  135. package/es/core/editor/store/topoEdit.js +49 -0
  136. package/es/core/editor/utils/edgeTypeStyleUtil.js +96 -0
  137. package/es/core/editor/utils/textStyleUtil.js +0 -0
  138. package/es/core/hooks/useCanvasTheme.js +61 -0
  139. package/es/core/hooks/usePolling.js +2 -5
  140. package/es/core/hooks/useTopoEdit.js +38 -58
  141. package/es/core/models/Alarm.js +2 -2
  142. package/es/core/models/AttributeMetricDisplay.js +4 -0
  143. package/es/core/models/HistoryManager.js +11 -3
  144. package/es/core/models/SelectionManager.js +28 -9
  145. package/es/core/models/TopoApp.js +1 -1
  146. package/es/core/models/TopoGraphView.js +8 -2
  147. package/es/core/models/selection/ignoreList.js +1 -0
  148. package/es/core/models/utils/linkUtils.js +5 -6
  149. package/es/core/store/coreModels.js +6 -7
  150. package/es/core/store/models/selection.js +2 -1
  151. package/es/core/store/models/topoBizMod.js +0 -3
  152. package/es/core/store/models/topoConfig.js +10 -12
  153. package/es/core/store/models/topoMod.js +26 -28
  154. package/es/core/utils/edgeUtil.js +6 -0
  155. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
  156. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
  157. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  158. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  159. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  160. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  161. package/es/networkTopo/createTopo.js +2 -0
  162. package/es/networkTopo/services/link.js +2 -2
  163. package/es/networkTopo/store/topoTreeMod.js +6 -7
  164. package/es/style.js +1 -0
  165. package/es/utils/htElementUtils.js +3 -0
  166. package/es/utils/topoData.js +1 -0
  167. package/lib/components/ColorPanel/components/ColorBlock/index.js +47 -0
  168. package/lib/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
  169. package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
  170. package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +25 -0
  171. package/lib/components/ColorPanel/index.js +255 -0
  172. package/lib/components/ColorPanel/index.module.scss +35 -0
  173. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
  174. package/lib/components/collapse/Collapse.js +28 -3
  175. package/lib/components/collapse/Collapse.module.scss +24 -0
  176. package/lib/components/collapse/index.js +11 -0
  177. package/lib/core/common/hooks/useHtElements.js +27 -0
  178. package/lib/core/common/icons/icon.js +48 -0
  179. package/lib/core/common/icons/useIcons.js +10 -15
  180. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  181. package/lib/core/components/AlarmListPanel/components/index.module.scss +5 -5
  182. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  183. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +10 -3
  184. package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +147 -0
  185. package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  186. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
  187. package/lib/core/components/TopoView/GraphViewPanel.js +31 -0
  188. package/lib/core/components/TopoView/editor.module.scss +1 -0
  189. package/lib/core/components/TopoView/topoView.js +32 -50
  190. package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
  191. package/lib/core/editor/components/EditorPlugin.js +3 -1
  192. package/lib/core/editor/components/Sidebar/Sidebar.js +40 -53
  193. package/lib/core/editor/components/Sidebar/panes.js +45 -0
  194. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +53 -0
  195. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
  196. package/lib/core/editor/components/Sidebar/views/CanvasPanel/index.js +2 -2
  197. package/lib/core/editor/components/Sidebar/views/CanvasPanel/themes.js +72 -0
  198. package/lib/core/editor/components/Sidebar/views/CanvasPanel/useCanvasThemeConfig.js +128 -0
  199. package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  200. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +15 -6
  201. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +16 -5
  202. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
  203. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +29 -11
  204. package/lib/core/editor/components/Toolbar/EditorToolbar.js +22 -11
  205. package/lib/core/editor/components/Toolbar/Toolbar.js +1 -1
  206. package/lib/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
  207. package/lib/core/editor/components/Toolbar/buttons.js +21 -20
  208. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  209. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +2 -2
  210. package/lib/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  211. package/lib/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  212. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +48 -2
  213. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +100 -6
  214. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +194 -3
  215. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  216. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +71 -0
  217. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  218. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
  219. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +76 -5
  220. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +75 -16
  221. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
  222. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +26 -10
  223. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +30 -12
  224. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +105 -39
  225. package/lib/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +4 -2
  226. package/lib/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -3
  227. package/lib/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +126 -0
  228. package/lib/core/editor/components/Toolbar/widgets/IconSelect/constant.js +69 -0
  229. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.js +117 -0
  230. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  231. package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +61 -0
  232. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +116 -0
  233. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  234. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +55 -0
  235. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  236. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +93 -0
  237. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  238. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +32 -0
  239. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +22 -0
  240. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  241. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  242. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  243. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  244. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +44 -0
  245. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  246. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +133 -16
  247. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +98 -23
  248. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  249. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +21 -5
  250. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -6
  251. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +99 -12
  252. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  253. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +16 -22
  254. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  255. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
  256. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
  257. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
  258. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +17 -6
  259. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +63 -0
  260. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +72 -0
  261. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +45 -0
  262. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +40 -0
  263. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +57 -0
  264. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +28 -0
  265. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +64 -0
  266. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +52 -0
  267. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +47 -0
  268. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +83 -0
  269. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
  270. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +65 -0
  271. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
  272. package/lib/core/editor/components/settings/CloseablePanel.js +46 -0
  273. package/lib/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  274. package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +43 -0
  275. package/lib/core/editor/components/settings/PropertyView.js +32 -8
  276. package/lib/core/editor/components/settings/Settings.js +4 -44
  277. package/lib/core/editor/components/settings/Settings.module.scss +8 -4
  278. package/lib/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
  279. package/lib/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +97 -0
  280. package/lib/core/editor/components/settings/common/AlignSetting/index.js +21 -80
  281. package/lib/core/editor/components/settings/common/LineType/index.js +13 -126
  282. package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +2 -2
  283. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +32 -23
  284. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +6 -6
  285. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +12 -20
  286. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  287. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  288. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +6 -8
  289. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  290. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  291. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  292. package/lib/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +7 -5
  293. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
  294. package/lib/core/editor/hooks/useKeyboardShortcut.js +52 -0
  295. package/lib/core/{store/models → editor/store}/background.js +0 -0
  296. package/lib/core/{store/models → editor/store}/historyManager.js +0 -0
  297. package/lib/core/editor/store/topoEdit.js +59 -0
  298. package/lib/core/editor/utils/edgeTypeStyleUtil.js +109 -0
  299. package/lib/core/editor/utils/textStyleUtil.js +1 -0
  300. package/lib/core/hooks/useCanvasTheme.js +75 -0
  301. package/lib/core/hooks/usePolling.js +2 -5
  302. package/lib/core/hooks/useTopoEdit.js +39 -60
  303. package/lib/core/models/Alarm.js +2 -2
  304. package/lib/core/models/AttributeMetricDisplay.js +4 -0
  305. package/lib/core/models/HistoryManager.js +11 -3
  306. package/lib/core/models/SelectionManager.js +30 -9
  307. package/lib/core/models/TopoApp.js +1 -1
  308. package/lib/core/models/TopoGraphView.js +8 -2
  309. package/lib/core/models/selection/ignoreList.js +6 -0
  310. package/lib/core/models/utils/linkUtils.js +5 -6
  311. package/lib/core/store/coreModels.js +5 -7
  312. package/lib/core/store/models/selection.js +2 -1
  313. package/lib/core/store/models/topoBizMod.js +0 -3
  314. package/lib/core/store/models/topoConfig.js +9 -18
  315. package/lib/core/store/models/topoMod.js +27 -29
  316. package/lib/core/utils/edgeUtil.js +6 -0
  317. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
  318. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
  319. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  320. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  321. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  322. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  323. package/lib/networkTopo/createTopo.js +3 -0
  324. package/lib/networkTopo/services/link.js +2 -2
  325. package/lib/networkTopo/store/topoTreeMod.js +6 -8
  326. package/lib/style.js +1 -0
  327. package/lib/utils/htElementUtils.js +5 -0
  328. package/lib/utils/topoData.js +1 -0
  329. package/package.json +5 -4
  330. package/es/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -4
  331. package/es/core/store/models/topoEdit.js +0 -39
  332. package/es/core/store/models/topoView.js +0 -36
  333. package/lib/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -12
  334. package/lib/core/store/models/topoEdit.js +0 -51
  335. package/lib/core/store/models/topoView.js +0 -47
@@ -5,10 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
8
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
11
 
10
12
  var _react = _interopRequireWildcard(require("react"));
11
13
 
14
+ var _edgeTypeStyleUtil = require("../../../../utils/edgeTypeStyleUtil");
15
+
12
16
  var _DropdownButton = _interopRequireDefault(require("../components/DropdownButton"));
13
17
 
14
18
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
@@ -33,13 +37,97 @@ function EdgeColorButton(props) {
33
37
 
34
38
  var _useState = (0, _react.useState)(true),
35
39
  disabled = _useState[0],
36
- setDisabled = _useState[1]; // 选中的元素
40
+ setDisabled = _useState[1];
41
+
42
+ var _useState2 = (0, _react.useState)(1),
43
+ lineWidth = _useState2[0],
44
+ setLineWidth = _useState2[1]; // 拓扑图是否加载
45
+
46
+
47
+ var _topo$store$useModelS = topo.store.useModelState('topoMod'),
48
+ graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
49
+
50
+
51
+ var selection = topo.selectionManager.useHtSelection();
52
+
53
+ var loopEdges = function loopEdges(edges, operateEdgeFn) {
54
+ edges.forEach(function (edge) {
55
+ operateEdgeFn(edge);
56
+ });
57
+ };
37
58
 
59
+ var getLines = function getLines(list) {
60
+ // eslint-disable-next-line prefer-const
61
+ var arr = [];
62
+ loopEdges(list, function (edge) {
63
+ // eslint-disable-next-line eqeqeq
64
+ if (edge.getAttrObject().type == 'line') {
65
+ arr.push(edge);
66
+ }
67
+ });
68
+ return arr;
69
+ };
38
70
 
39
- var selection = topo.selectionManager.useSelection();
40
71
  (0, _react.useEffect)(function () {
41
- setDisabled(false);
42
- }, [selection]);
72
+ if (graphLoaded) {
73
+ var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
74
+ var list = getLines(edges);
75
+ setLineWidth(1); // eslint-disable-next-line eqeqeq
76
+
77
+ if (selection.length == 1 && selection[0].a('type') == 'line') {
78
+ setLineWidth(list[0] && (list[0].a('styles') && list[0].a('styles').width || list[0].getStyleMap()['edge.width']) || 2);
79
+ }
80
+
81
+ setDisabled(!list.length);
82
+ }
83
+ }, [selection, graphLoaded]);
84
+
85
+ var colorOnChange = function colorOnChange(colors, type) {
86
+ // eslint-disable-next-line eqeqeq
87
+ if (type == 'select') topo.historyManager.beginTransaction();
88
+ var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
89
+ loopEdges(edges, function (edge) {
90
+ // eslint-disable-next-line eqeqeq
91
+ if (edge.getAttrObject().type == 'line') {
92
+ var color = colors.hex;
93
+ edge.s('edge.color', color);
94
+ edge.s('edge.dash.color', color);
95
+ var style = edge.a('styles') || {};
96
+ edge.a('styles', (0, _extends2["default"])({}, style, {
97
+ color: color
98
+ }));
99
+ }
100
+ }); // eslint-disable-next-line eqeqeq
101
+
102
+ if (type == 'select') topo.historyManager.endTransaction();
103
+ };
104
+
105
+ var onPickerFocus = function onPickerFocus() {
106
+ // topo.getHtTopo().getGraphView().dm().sm().ld()
107
+ topo.historyManager.beginTransaction();
108
+ };
109
+
110
+ var onPickerBlur = function onPickerBlur() {
111
+ topo.historyManager.endTransaction();
112
+ };
113
+
114
+ var lineSizeChange = function lineSizeChange(width) {
115
+ var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
116
+ topo.historyManager.beginTransaction();
117
+ loopEdges(edges, function (edge) {
118
+ // eslint-disable-next-line eqeqeq
119
+ if (edge.getAttrObject().type == 'line') {
120
+ edge.s('edge.dash.width', width);
121
+ edge.s('edge.width', width);
122
+ var style = edge.a('styles') || {};
123
+ edge.a('styles', (0, _extends2["default"])({}, style, {
124
+ width: width
125
+ }));
126
+ }
127
+ });
128
+ topo.historyManager.endTransaction();
129
+ };
130
+
43
131
  var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
44
132
  src: "/img/topo/editor/toolbar/\u7EBF\u6761\u586B\u5145/Disable.svg",
45
133
  alt: ""
@@ -50,12 +138,18 @@ function EdgeColorButton(props) {
50
138
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
51
139
  label: "\u7EBF\u6761\u989C\u8272",
52
140
  tooltip: "\u7EBF\u6761\u989C\u8272",
53
- showLabel: showLabel
141
+ showLabel: showLabel,
142
+ disabled: disabled
54
143
  }, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
55
144
  disabled: disabled,
56
145
  trigger: icon
57
146
  }, /*#__PURE__*/_react["default"].createElement(_Content["default"], {
58
- topo: topo
147
+ topo: topo,
148
+ onChange: colorOnChange,
149
+ onPickerFocus: onPickerFocus,
150
+ onPickerBlur: onPickerBlur,
151
+ lineSizeChange: lineSizeChange,
152
+ lineWidth: lineWidth
59
153
  })));
60
154
  }
61
155
 
@@ -5,12 +5,203 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
9
+
10
+ var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
11
+
12
+ var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _EdgeTypeModule = _interopRequireDefault(require("./EdgeType.module.scss"));
17
+
18
+ var _LineType = _interopRequireDefault(require("./LineType"));
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var FormItem = _form["default"].Item;
25
+ var Option = _select["default"].Option;
26
+ var START_TYPE_OPTIONS = [{
27
+ value: 'nil',
28
+ label: '无',
29
+ icon: 'topo_startEndPoint_icon_nothing'
30
+ }, // {
31
+ // value: 'sourceNoneCircle',
32
+ // label: '空心圆',
33
+ // icon: 'topo_startPoint_icon_hollow_cricle',
34
+ // },
35
+ {
36
+ value: 'sourceSolidCircle',
37
+ label: '实心圆',
38
+ icon: 'topo_startPoint_icon_solid_cricle'
39
+ }, {
40
+ value: 'sourceArrow',
41
+ label: '箭头',
42
+ icon: 'topo_startPoint_icon_arrow'
43
+ }];
44
+ var END_TYPE_OPTIONS = [{
45
+ value: 'nil',
46
+ label: '无',
47
+ icon: 'topo_startEndPoint_icon_nothing'
48
+ }, // {
49
+ // value: 'targetNoneCircle',
50
+ // label: '空心圆',
51
+ // icon: 'topo_endPoint_icon_hollow_cricle',
52
+ // },
53
+ {
54
+ value: 'targetSolidCircle',
55
+ label: '实心圆',
56
+ icon: 'topo_endPoint_icon_solid_cricle'
57
+ }, {
58
+ value: 'targetArrow',
59
+ label: '箭头',
60
+ icon: 'topo_endPoint_icon_arrow'
61
+ }];
62
+ var LINE_MOLD_OPTIONS = [{
63
+ value: 'solidLine',
64
+ label: '实线',
65
+ icon: 'topo_lineMold_solid'
66
+ }, {
67
+ value: 'dottedLine',
68
+ label: '虚线',
69
+ icon: 'topo_lineMold_dotted'
70
+ }, {
71
+ value: 'dottedLine1',
72
+ label: '虚线1',
73
+ icon: 'topo_lineMold_dotted_one'
74
+ }, {
75
+ value: 'dottedLine2',
76
+ label: '虚线2',
77
+ icon: 'topo_lineMold_dotted_two'
78
+ }];
79
+
80
+ function getValuesBySelection(selection) {
81
+ var values = {
82
+ startPoint: undefined,
83
+ endPoint: undefined,
84
+ lineMold: undefined
85
+ }; // 仅一条连线选中时回显
86
+
87
+ if (selection.length === 1) {
88
+ var edge = selection[0];
89
+ values = {
90
+ startPoint: 'nil',
91
+ endPoint: 'nil',
92
+ lineMold: edge.a('lineMode') || 'solidLine'
93
+ };
94
+ var icons = edge.s('icons') || {};
95
+ ['sourceArrow', 'sourceSolidCircle', 'sourceNoneCircle'].forEach(function (name) {
96
+ if (icons[name]) {
97
+ values.startPoint = name;
98
+ }
99
+ });
100
+ ['targetArrow', 'targetSolidCircle', 'targetNoneCircle'].forEach(function (name) {
101
+ if (icons[name]) {
102
+ values.endPoint = name;
103
+ }
104
+ });
105
+ }
106
+
107
+ return values;
108
+ }
9
109
 
10
110
  function EdgeType(props) {
11
- // const { } = props
12
- return /*#__PURE__*/_react["default"].createElement("div", null, "\u7EBF\u5F62\u8BBE\u7F6E");
111
+ var selection = props.selection,
112
+ _onChange = props.onChange;
113
+
114
+ var field = _field["default"].useField({
115
+ autoUnmount: false,
116
+ values: getValuesBySelection(selection),
117
+ onChange: function onChange(name, value) {
118
+ if (['startPoint', 'endPoint'].includes(name) && value === 'nil') {
119
+ _onChange(name, null);
120
+ } else {
121
+ _onChange(name, value);
122
+ }
123
+ }
124
+ });
125
+
126
+ (0, _react.useEffect)(function () {
127
+ field.setValues(getValuesBySelection(selection));
128
+ }, [selection]);
129
+ return /*#__PURE__*/_react["default"].createElement("div", {
130
+ className: _EdgeTypeModule["default"].lineBox
131
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
132
+ field: field,
133
+ inline: true,
134
+ labelAlign: "top"
135
+ }, /*#__PURE__*/_react["default"].createElement(FormItem, null, /*#__PURE__*/_react["default"].createElement(_LineType["default"], {
136
+ name: "lineButton"
137
+ })), /*#__PURE__*/_react["default"].createElement(FormItem, {
138
+ label: "\u8D77\u70B9"
139
+ }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
140
+ name: "startPoint",
141
+ placeholder: " ",
142
+ popupProps: {
143
+ container: function container(trigger) {
144
+ return trigger.parentNode;
145
+ }
146
+ }
147
+ }, START_TYPE_OPTIONS.map(function (item, index) {
148
+ return /*#__PURE__*/_react["default"].createElement(Option, {
149
+ value: item.value,
150
+ key: index,
151
+ title: item.label,
152
+ onchange: _onChange
153
+ }, /*#__PURE__*/_react["default"].createElement("img", {
154
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
155
+ alt: "",
156
+ className: _EdgeTypeModule["default"].iconImg
157
+ }));
158
+ }))), /*#__PURE__*/_react["default"].createElement(FormItem, {
159
+ label: "\u7EC8\u70B9"
160
+ }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
161
+ name: "endPoint",
162
+ placeholder: " ",
163
+ popupProps: {
164
+ container: function container(trigger) {
165
+ return trigger.parentNode;
166
+ }
167
+ }
168
+ }, END_TYPE_OPTIONS.map(function (item, index) {
169
+ return /*#__PURE__*/_react["default"].createElement(Option, {
170
+ value: item.value,
171
+ key: index,
172
+ title: item.label,
173
+ onchange: _onChange
174
+ }, /*#__PURE__*/_react["default"].createElement("img", {
175
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
176
+ alt: "",
177
+ className: _EdgeTypeModule["default"].iconImg
178
+ }));
179
+ }))), /*#__PURE__*/_react["default"].createElement(FormItem, {
180
+ label: "\u7C7B\u578B"
181
+ }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
182
+ name: "lineMold",
183
+ popupProps: {
184
+ container: function container(trigger) {
185
+ return trigger.parentNode;
186
+ }
187
+ },
188
+ placeholder: " "
189
+ }, LINE_MOLD_OPTIONS.map(function (item, index) {
190
+ return /*#__PURE__*/_react["default"].createElement(Option, {
191
+ value: item.value,
192
+ key: index // title={item.label}
193
+ ,
194
+ onchange: _onChange
195
+ }, /*#__PURE__*/_react["default"].createElement("img", {
196
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
197
+ alt: "",
198
+ className: _EdgeTypeModule["default"].iconImg
199
+ }));
200
+ })))));
13
201
  }
14
202
 
203
+ EdgeType.defaultProps = {
204
+ onChange: function onChange(v) {}
205
+ };
15
206
  var _default = EdgeType;
16
207
  exports["default"] = _default;
@@ -0,0 +1,44 @@
1
+ @import '~@alifd/next/variables.scss';
2
+
3
+ .lineBox{
4
+ width: 236px;
5
+ background: #FFFFFF;
6
+ border-radius: 4px;
7
+ margin-bottom: -7px;
8
+
9
+ :global {
10
+ .#{$css-prefix}form-item:first-child{
11
+ margin-top: 0;
12
+ margin-bottom: 0;
13
+ }
14
+ .#{$css-prefix}form-item {
15
+ margin-top: 7px;
16
+ margin-bottom: 7px;
17
+ }
18
+ .#{$css-prefix}form.#{$css-prefix}inline .#{$css-prefix}form-item:not(:last-child) {
19
+ margin-right: 8px;
20
+ .#{$css-prefix}select-trigger {
21
+ min-width: 0;
22
+ width: 64px;
23
+ height: 28px;
24
+ .#{$css-prefix}select-inner {
25
+ min-width:0 !important;
26
+ }
27
+ }
28
+ }
29
+ .#{$css-prefix}form.#{$css-prefix}inline .#{$css-prefix}form-item:last-child{
30
+ .#{$css-prefix}select-trigger {
31
+ min-width: 0;
32
+ width: 88px;
33
+ height: 28px;
34
+ .#{$css-prefix}select-inner {
35
+ min-width:0 !important;
36
+ }
37
+ }
38
+ }
39
+ .#{$css-prefix}input.#{$css-prefix}medium .#{$css-prefix}input-text-field {
40
+ line-height: calc(28px - 10px * 2);
41
+ padding: 0 7px;
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
9
+
10
+ var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _LineTypeModule = _interopRequireDefault(require("./LineType.module.scss"));
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ var Tooltip = _balloon["default"].Tooltip;
21
+ var LINE_TYPE_OPTIONS = [{
22
+ value: 'boundary',
23
+ label: '直线',
24
+ icon: 'topo_linear_icon_straightline'
25
+ }, {
26
+ value: 'oposite',
27
+ label: '内向双向箭头',
28
+ icon: 'topo_linear_icon_narrow_straightline'
29
+ }, {
30
+ value: 'h.v',
31
+ label: '折线',
32
+ icon: 'topo_linear_icon_vertical_foldline'
33
+ }, {
34
+ value: 'ortho',
35
+ label: '双折线',
36
+ icon: 'topo_linear_icon_bilinear'
37
+ }, {
38
+ value: 'flex',
39
+ label: '双弧线',
40
+ icon: 'topo_linear_icon_arcline'
41
+ }];
42
+
43
+ var LineType = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
44
+ var onChange = props.onChange;
45
+
46
+ function lineButton(item) {
47
+ return /*#__PURE__*/_react["default"].createElement(_button["default"], {
48
+ className: "" + _LineTypeModule["default"].redioBtn,
49
+ onClick: function onClick() {
50
+ onChange(item.value);
51
+ }
52
+ }, /*#__PURE__*/_react["default"].createElement("img", {
53
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
54
+ alt: "",
55
+ className: _LineTypeModule["default"].iconImg
56
+ }));
57
+ }
58
+
59
+ return /*#__PURE__*/_react["default"].createElement("div", {
60
+ className: _LineTypeModule["default"].lineType
61
+ }, LINE_TYPE_OPTIONS.map(function (item, index) {
62
+ return /*#__PURE__*/_react["default"].createElement(Tooltip, {
63
+ trigger: lineButton(item),
64
+ align: "br",
65
+ key: index
66
+ }, item.label);
67
+ }));
68
+ });
69
+
70
+ var _default = LineType;
71
+ exports["default"] = _default;
@@ -0,0 +1,31 @@
1
+ .lineType{
2
+ display:flex;
3
+ .redioBtn {
4
+ width: 24px;
5
+ height: 24px;
6
+ border-radius: 4px;
7
+ border: none !important;
8
+ color: #4D6277;
9
+ padding: 0;
10
+ margin-right: 16px;
11
+ text-align: center;
12
+
13
+ .iconImg {
14
+ vertical-align: middle;
15
+ }
16
+
17
+ &:active {
18
+ background: #F2F7FD !important;
19
+ }
20
+
21
+ &:hover {
22
+ background: #F2F7FD !important;
23
+ }
24
+ }
25
+ .redioBtn:last-child{
26
+ margin-right: 0;
27
+ }
28
+ }
29
+ .iconImg {
30
+ vertical-align: middle;
31
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.LINE_MOLD_MAP = exports.EDGE_END_POINT_TYPE_MAP = void 0;
5
+ var EDGE_END_POINT_TYPE_MAP = {
6
+ // 起点箭头
7
+ sourceArrow: {
8
+ names: ['sourceArrow'],
9
+ position: 15,
10
+ height: 15,
11
+ width: 37.5,
12
+ offsetX: -2,
13
+ keepOrien: true
14
+ },
15
+ // 起点实心圆
16
+ sourceSolidCircle: {
17
+ names: ['sourceSolidCircle'],
18
+ position: 15,
19
+ height: 12.5,
20
+ width: 25,
21
+ offsetX: 3,
22
+ keepOrien: true
23
+ },
24
+ // 起点空心圆
25
+ sourceNoneCircle: {
26
+ names: ['sourceNoneCircle'],
27
+ position: 15,
28
+ height: 12.5,
29
+ width: 25,
30
+ offsetX: 2.5,
31
+ keepOrien: true
32
+ },
33
+ // 终点箭头
34
+ targetArrow: {
35
+ names: ['targetArrow'],
36
+ position: 19,
37
+ height: 15,
38
+ width: 37.5,
39
+ offsetX: 3,
40
+ keepOrien: true
41
+ },
42
+ // 终点实心圆
43
+ targetSolidCircle: {
44
+ names: ['targetSolidCircle'],
45
+ position: 19,
46
+ height: 12.5,
47
+ width: 25,
48
+ offsetX: 0.5,
49
+ keepOrien: true
50
+ },
51
+ // 终点空心圆
52
+ targetNoneCircle: {
53
+ names: ['targetNoneCircle'],
54
+ position: 19,
55
+ height: 12.5,
56
+ width: 25,
57
+ offsetX: -0.5,
58
+ keepOrien: true
59
+ }
60
+ };
61
+ exports.EDGE_END_POINT_TYPE_MAP = EDGE_END_POINT_TYPE_MAP;
62
+ var LINE_MOLD_MAP = {
63
+ solidLine: {
64
+ lineType: 'solid',
65
+ dashPattern: null
66
+ },
67
+ dottedLine: {
68
+ lineType: 'dash',
69
+ dashPattern: 1 // lineType为dash生效。为空默认为1。值:1/2/3
70
+
71
+ },
72
+ dottedLine1: {
73
+ lineType: 'dash',
74
+ dashPattern: 3 // lineType为dash生效。为空默认为1。值:1/2/3
75
+
76
+ },
77
+ dottedLine2: {
78
+ lineType: 'dash',
79
+ dashPattern: 2 // lineType为dash生效。为空默认为1。值:1/2/3
80
+
81
+ }
82
+ };
83
+ exports.LINE_MOLD_MAP = LINE_MOLD_MAP;
@@ -5,14 +5,20 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
8
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
11
 
10
12
  var _react = _interopRequireWildcard(require("react"));
11
13
 
14
+ var _edgeTypeStyleUtil = require("../../../../utils/edgeTypeStyleUtil");
15
+
12
16
  var _DropdownButton = _interopRequireDefault(require("../components/DropdownButton"));
13
17
 
14
18
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
15
19
 
20
+ var _constants = require("./constants");
21
+
16
22
  var _EdgeType = _interopRequireDefault(require("./EdgeType"));
17
23
 
18
24
  var _excluded = ["topo", "showLabel"];
@@ -33,13 +39,74 @@ function EdgeTypeButton(props) {
33
39
 
34
40
  var _useState = (0, _react.useState)(true),
35
41
  disabled = _useState[0],
36
- setDisabled = _useState[1]; // 选中的元素
42
+ setDisabled = _useState[1]; // 拓扑图是否加载
43
+
44
+
45
+ var _topo$store$useModelS = topo.store.useModelState('topoMod'),
46
+ graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
37
47
 
38
48
 
39
- var selection = topo.selectionManager.useSelection();
49
+ var selection = topo.selectionManager.useHtSelection();
40
50
  (0, _react.useEffect)(function () {
41
- setDisabled(false);
42
- }, [selection]);
51
+ if (graphLoaded) {
52
+ var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
53
+ setDisabled(!edges.length);
54
+ }
55
+ }, [selection, graphLoaded]);
56
+
57
+ var handleChange = function handleChange(name, value) {
58
+ var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
59
+ var htTopo = topo.getHtTopo();
60
+
61
+ if (name === 'lineButton') {
62
+ (0, _edgeTypeStyleUtil.setEdgesType)(edges, value, topo);
63
+ return;
64
+ }
65
+
66
+ (0, _edgeTypeStyleUtil.setEdgesAndChildren)(topo, edges, function (edge) {
67
+ if (name === 'startPoint') {
68
+ // 删除设置
69
+ ['sourceArrow', 'sourceSolidCircle', 'sourceNoneCircle'].forEach(function (iconName) {
70
+ return edge.removeStyleIcon(iconName);
71
+ }); // 设置
72
+
73
+ var scolor = edge.a('styles') && edge.a('styles').color || edge.getStyleMap()['edge.color'];
74
+ edge.a('arrow.color', scolor || '#00B779');
75
+ edge.s('icons', (0, _extends2["default"])({}, edge.s('icons')));
76
+ edge.addStyleIcon(value, _constants.EDGE_END_POINT_TYPE_MAP[value]);
77
+ } else if (name === 'endPoint') {
78
+ // 删除设置
79
+ ['targetArrow', 'targetSolidCircle', 'targetNoneCircle'].forEach(function (iconName) {
80
+ return edge.removeStyleIcon(iconName);
81
+ }); // 设置
82
+
83
+ var _scolor = edge.a('styles') && edge.a('styles').color || edge.getStyleMap()['edge.color'];
84
+
85
+ edge.a('arrow.color', _scolor || '#00B779');
86
+ edge.s('icons', (0, _extends2["default"])({}, edge.s('icons')));
87
+ edge.addStyleIcon(value, _constants.EDGE_END_POINT_TYPE_MAP[value]);
88
+ } else if (name === 'lineMold') {
89
+ // 修改实线虚线
90
+ edge.a('lineMode', value);
91
+ htTopo.setElementStyle(edge, _constants.LINE_MOLD_MAP[value]);
92
+
93
+ if (value !== 'solid') {
94
+ var edgeWidth = edge.s('edge.width');
95
+
96
+ if (edgeWidth) {
97
+ edge.s('edge.dash.width', edgeWidth);
98
+ }
99
+
100
+ var color = edge.s('edge.color');
101
+
102
+ if (edgeWidth) {
103
+ edge.s('edge.dash.color', color);
104
+ }
105
+ }
106
+ }
107
+ });
108
+ };
109
+
43
110
  var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
44
111
  src: "/img/topo/editor/toolbar/\u7EBF\u5F62/Disable.svg",
45
112
  alt: ""
@@ -50,11 +117,15 @@ function EdgeTypeButton(props) {
50
117
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
51
118
  label: "\u7EBF\u5F62",
52
119
  tooltip: "\u7EBF\u5F62",
120
+ disabled: disabled,
53
121
  showLabel: showLabel
54
122
  }, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
55
123
  disabled: disabled,
56
124
  trigger: icon
57
- }, /*#__PURE__*/_react["default"].createElement(_EdgeType["default"], null)));
125
+ }, !disabled && /*#__PURE__*/_react["default"].createElement(_EdgeType["default"], {
126
+ selection: selection,
127
+ onChange: handleChange
128
+ })));
58
129
  }
59
130
 
60
131
  var _default = EdgeTypeButton;