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

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 (327) 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 +22 -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 +72 -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 +21 -18
  46. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  47. package/es/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  48. package/es/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  49. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +46 -2
  50. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +96 -5
  51. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +184 -3
  52. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  53. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +53 -0
  54. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  55. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
  56. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +74 -6
  57. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +78 -14
  58. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
  59. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +25 -11
  60. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +29 -13
  61. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +100 -39
  62. package/es/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +3 -2
  63. package/es/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -4
  64. package/es/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +109 -0
  65. package/es/core/editor/components/Toolbar/widgets/IconSelect/constant.js +64 -0
  66. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.js +101 -0
  67. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  68. package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +49 -0
  69. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +99 -0
  70. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  71. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +42 -0
  72. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  73. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +75 -0
  74. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  75. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +23 -0
  76. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +10 -0
  77. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  78. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  79. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  80. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  81. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +31 -0
  82. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  83. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +128 -15
  84. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +95 -23
  85. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  86. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +15 -5
  87. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -7
  88. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +98 -13
  89. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  90. package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +15 -22
  91. package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  92. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
  93. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
  94. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
  95. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +16 -6
  96. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +49 -0
  97. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +61 -0
  98. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +30 -0
  99. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +18 -0
  100. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +41 -0
  101. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +14 -0
  102. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +47 -0
  103. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +25 -0
  104. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +32 -0
  105. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +71 -0
  106. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
  107. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +38 -0
  108. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
  109. package/es/core/editor/components/settings/CloseablePanel.js +33 -0
  110. package/es/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  111. package/es/core/editor/components/settings/OpenPropertyPanelListener.js +33 -0
  112. package/es/core/editor/components/settings/PropertyView.js +29 -8
  113. package/es/core/editor/components/settings/Settings.js +4 -44
  114. package/es/core/editor/components/settings/Settings.module.scss +8 -4
  115. package/es/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
  116. package/es/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +80 -0
  117. package/es/core/editor/components/settings/common/AlignSetting/index.js +20 -72
  118. package/es/core/editor/components/settings/common/LineType/index.js +12 -119
  119. package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +3 -3
  120. package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +31 -21
  121. package/es/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +7 -6
  122. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +11 -19
  123. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  124. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  125. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +8 -9
  126. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  127. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  128. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  129. package/es/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +9 -6
  130. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
  131. package/es/core/editor/hooks/useKeyboardShortcut.js +42 -0
  132. package/es/core/{store/models → editor/store}/background.js +0 -0
  133. package/es/core/{store/models → editor/store}/historyManager.js +0 -0
  134. package/es/core/editor/store/topoEdit.js +49 -0
  135. package/es/core/editor/utils/edgeTypeStyleUtil.js +96 -0
  136. package/es/core/editor/utils/textStyleUtil.js +0 -0
  137. package/es/core/hooks/useCanvasTheme.js +49 -0
  138. package/es/core/hooks/usePolling.js +2 -5
  139. package/es/core/hooks/useTopoEdit.js +38 -58
  140. package/es/core/models/Alarm.js +2 -2
  141. package/es/core/models/AttributeMetricDisplay.js +4 -0
  142. package/es/core/models/HistoryManager.js +10 -3
  143. package/es/core/models/SelectionManager.js +16 -1
  144. package/es/core/models/TopoApp.js +1 -1
  145. package/es/core/models/TopoGraphView.js +8 -2
  146. package/es/core/models/utils/linkUtils.js +1 -1
  147. package/es/core/store/coreModels.js +6 -7
  148. package/es/core/store/models/selection.js +2 -1
  149. package/es/core/store/models/topoBizMod.js +0 -3
  150. package/es/core/store/models/topoMod.js +26 -28
  151. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
  152. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
  153. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  154. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  155. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  156. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  157. package/es/networkTopo/createTopo.js +2 -0
  158. package/es/networkTopo/services/link.js +2 -2
  159. package/es/networkTopo/store/topoTreeMod.js +6 -7
  160. package/es/style.js +1 -0
  161. package/es/utils/htElementUtils.js +3 -0
  162. package/es/utils/topoData.js +1 -0
  163. package/lib/components/ColorPanel/components/ColorBlock/index.js +47 -0
  164. package/lib/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
  165. package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
  166. package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +22 -0
  167. package/lib/components/ColorPanel/index.js +255 -0
  168. package/lib/components/ColorPanel/index.module.scss +35 -0
  169. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
  170. package/lib/components/collapse/Collapse.js +28 -3
  171. package/lib/components/collapse/Collapse.module.scss +24 -0
  172. package/lib/components/collapse/index.js +11 -0
  173. package/lib/core/common/hooks/useHtElements.js +27 -0
  174. package/lib/core/common/icons/icon.js +48 -0
  175. package/lib/core/common/icons/useIcons.js +10 -15
  176. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  177. package/lib/core/components/AlarmListPanel/components/index.module.scss +5 -5
  178. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  179. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +10 -3
  180. package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +147 -0
  181. package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  182. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
  183. package/lib/core/components/TopoView/GraphViewPanel.js +31 -0
  184. package/lib/core/components/TopoView/editor.module.scss +1 -0
  185. package/lib/core/components/TopoView/topoView.js +32 -50
  186. package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
  187. package/lib/core/editor/components/EditorPlugin.js +3 -1
  188. package/lib/core/editor/components/Sidebar/Sidebar.js +40 -53
  189. package/lib/core/editor/components/Sidebar/panes.js +45 -0
  190. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +53 -0
  191. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
  192. package/lib/core/editor/components/Sidebar/views/CanvasPanel/index.js +2 -2
  193. package/lib/core/editor/components/Sidebar/views/CanvasPanel/themes.js +77 -0
  194. package/lib/core/editor/components/Sidebar/views/CanvasPanel/useCanvasThemeConfig.js +128 -0
  195. package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  196. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +15 -6
  197. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +16 -5
  198. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
  199. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +29 -11
  200. package/lib/core/editor/components/Toolbar/EditorToolbar.js +22 -11
  201. package/lib/core/editor/components/Toolbar/Toolbar.js +1 -1
  202. package/lib/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
  203. package/lib/core/editor/components/Toolbar/buttons.js +22 -20
  204. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  205. package/lib/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  206. package/lib/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  207. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +48 -2
  208. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +98 -5
  209. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +194 -3
  210. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  211. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +71 -0
  212. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  213. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
  214. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +76 -5
  215. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +83 -14
  216. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
  217. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +26 -10
  218. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +30 -12
  219. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +105 -39
  220. package/lib/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +4 -2
  221. package/lib/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -3
  222. package/lib/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +126 -0
  223. package/lib/core/editor/components/Toolbar/widgets/IconSelect/constant.js +69 -0
  224. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.js +117 -0
  225. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  226. package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +61 -0
  227. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +116 -0
  228. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  229. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +55 -0
  230. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  231. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +93 -0
  232. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  233. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +32 -0
  234. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +22 -0
  235. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  236. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  237. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  238. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  239. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +44 -0
  240. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  241. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +133 -16
  242. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +98 -23
  243. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
  244. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +21 -5
  245. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -6
  246. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +99 -12
  247. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  248. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +16 -22
  249. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  250. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
  251. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
  252. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
  253. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +17 -6
  254. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +63 -0
  255. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +74 -0
  256. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +45 -0
  257. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +28 -0
  258. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +57 -0
  259. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +28 -0
  260. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +62 -0
  261. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +40 -0
  262. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +47 -0
  263. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +83 -0
  264. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
  265. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +49 -0
  266. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
  267. package/lib/core/editor/components/settings/CloseablePanel.js +46 -0
  268. package/lib/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  269. package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +43 -0
  270. package/lib/core/editor/components/settings/PropertyView.js +32 -8
  271. package/lib/core/editor/components/settings/Settings.js +4 -44
  272. package/lib/core/editor/components/settings/Settings.module.scss +8 -4
  273. package/lib/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
  274. package/lib/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +97 -0
  275. package/lib/core/editor/components/settings/common/AlignSetting/index.js +21 -80
  276. package/lib/core/editor/components/settings/common/LineType/index.js +13 -126
  277. package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +2 -2
  278. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +32 -23
  279. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +6 -6
  280. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +12 -20
  281. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  282. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  283. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +6 -8
  284. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  285. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  286. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  287. package/lib/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +7 -5
  288. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
  289. package/lib/core/editor/hooks/useKeyboardShortcut.js +52 -0
  290. package/lib/core/{store/models → editor/store}/background.js +0 -0
  291. package/lib/core/{store/models → editor/store}/historyManager.js +0 -0
  292. package/lib/core/editor/store/topoEdit.js +59 -0
  293. package/lib/core/editor/utils/edgeTypeStyleUtil.js +109 -0
  294. package/lib/core/editor/utils/textStyleUtil.js +1 -0
  295. package/lib/core/hooks/useCanvasTheme.js +63 -0
  296. package/lib/core/hooks/usePolling.js +2 -5
  297. package/lib/core/hooks/useTopoEdit.js +39 -60
  298. package/lib/core/models/Alarm.js +2 -2
  299. package/lib/core/models/AttributeMetricDisplay.js +4 -0
  300. package/lib/core/models/HistoryManager.js +10 -3
  301. package/lib/core/models/SelectionManager.js +17 -1
  302. package/lib/core/models/TopoApp.js +1 -1
  303. package/lib/core/models/TopoGraphView.js +8 -2
  304. package/lib/core/models/utils/linkUtils.js +1 -1
  305. package/lib/core/store/coreModels.js +5 -7
  306. package/lib/core/store/models/selection.js +2 -1
  307. package/lib/core/store/models/topoBizMod.js +0 -3
  308. package/lib/core/store/models/topoMod.js +27 -29
  309. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
  310. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
  311. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  312. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  313. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  314. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  315. package/lib/networkTopo/createTopo.js +3 -0
  316. package/lib/networkTopo/services/link.js +2 -2
  317. package/lib/networkTopo/store/topoTreeMod.js +6 -8
  318. package/lib/style.js +1 -0
  319. package/lib/utils/htElementUtils.js +5 -0
  320. package/lib/utils/topoData.js +1 -0
  321. package/package.json +5 -4
  322. package/es/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -4
  323. package/es/core/store/models/topoEdit.js +0 -39
  324. package/es/core/store/models/topoView.js +0 -36
  325. package/lib/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -12
  326. package/lib/core/store/models/topoEdit.js +0 -51
  327. package/lib/core/store/models/topoView.js +0 -47
@@ -1,19 +1,30 @@
1
- .toolbarContainer {
2
- height: 54px;
1
+ .toolbarWrap {
3
2
  display: flex;
4
3
  align-items: center;
5
4
  justify-content: center;
5
+ transition: all .1s linear;
6
+
7
+ &.normal {
8
+ height: 54px;
9
+ }
10
+
11
+ &.expanded {
12
+ height: 40px;
13
+ }
6
14
  }
7
15
 
8
16
  .content {
17
+ height: 100%;
9
18
  flex: 1;
10
19
  display: flex;
11
20
  align-items: center;
12
21
  justify-content: center;
22
+ overflow-x: auto;
13
23
  }
14
24
 
15
- .widgets {
25
+ .toolbarContainer {
16
26
  display: flex;
27
+ min-width: 1060px;
17
28
  }
18
29
 
19
30
  .right {
@@ -16,21 +16,24 @@ import BoxBackgroundButton from "./widgets/BoxBackgroundButton";
16
16
  import EdgeColorButton from "./widgets/EdgeColorButton";
17
17
  import NodeImageButton from "./widgets/NodeImageButton";
18
18
  import NodeSizeButton from "./widgets/NodeSizeButton";
19
- export default [AddResourceButton, // 添加资源
20
- Divider, CanvasSelectWidget, // 选择
21
- CanvasMoveWidget, // 移动
22
- Divider, HistoryUndoButton, // 撤销
23
- HistoryRedoButton, // 恢复
24
- Divider, FontFamilyWidget, // 字体
25
- FontSizeWidget, // 字号
26
- FontStyleButton, // 文字样式
27
- FontColorButton, // 文字颜色
28
- Divider, BoxBackgroundButton, // 框背景
29
- Divider, EdgeColorButton, // 线条颜色
30
- EdgeTypeButton, // 线形
31
- Divider, NodeImageButton, // 替换图片
32
- NodeSizeButton, // 图片尺寸
33
- Divider, Layout, // 布局方式
34
- NodeAlignWidget, // 对齐方式
35
- SearchWidget // 搜索
36
- ];
19
+ export default function getButtons(isNetworkTopo) {
20
+ return [].concat(isNetworkTopo ? [AddResourceButton, // 添加资源
21
+ Divider] : [], [CanvasSelectWidget, // 选择
22
+ CanvasMoveWidget, // 移动
23
+ Divider], isNetworkTopo ? [HistoryUndoButton, // 撤销
24
+ // HistoryRedoButton, // 恢复
25
+ Divider] : [], [FontFamilyWidget, // 字体
26
+ FontSizeWidget, // 字号
27
+ FontStyleButton, // 文字样式
28
+ FontColorButton, // 文字颜色
29
+ Divider, // BoxBackgroundButton, // 框背景
30
+ // Divider,
31
+ EdgeColorButton, // 线条颜色
32
+ EdgeTypeButton, // 线形
33
+ Divider, NodeImageButton, // 替换图片
34
+ NodeSizeButton, // 图片尺寸
35
+ Divider, Layout, // 布局方式
36
+ NodeAlignWidget // 对齐方式
37
+ // SearchWidget, // 搜索
38
+ ]);
39
+ }
@@ -27,16 +27,16 @@ function AddResourceButton(props) {
27
27
 
28
28
  var _useState = useState(getAddType(selection)),
29
29
  addType = _useState[0],
30
- setAddType = _useState[1]; // 选中分层添加
30
+ setAddType = _useState[1];
31
31
 
32
+ useEffect(function () {
33
+ setAddType(getAddType(selection));
34
+ }, [selection]); // 选中分层添加
32
35
 
33
36
  var layerAddResource = useLayerAddResource({
34
37
  topo: topo,
35
38
  topoEdit: topoEdit
36
39
  });
37
- useEffect(function () {
38
- setAddType(getAddType(selection));
39
- }, [selection]);
40
40
 
41
41
  var handleClick = function handleClick() {
42
42
  if (!addType) {
@@ -48,11 +48,12 @@ function AddResourceButton(props) {
48
48
  } else if (addType === 'group') {
49
49
  // 选中区域添加资源
50
50
  var group = selection[0];
51
- topoEdit.groupAddResource.open(group);
51
+ var htGroup = topo.getHtTopo().getGraphView().getDataModel().getDataById(group.id);
52
+ topoEdit.groupAddResource.open(htGroup);
52
53
  }
53
54
  };
54
55
 
55
- return /*#__PURE__*/React.createElement(WidgetBox, {
56
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WidgetBox, {
56
57
  label: "\u6DFB\u52A0\u8D44\u6E90",
57
58
  tooltip: "\u6DFB\u52A0\u8D44\u6E90",
58
59
  showLabel: showLabel
@@ -61,7 +62,7 @@ function AddResourceButton(props) {
61
62
  }, /*#__PURE__*/React.createElement("img", {
62
63
  src: "/img/topo/editor/toolbar/add/Normal.svg",
63
64
  alt: ""
64
- })), addType === 'layer' && /*#__PURE__*/React.createElement(LayerAddResourceDrawer, {
65
+ }))), addType === 'layer' && /*#__PURE__*/React.createElement(LayerAddResourceDrawer, {
65
66
  layer: selection[0],
66
67
  editorProps: editorProps,
67
68
  layerAddResource: layerAddResource
@@ -3,12 +3,23 @@ import WidgetBox from "./WidgetBox";
3
3
  import ButtonBox from "./components/ButtonBox";
4
4
 
5
5
  function CanvasMoveWidget(props) {
6
- var showLabel = props.showLabel;
6
+ var topo = props.topo,
7
+ showLabel = props.showLabel,
8
+ topoEdit = props.topoEdit;
9
+
10
+ var _topo$store$useModelS = topo.store.useModelState('topoEdit'),
11
+ viewMouseMode = _topo$store$useModelS.viewMouseMode;
12
+
7
13
  return /*#__PURE__*/React.createElement(WidgetBox, {
8
14
  label: "\u79FB\u52A8",
9
15
  tooltip: "\u79FB\u52A8",
10
16
  showLabel: showLabel
11
- }, /*#__PURE__*/React.createElement(ButtonBox, null, /*#__PURE__*/React.createElement("img", {
17
+ }, /*#__PURE__*/React.createElement(ButtonBox, {
18
+ active: viewMouseMode === 'move',
19
+ onClick: function onClick() {
20
+ topoEdit.setViewMouseMode('move');
21
+ }
22
+ }, /*#__PURE__*/React.createElement("img", {
12
23
  src: "/img/topo/editor/toolbar/drag/Normal.svg",
13
24
  alt: ""
14
25
  })));
@@ -3,13 +3,22 @@ import WidgetBox from "./WidgetBox";
3
3
  import ButtonBox from "./components/ButtonBox";
4
4
 
5
5
  function CanvasSelectWidget(props) {
6
- var showLabel = props.showLabel;
6
+ var topo = props.topo,
7
+ showLabel = props.showLabel,
8
+ topoEdit = props.topoEdit;
9
+
10
+ var _topo$store$useModelS = topo.store.useModelState('topoEdit'),
11
+ viewMouseMode = _topo$store$useModelS.viewMouseMode;
12
+
7
13
  return /*#__PURE__*/React.createElement(WidgetBox, {
8
14
  label: "\u9009\u62E9",
9
15
  tooltip: "\u9009\u62E9",
10
16
  showLabel: showLabel
11
17
  }, /*#__PURE__*/React.createElement(ButtonBox, {
12
- active: true
18
+ active: viewMouseMode === 'select',
19
+ onClick: function onClick() {
20
+ topoEdit.setViewMouseMode('select');
21
+ }
13
22
  }, /*#__PURE__*/React.createElement("img", {
14
23
  src: "/img/topo/editor/toolbar/select/Normal.svg",
15
24
  alt: ""
@@ -1,8 +1,52 @@
1
+ /* eslint-disable no-undef */
2
+
3
+ /* eslint-disable jsx-a11y/alt-text */
1
4
  import React from 'react';
5
+ import ColorPanel from "../../../../../../components/ColorPanel";
6
+ import FontColorRange from "../../../../../../components/ColorPanel/components/FontColorRange";
2
7
 
3
8
  function Content(props) {
4
- // const { } = props
5
- return /*#__PURE__*/React.createElement("div", null, "xxx");
9
+ var topo = props.topo,
10
+ onChange = props.onChange,
11
+ onPickerFocus = props.onPickerFocus,
12
+ onPickerBlur = props.onPickerBlur,
13
+ lineSizeChange = props.lineSizeChange,
14
+ lineWidth = props.lineWidth;
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ style: {
17
+ marginTop: '6px',
18
+ marginLeft: '12px',
19
+ marginBottom: '6px'
20
+ }
21
+ }, /*#__PURE__*/React.createElement("div", null, "\u7EBF"), /*#__PURE__*/React.createElement("div", {
22
+ style: {
23
+ width: 183,
24
+ display: 'flex',
25
+ marginTop: '8px'
26
+ }
27
+ }, /*#__PURE__*/React.createElement("img", {
28
+ style: {
29
+ width: 14,
30
+ height: 14
31
+ },
32
+ src: "/img/topo/editor/toolbar/\u7EBF\u6761\u586B\u5145/\u8FB9\u6846.svg",
33
+ title: "\u7EBF\u6761\u5BBD\u5EA6"
34
+ }), /*#__PURE__*/React.createElement(FontColorRange, {
35
+ defaultValue: lineWidth,
36
+ min: 1,
37
+ max: 10,
38
+ list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
39
+ onChange: lineSizeChange
40
+ })), /*#__PURE__*/React.createElement("div", {
41
+ style: {
42
+ marginTop: '5px',
43
+ marginLeft: '-5px'
44
+ }
45
+ }, /*#__PURE__*/React.createElement(ColorPanel, {
46
+ onChange: onChange,
47
+ onPickerFocus: onPickerFocus,
48
+ onPickerBlur: onPickerBlur
49
+ })));
6
50
  }
7
51
 
8
52
  export default Content;
@@ -1,6 +1,8 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
3
  var _excluded = ["topo", "showLabel"];
3
4
  import React, { useEffect, useState } from 'react';
5
+ import { getEdgesBySelection } from "../../../../utils/edgeTypeStyleUtil";
4
6
  import DropdownButton from "../components/DropdownButton";
5
7
  import WidgetBox from "../WidgetBox";
6
8
  import Content from "./Content";
@@ -17,13 +19,97 @@ function EdgeColorButton(props) {
17
19
 
18
20
  var _useState = useState(true),
19
21
  disabled = _useState[0],
20
- setDisabled = _useState[1]; // 选中的元素
22
+ setDisabled = _useState[1];
21
23
 
24
+ var _useState2 = useState(1),
25
+ lineWidth = _useState2[0],
26
+ setLineWidth = _useState2[1]; // 拓扑图是否加载
27
+
28
+
29
+ var _topo$store$useModelS = topo.store.useModelState('topoMod'),
30
+ graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
31
+
32
+
33
+ var selection = topo.selectionManager.useHtSelection();
34
+
35
+ var loopEdges = function loopEdges(edges, operateEdgeFn) {
36
+ edges.forEach(function (edge) {
37
+ operateEdgeFn(edge);
38
+ });
39
+ };
40
+
41
+ var getLines = function getLines(list) {
42
+ // eslint-disable-next-line prefer-const
43
+ var arr = [];
44
+ loopEdges(list, function (edge) {
45
+ // eslint-disable-next-line eqeqeq
46
+ if (edge.getAttrObject().type == 'line') {
47
+ arr.push(edge);
48
+ }
49
+ });
50
+ return arr;
51
+ };
22
52
 
23
- var selection = topo.selectionManager.useSelection();
24
53
  useEffect(function () {
25
- setDisabled(false);
26
- }, [selection]);
54
+ if (graphLoaded) {
55
+ var edges = getEdgesBySelection(topo);
56
+ var list = getLines(edges);
57
+ setLineWidth(1); // eslint-disable-next-line eqeqeq
58
+
59
+ if (selection.length == 1 && selection[0].a('type') == 'line') {
60
+ setLineWidth(list[0] && (list[0].a('styles') && list[0].a('styles').width || list[0].getStyleMap()['edge.width']) || 2);
61
+ }
62
+
63
+ setDisabled(!list.length);
64
+ }
65
+ }, [selection, graphLoaded]);
66
+
67
+ var colorOnChange = function colorOnChange(colors, type) {
68
+ // eslint-disable-next-line eqeqeq
69
+ if (type == 'select') topo.historyManager.beginTransaction();
70
+ var edges = getEdgesBySelection(topo);
71
+ loopEdges(edges, function (edge) {
72
+ // eslint-disable-next-line eqeqeq
73
+ if (edge.getAttrObject().type == 'line') {
74
+ var color = colors.hex;
75
+ edge.s('edge.color', color);
76
+ edge.s('edge.dash.color', color);
77
+ var style = edge.a('styles') || {};
78
+ edge.a('styles', _extends({}, style, {
79
+ color: color
80
+ }));
81
+ }
82
+ }); // eslint-disable-next-line eqeqeq
83
+
84
+ if (type == 'select') topo.historyManager.endTransaction();
85
+ };
86
+
87
+ var onPickerFocus = function onPickerFocus() {
88
+ // topo.getHtTopo().getGraphView().dm().sm().ld()
89
+ topo.historyManager.beginTransaction();
90
+ };
91
+
92
+ var onPickerBlur = function onPickerBlur() {
93
+ topo.historyManager.endTransaction();
94
+ };
95
+
96
+ var lineSizeChange = function lineSizeChange(width) {
97
+ var edges = getEdgesBySelection(topo);
98
+ topo.historyManager.beginTransaction();
99
+ loopEdges(edges, function (edge) {
100
+ // eslint-disable-next-line eqeqeq
101
+ if (edge.getAttrObject().type == 'line') {
102
+ edge.s('edge.dash.width', width);
103
+ edge.s('edge.width', width);
104
+ var style = edge.a('styles') || {};
105
+ edge.a('styles', _extends({}, style, {
106
+ width: width
107
+ }));
108
+ }
109
+ });
110
+ topo.historyManager.endTransaction();
111
+ };
112
+
27
113
  var icon = disabled ? /*#__PURE__*/React.createElement("img", {
28
114
  src: "/img/topo/editor/toolbar/\u7EBF\u6761\u586B\u5145/Disable.svg",
29
115
  alt: ""
@@ -39,7 +125,12 @@ function EdgeColorButton(props) {
39
125
  disabled: disabled,
40
126
  trigger: icon
41
127
  }, /*#__PURE__*/React.createElement(Content, {
42
- topo: topo
128
+ topo: topo,
129
+ onChange: colorOnChange,
130
+ onPickerFocus: onPickerFocus,
131
+ onPickerBlur: onPickerBlur,
132
+ lineSizeChange: lineSizeChange,
133
+ lineWidth: lineWidth
43
134
  })));
44
135
  }
45
136
 
@@ -1,8 +1,189 @@
1
- import React from 'react';
1
+ import _Field from "@alifd/next/es/field";
2
+ import _Select from "@alifd/next/es/select";
3
+ import _Form from "@alifd/next/es/form";
4
+ import React, { useEffect } from 'react';
5
+ import styles from "./EdgeType.module.scss";
6
+ import LineType from "./LineType";
7
+ var FormItem = _Form.Item;
8
+ var Option = _Select.Option;
9
+ var START_TYPE_OPTIONS = [{
10
+ value: 'nil',
11
+ label: '无',
12
+ icon: 'topo_startEndPoint_icon_nothing'
13
+ }, // {
14
+ // value: 'sourceNoneCircle',
15
+ // label: '空心圆',
16
+ // icon: 'topo_startPoint_icon_hollow_cricle',
17
+ // },
18
+ {
19
+ value: 'sourceSolidCircle',
20
+ label: '实心圆',
21
+ icon: 'topo_startPoint_icon_solid_cricle'
22
+ }, {
23
+ value: 'sourceArrow',
24
+ label: '箭头',
25
+ icon: 'topo_startPoint_icon_arrow'
26
+ }];
27
+ var END_TYPE_OPTIONS = [{
28
+ value: 'nil',
29
+ label: '无',
30
+ icon: 'topo_startEndPoint_icon_nothing'
31
+ }, // {
32
+ // value: 'targetNoneCircle',
33
+ // label: '空心圆',
34
+ // icon: 'topo_endPoint_icon_hollow_cricle',
35
+ // },
36
+ {
37
+ value: 'targetSolidCircle',
38
+ label: '实心圆',
39
+ icon: 'topo_endPoint_icon_solid_cricle'
40
+ }, {
41
+ value: 'targetArrow',
42
+ label: '箭头',
43
+ icon: 'topo_endPoint_icon_arrow'
44
+ }];
45
+ var LINE_MOLD_OPTIONS = [{
46
+ value: 'solidLine',
47
+ label: '实线',
48
+ icon: 'topo_lineMold_solid'
49
+ }, {
50
+ value: 'dottedLine',
51
+ label: '虚线',
52
+ icon: 'topo_lineMold_dotted'
53
+ }, {
54
+ value: 'dottedLine1',
55
+ label: '虚线1',
56
+ icon: 'topo_lineMold_dotted_one'
57
+ }, {
58
+ value: 'dottedLine2',
59
+ label: '虚线2',
60
+ icon: 'topo_lineMold_dotted_two'
61
+ }];
62
+
63
+ function getValuesBySelection(selection) {
64
+ var values = {
65
+ startPoint: undefined,
66
+ endPoint: undefined,
67
+ lineMold: undefined
68
+ }; // 仅一条连线选中时回显
69
+
70
+ if (selection.length === 1) {
71
+ var edge = selection[0];
72
+ values = {
73
+ startPoint: 'nil',
74
+ endPoint: 'nil',
75
+ lineMold: edge.a('lineMode') || 'solidLine'
76
+ };
77
+ var icons = edge.s('icons') || {};
78
+ ['sourceArrow', 'sourceSolidCircle', 'sourceNoneCircle'].forEach(function (name) {
79
+ if (icons[name]) {
80
+ values.startPoint = name;
81
+ }
82
+ });
83
+ ['targetArrow', 'targetSolidCircle', 'targetNoneCircle'].forEach(function (name) {
84
+ if (icons[name]) {
85
+ values.endPoint = name;
86
+ }
87
+ });
88
+ }
89
+
90
+ return values;
91
+ }
2
92
 
3
93
  function EdgeType(props) {
4
- // const { } = props
5
- return /*#__PURE__*/React.createElement("div", null, "\u7EBF\u5F62\u8BBE\u7F6E");
94
+ var selection = props.selection,
95
+ _onChange = props.onChange;
96
+
97
+ var field = _Field.useField({
98
+ autoUnmount: false,
99
+ values: getValuesBySelection(selection),
100
+ onChange: function onChange(name, value) {
101
+ if (['startPoint', 'endPoint'].includes(name) && value === 'nil') {
102
+ _onChange(name, null);
103
+ } else {
104
+ _onChange(name, value);
105
+ }
106
+ }
107
+ });
108
+
109
+ useEffect(function () {
110
+ field.setValues(getValuesBySelection(selection));
111
+ }, [selection]);
112
+ return /*#__PURE__*/React.createElement("div", {
113
+ className: styles.lineBox
114
+ }, /*#__PURE__*/React.createElement(_Form, {
115
+ field: field,
116
+ inline: true,
117
+ labelAlign: "top"
118
+ }, /*#__PURE__*/React.createElement(FormItem, null, /*#__PURE__*/React.createElement(LineType, {
119
+ name: "lineButton"
120
+ })), /*#__PURE__*/React.createElement(FormItem, {
121
+ label: "\u8D77\u70B9"
122
+ }, /*#__PURE__*/React.createElement(_Select, {
123
+ name: "startPoint",
124
+ placeholder: " ",
125
+ popupProps: {
126
+ container: function container(trigger) {
127
+ return trigger.parentNode;
128
+ }
129
+ }
130
+ }, START_TYPE_OPTIONS.map(function (item, index) {
131
+ return /*#__PURE__*/React.createElement(Option, {
132
+ value: item.value,
133
+ key: index,
134
+ title: item.label,
135
+ onchange: _onChange
136
+ }, /*#__PURE__*/React.createElement("img", {
137
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
138
+ alt: "",
139
+ className: styles.iconImg
140
+ }));
141
+ }))), /*#__PURE__*/React.createElement(FormItem, {
142
+ label: "\u7EC8\u70B9"
143
+ }, /*#__PURE__*/React.createElement(_Select, {
144
+ name: "endPoint",
145
+ placeholder: " ",
146
+ popupProps: {
147
+ container: function container(trigger) {
148
+ return trigger.parentNode;
149
+ }
150
+ }
151
+ }, END_TYPE_OPTIONS.map(function (item, index) {
152
+ return /*#__PURE__*/React.createElement(Option, {
153
+ value: item.value,
154
+ key: index,
155
+ title: item.label,
156
+ onchange: _onChange
157
+ }, /*#__PURE__*/React.createElement("img", {
158
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
159
+ alt: "",
160
+ className: styles.iconImg
161
+ }));
162
+ }))), /*#__PURE__*/React.createElement(FormItem, {
163
+ label: "\u7C7B\u578B"
164
+ }, /*#__PURE__*/React.createElement(_Select, {
165
+ name: "lineMold",
166
+ popupProps: {
167
+ container: function container(trigger) {
168
+ return trigger.parentNode;
169
+ }
170
+ },
171
+ placeholder: " "
172
+ }, LINE_MOLD_OPTIONS.map(function (item, index) {
173
+ return /*#__PURE__*/React.createElement(Option, {
174
+ value: item.value,
175
+ key: index // title={item.label}
176
+ ,
177
+ onchange: _onChange
178
+ }, /*#__PURE__*/React.createElement("img", {
179
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
180
+ alt: "",
181
+ className: styles.iconImg
182
+ }));
183
+ })))));
6
184
  }
7
185
 
186
+ EdgeType.defaultProps = {
187
+ onChange: function onChange(v) {}
188
+ };
8
189
  export default EdgeType;
@@ -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,53 @@
1
+ import _Button from "@alifd/next/es/button";
2
+ import _Balloon from "@alifd/next/es/balloon";
3
+ import React, { useState } from 'react';
4
+ import styles from "./LineType.module.scss";
5
+ var Tooltip = _Balloon.Tooltip;
6
+ var LINE_TYPE_OPTIONS = [{
7
+ value: 'boundary',
8
+ label: '直线',
9
+ icon: 'topo_linear_icon_straightline'
10
+ }, {
11
+ value: 'oposite',
12
+ label: '内向双向箭头',
13
+ icon: 'topo_linear_icon_narrow_straightline'
14
+ }, {
15
+ value: 'h.v',
16
+ label: '折线',
17
+ icon: 'topo_linear_icon_vertical_foldline'
18
+ }, {
19
+ value: 'ortho',
20
+ label: '双折线',
21
+ icon: 'topo_linear_icon_bilinear'
22
+ }, {
23
+ value: 'flex',
24
+ label: '双弧线',
25
+ icon: 'topo_linear_icon_arcline'
26
+ }];
27
+ var LineType = /*#__PURE__*/React.forwardRef(function (props, ref) {
28
+ var onChange = props.onChange;
29
+
30
+ function lineButton(item) {
31
+ return /*#__PURE__*/React.createElement(_Button, {
32
+ className: "" + styles.redioBtn,
33
+ onClick: function onClick() {
34
+ onChange(item.value);
35
+ }
36
+ }, /*#__PURE__*/React.createElement("img", {
37
+ src: "/img/topo/editor/lineType/" + item.icon + ".svg",
38
+ alt: "",
39
+ className: styles.iconImg
40
+ }));
41
+ }
42
+
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: styles.lineType
45
+ }, LINE_TYPE_OPTIONS.map(function (item, index) {
46
+ return /*#__PURE__*/React.createElement(Tooltip, {
47
+ trigger: lineButton(item),
48
+ align: "br",
49
+ key: index
50
+ }, item.label);
51
+ }));
52
+ });
53
+ export default LineType;
@@ -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
+ }