@riil-frontend/component-topology 6.0.0-alpha.3 → 6.0.0-alpha.30

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 (269) 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 +8 -0
  7. package/es/components/ColorPanel/components/FontColorRange/index.js +35 -0
  8. package/es/components/ColorPanel/components/FontColorRange/index.module.scss +23 -0
  9. package/es/components/ColorPanel/index.js +237 -0
  10. package/es/components/ColorPanel/index.module.scss +34 -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 +23 -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 +6 -2
  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 +20 -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/Sidebar/Sidebar.js +40 -50
  30. package/es/core/editor/components/Sidebar/panes.js +32 -0
  31. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +96 -0
  32. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
  33. package/es/core/editor/components/Sidebar/views/CanvasPanel/index.js +1 -1
  34. package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +3 -3
  35. package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -5
  36. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +2 -4
  37. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
  38. package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +20 -7
  39. package/es/core/editor/components/Toolbar/EditorToolbar.js +23 -13
  40. package/es/core/editor/components/Toolbar/Toolbar.js +1 -1
  41. package/es/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
  42. package/es/core/editor/components/Toolbar/buttons.js +20 -18
  43. package/es/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +35 -0
  44. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  45. package/es/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  46. package/es/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  47. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +36 -2
  48. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +76 -5
  49. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +184 -3
  50. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  51. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +53 -0
  52. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  53. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
  54. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +59 -6
  55. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +36 -4
  56. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +35 -0
  57. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +12 -2
  58. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +12 -2
  59. package/es/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +3 -2
  60. package/es/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -4
  61. package/es/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +109 -0
  62. package/es/core/editor/components/Toolbar/widgets/IconSelect/constant.js +64 -0
  63. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.js +101 -0
  64. package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  65. package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +49 -0
  66. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +99 -0
  67. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  68. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +42 -0
  69. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  70. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +75 -0
  71. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  72. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +23 -0
  73. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +10 -0
  74. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  75. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  76. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  77. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  78. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +31 -0
  79. package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  80. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +128 -15
  81. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +115 -22
  82. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +12 -0
  83. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +15 -5
  84. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -7
  85. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +94 -13
  86. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  87. package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +15 -22
  88. package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  89. package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +4 -2
  90. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +8 -5
  91. package/es/core/editor/components/settings/CloseablePanel.js +28 -0
  92. package/es/core/editor/components/settings/OpenPropertyPanelListener.js +33 -0
  93. package/es/core/editor/components/settings/PropertyView.js +27 -8
  94. package/es/core/editor/components/settings/Settings.js +4 -44
  95. package/es/core/editor/components/settings/Settings.module.scss +8 -4
  96. package/es/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +76 -0
  97. package/es/core/editor/components/settings/common/AlignSetting/index.js +20 -71
  98. package/es/core/editor/components/settings/common/LineType/index.js +12 -119
  99. package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +3 -3
  100. package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +31 -21
  101. package/es/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +7 -6
  102. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  103. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +8 -9
  104. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  105. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  106. package/es/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +9 -6
  107. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
  108. package/es/core/editor/hooks/useKeyboardShortcut.js +42 -0
  109. package/es/core/{store/models → editor/store}/background.js +0 -0
  110. package/es/core/{store/models → editor/store}/historyManager.js +0 -0
  111. package/es/core/editor/store/topoEdit.js +49 -0
  112. package/es/core/editor/utils/edgeTypeStyleUtil.js +96 -0
  113. package/es/core/hooks/useCanvasTheme.js +35 -0
  114. package/es/core/hooks/useTopoEdit.js +38 -58
  115. package/es/core/models/Alarm.js +2 -2
  116. package/es/core/models/HistoryManager.js +10 -3
  117. package/es/core/models/SelectionManager.js +16 -1
  118. package/es/core/models/TopoApp.js +1 -1
  119. package/es/core/models/TopoGraphView.js +8 -2
  120. package/es/core/models/utils/linkUtils.js +1 -1
  121. package/es/core/store/coreModels.js +6 -7
  122. package/es/core/store/models/selection.js +2 -1
  123. package/es/core/store/models/topoBizMod.js +0 -3
  124. package/es/core/store/models/topoMod.js +26 -28
  125. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  126. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  127. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  128. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  129. package/es/networkTopo/createTopo.js +2 -0
  130. package/es/networkTopo/services/link.js +2 -2
  131. package/es/networkTopo/store/topoTreeMod.js +6 -7
  132. package/es/style.js +1 -0
  133. package/es/utils/topoData.js +1 -0
  134. package/lib/components/ColorPanel/components/ColorBlock/index.js +47 -0
  135. package/lib/components/ColorPanel/components/ColorBlock/index.module.scss +8 -0
  136. package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
  137. package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +23 -0
  138. package/lib/components/ColorPanel/index.js +255 -0
  139. package/lib/components/ColorPanel/index.module.scss +34 -0
  140. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
  141. package/lib/components/collapse/Collapse.js +28 -3
  142. package/lib/components/collapse/Collapse.module.scss +23 -0
  143. package/lib/components/collapse/index.js +11 -0
  144. package/lib/core/common/hooks/useHtElements.js +27 -0
  145. package/lib/core/common/icons/icon.js +48 -0
  146. package/lib/core/common/icons/useIcons.js +10 -15
  147. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
  148. package/lib/core/components/AlarmListPanel/components/index.module.scss +5 -5
  149. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
  150. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +7 -2
  151. package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +147 -0
  152. package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
  153. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
  154. package/lib/core/components/TopoView/GraphViewPanel.js +30 -0
  155. package/lib/core/components/TopoView/editor.module.scss +1 -0
  156. package/lib/core/components/TopoView/topoView.js +32 -50
  157. package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
  158. package/lib/core/editor/components/Sidebar/Sidebar.js +39 -53
  159. package/lib/core/editor/components/Sidebar/panes.js +45 -0
  160. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +109 -0
  161. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
  162. package/lib/core/editor/components/Sidebar/views/CanvasPanel/index.js +2 -2
  163. package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  164. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -5
  165. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +3 -4
  166. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
  167. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +29 -11
  168. package/lib/core/editor/components/Toolbar/EditorToolbar.js +22 -11
  169. package/lib/core/editor/components/Toolbar/Toolbar.js +1 -1
  170. package/lib/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
  171. package/lib/core/editor/components/Toolbar/buttons.js +21 -20
  172. package/lib/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +50 -0
  173. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
  174. package/lib/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
  175. package/lib/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
  176. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +38 -2
  177. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +77 -5
  178. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +194 -3
  179. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
  180. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +71 -0
  181. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
  182. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
  183. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +61 -5
  184. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +39 -4
  185. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +35 -0
  186. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +13 -2
  187. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +13 -2
  188. package/lib/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +4 -2
  189. package/lib/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -3
  190. package/lib/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +126 -0
  191. package/lib/core/editor/components/Toolbar/widgets/IconSelect/constant.js +69 -0
  192. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.js +117 -0
  193. package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
  194. package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +61 -0
  195. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +116 -0
  196. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
  197. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +55 -0
  198. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
  199. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +93 -0
  200. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
  201. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +32 -0
  202. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +22 -0
  203. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
  204. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
  205. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
  206. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
  207. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +44 -0
  208. package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
  209. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +133 -16
  210. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +118 -22
  211. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +12 -0
  212. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +21 -5
  213. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -6
  214. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +96 -12
  215. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
  216. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +16 -22
  217. package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
  218. package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +4 -2
  219. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +8 -5
  220. package/lib/core/editor/components/settings/CloseablePanel.js +40 -0
  221. package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +43 -0
  222. package/lib/core/editor/components/settings/PropertyView.js +30 -8
  223. package/lib/core/editor/components/settings/Settings.js +4 -44
  224. package/lib/core/editor/components/settings/Settings.module.scss +8 -4
  225. package/lib/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +93 -0
  226. package/lib/core/editor/components/settings/common/AlignSetting/index.js +21 -79
  227. package/lib/core/editor/components/settings/common/LineType/index.js +13 -126
  228. package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +2 -2
  229. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +32 -23
  230. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +6 -6
  231. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
  232. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +6 -8
  233. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
  234. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
  235. package/lib/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +7 -5
  236. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
  237. package/lib/core/editor/hooks/useKeyboardShortcut.js +52 -0
  238. package/lib/core/{store/models → editor/store}/background.js +0 -0
  239. package/lib/core/{store/models → editor/store}/historyManager.js +0 -0
  240. package/lib/core/editor/store/topoEdit.js +59 -0
  241. package/lib/core/editor/utils/edgeTypeStyleUtil.js +109 -0
  242. package/lib/core/hooks/useCanvasTheme.js +49 -0
  243. package/lib/core/hooks/useTopoEdit.js +39 -60
  244. package/lib/core/models/Alarm.js +2 -2
  245. package/lib/core/models/HistoryManager.js +10 -3
  246. package/lib/core/models/SelectionManager.js +17 -1
  247. package/lib/core/models/TopoApp.js +1 -1
  248. package/lib/core/models/TopoGraphView.js +8 -2
  249. package/lib/core/models/utils/linkUtils.js +1 -1
  250. package/lib/core/store/coreModels.js +5 -7
  251. package/lib/core/store/models/selection.js +2 -1
  252. package/lib/core/store/models/topoBizMod.js +0 -3
  253. package/lib/core/store/models/topoMod.js +27 -29
  254. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
  255. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
  256. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
  257. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
  258. package/lib/networkTopo/createTopo.js +3 -0
  259. package/lib/networkTopo/services/link.js +2 -2
  260. package/lib/networkTopo/store/topoTreeMod.js +6 -8
  261. package/lib/style.js +1 -0
  262. package/lib/utils/topoData.js +1 -0
  263. package/package.json +4 -4
  264. package/es/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -4
  265. package/es/core/store/models/topoEdit.js +0 -39
  266. package/es/core/store/models/topoView.js +0 -36
  267. package/lib/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -12
  268. package/lib/core/store/models/topoEdit.js +0 -51
  269. package/lib/core/store/models/topoView.js +0 -47
@@ -5,35 +5,152 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
10
- var _icon = _interopRequireDefault(require("@alifd/next/lib/icon"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
12
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _ArrowPopup = _interopRequireDefault(require("../components/ArrowPopup"));
14
+ var _LayoutSettings = _interopRequireDefault(require("./components/LayoutSettings"));
15
15
 
16
16
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
17
17
 
18
- var _excluded = ["showLabel"];
18
+ var _DropdownButton = _interopRequireDefault(require("../components/DropdownButton"));
19
+
20
+ var _htElementUtils = require("../../../../../../utils/htElementUtils");
21
+
22
+ var _excluded = ["topo", "showLabel"];
23
+
24
+ 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); }
25
+
26
+ 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
27
 
20
28
  function Layout(props) {
21
- var topo = props.topo;
22
- return /*#__PURE__*/_react["default"].createElement(_ArrowPopup["default"], {
23
- label: /*#__PURE__*/_react["default"].createElement(_icon["default"], {
24
- type: "Topology_icon_zoomout",
25
- size: "small"
29
+ var topo = props.topo,
30
+ topoShowType = props.topoShowType;
31
+
32
+ var _useState = (0, _react.useState)(),
33
+ layout = _useState[0],
34
+ setLayout = _useState[1]; // 选中的元素
35
+
36
+
37
+ var selectionElements = topo.selectionManager.useHtSelection();
38
+
39
+ var _topo$store$useModelS = topo.store.useModelState('selection'),
40
+ selection = _topo$store$useModelS.selection;
41
+
42
+ var setDisabled = function setDisabled(data) {
43
+ if (topoShowType == 'layers' && selection.length == 1) {
44
+ return data != 'rectangle';
45
+ } else {
46
+ return data == 'rectangle';
47
+ }
48
+ };
49
+
50
+ var globalLayout = function globalLayout(data) {
51
+ var firstElement = selectionElements[0];
52
+ var layouType = data.id === 'toward' ? "" + data.id + data.options.subId : data.id; // eslint-disable-next-line eqeqeq
53
+
54
+ if (topoShowType != 'layers' && selection.length == 0) {
55
+ topo.getHtTopo().layoutInTopo(layouType);
56
+ } // eslint-disable-next-line eqeqeq
57
+
58
+
59
+ if (topoShowType != 'layers' && selection.length == 1) {
60
+ topo.getHtTopo().layoutInContainer(layouType);
61
+ } // eslint-disable-next-line eqeqeq
62
+
63
+
64
+ if ((0, _htElementUtils.isLayer)(firstElement)) {
65
+ topo.getHtTopo().layoutLayer(firstElement);
66
+ }
67
+ };
68
+
69
+ var layoutOnChange = function layoutOnChange(v) {
70
+ var _selection$;
71
+
72
+ topo.historyManager.beginTransaction();
73
+ setLayout(v); // eslint-disable-next-line eqeqeq
74
+
75
+ if (topoShowType != 'layers' && ((_selection$ = selection[0]) === null || _selection$ === void 0 ? void 0 : _selection$.className) != 'ht.Node' || topoShowType == 'partition' && selection.length == 1 || topoShowType == 'layers' && selection.length == 1) {
76
+ globalLayout(v);
77
+ }
78
+
79
+ topo.historyManager.endTransaction();
80
+ };
81
+
82
+ return (
83
+ /*#__PURE__*/
84
+ // <LayoutSettings size="xs" selection = {selection} topoShowType={topoShowType} layout={layout} onChange={layoutOnChange} />
85
+ _react["default"].createElement(_LayoutSettings["default"], {
86
+ size: "xs",
87
+ layout: layout,
88
+ onChange: layoutOnChange,
89
+ disabled: setDisabled
26
90
  })
27
- }, /*#__PURE__*/_react["default"].createElement("div", null, "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null), "\u5E03\u5C40 ", /*#__PURE__*/_react["default"].createElement("br", null)));
91
+ );
28
92
  }
29
93
 
30
94
  function LayoutWidget(props) {
31
- var showLabel = props.showLabel,
32
- otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
95
+ var topo = props.topo,
96
+ showLabel = props.showLabel,
97
+ otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); // eslint-disable-next-line no-undef
98
+
99
+ var store = topo.store; // 拓扑图是否加载
100
+
101
+ var topoState = store.useModelState('topoMod'); // 分层或分区时候选中的值,未选中length为0 配合下面的type属性一起使用,
102
+ // type为partition且selection.length>=0时可以点击布局, selection[0].className != 'ht.Node'
103
+ // type为auto且selection.length==0时可以点击布局
104
+
105
+ var selectionElements = topo.selectionManager.useHtSelection();
106
+ var topoShowType = topoState.type; // 获取ID以及拓扑类型 // 拓扑类型:auto自由布局,layers分层,partition分区
107
+
108
+ var disabled = (0, _react.useMemo)(function () {
109
+ return !isLayoutEnabled({
110
+ topoShowType: topoShowType,
111
+ selectionElements: selectionElements
112
+ });
113
+ }, [topoShowType, selectionElements]);
114
+ var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
115
+ src: "/img/topo/editor/toolbar/layout/Disable.svg",
116
+ alt: ""
117
+ }) : /*#__PURE__*/_react["default"].createElement("img", {
118
+ src: "/img/topo/editor/toolbar/layout/Normal.svg",
119
+ alt: ""
120
+ });
33
121
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
34
- label: "\u5E03\u5C40",
35
- showLabel: showLabel
36
- }, /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"].ButtonBox, null, /*#__PURE__*/_react["default"].createElement(Layout, otherProps)));
122
+ label: "\u5E03\u5C40\u65B9\u5F0F",
123
+ tooltip: "\u5E03\u5C40\u65B9\u5F0F",
124
+ showLabel: showLabel,
125
+ disabled: disabled
126
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
127
+ disabled: disabled,
128
+ trigger: icon
129
+ }, !disabled && /*#__PURE__*/_react["default"].createElement(Layout, (0, _extends2["default"])({
130
+ topo: topo,
131
+ topoShowType: topoShowType
132
+ }, otherProps))));
133
+ }
134
+
135
+ function isLayoutEnabled(props) {
136
+ var topoShowType = props.topoShowType,
137
+ selectionElements = props.selectionElements; // 选中单个区域/集群后,该按钮亮起
138
+
139
+ if ((0, _htElementUtils.isGroup)(selectionElements[0])) {
140
+ return true;
141
+ } // 分层拓扑选中任意分层时,布局按钮亮起
142
+
143
+
144
+ if (topoShowType === 'layers' && selectionElements.length === 1 && (0, _htElementUtils.isLayer)(selectionElements[0])) {
145
+ return true;
146
+ } // 空白拓扑未选中任何资源时,布局按钮亮起
147
+
148
+
149
+ if (topoShowType !== 'layers' && !selectionElements.length) {
150
+ return true;
151
+ }
152
+
153
+ return false;
37
154
  }
38
155
 
39
156
  var _default = LayoutWidget;
@@ -5,7 +5,7 @@ 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"));
8
+ var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
9
9
 
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
@@ -15,27 +15,18 @@ var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
15
 
16
16
  var _DropdownButton = _interopRequireDefault(require("./components/DropdownButton"));
17
17
 
18
+ var _AlignSetting = _interopRequireDefault(require("../../settings/common/AlignSetting"));
19
+
20
+ var _htElementUtils = require("../../../../../utils/htElementUtils");
21
+
22
+ var _NodeAlignWidgetModule = _interopRequireDefault(require("./NodeAlignWidget.module.scss"));
23
+
18
24
  var _excluded = ["topo", "showLabel"];
19
25
 
20
26
  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
27
 
22
28
  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
29
 
24
- function NodeAlignPopup(props) {
25
- var topo = props.topo,
26
- disabled = props.disabled;
27
- var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
28
- src: "/img/topo/editor/toolbar/\u5BF9\u9F50/Disable.svg",
29
- alt: ""
30
- }) : /*#__PURE__*/_react["default"].createElement("img", {
31
- src: "/img/topo/editor/toolbar/\u5BF9\u9F50/Normal.svg",
32
- alt: ""
33
- });
34
- return /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
35
- trigger: icon
36
- }, "\u5BF9\u9F50\u65B9\u5F0F");
37
- }
38
-
39
30
  function NodeAlignWidget(props) {
40
31
  var topo = props.topo,
41
32
  showLabel = props.showLabel,
@@ -43,21 +34,126 @@ function NodeAlignWidget(props) {
43
34
 
44
35
  var _useState = (0, _react.useState)(true),
45
36
  disabled = _useState[0],
46
- setDisabled = _useState[1]; // 选中的元素
37
+ setDisabled = _useState[1];
38
+
39
+ var _useState2 = (0, _react.useState)(),
40
+ leftInputVal = _useState2[0],
41
+ setLeftInputVal = _useState2[1];
42
+
43
+ var _useState3 = (0, _react.useState)(),
44
+ rightInputVal = _useState3[0],
45
+ setRightInputVal = _useState3[1];
46
+
47
+ var _useState4 = (0, _react.useState)(true),
48
+ leftDisable = _useState4[0],
49
+ setLeftDisable = _useState4[1];
50
+
51
+ var _useState5 = (0, _react.useState)(true),
52
+ rightDisable = _useState5[0],
53
+ setRightDisable = _useState5[1]; // 拓扑图是否加载
54
+
55
+
56
+ var _topo$store$useModelS = topo.store.useModelState('topoMod'),
57
+ graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
47
58
 
48
59
 
49
60
  var selection = topo.selectionManager.useSelection();
61
+
62
+ var setSpace = function setSpace(type, num) {
63
+ topo.historyManager.beginTransaction();
64
+ var selection = topo.getHtTopo().getGraphView().getSelectionModel().getSelection().toArray();
65
+ var nodes = selection.filter(function (ele) {
66
+ return !(0, _htElementUtils.isLayer)(ele) && !(0, _htElementUtils.isEdge)(ele);
67
+ });
68
+ topo.view.topoClient.htTopoClient.setElementsSpace(nodes, type, num);
69
+ topo.historyManager.endTransaction();
70
+ };
71
+
72
+ var leftInputChange = function leftInputChange(v) {
73
+ if (v * 1 < 0) {
74
+ setLeftInputVal(0);
75
+ } else if (v * 1 > 10000) {
76
+ setLeftInputVal(10000);
77
+ } else {
78
+ setLeftInputVal(v);
79
+ }
80
+
81
+ setSpace('v', leftInputVal);
82
+ };
83
+
84
+ var rightInputChange = function rightInputChange(v) {
85
+ if (v * 1 < 0) {
86
+ setRightInputVal(0);
87
+ } else if (v * 1 > 10000) {
88
+ setRightInputVal(10000);
89
+ } else {
90
+ setRightInputVal(v);
91
+ }
92
+
93
+ setSpace('h', rightInputVal);
94
+ };
95
+
50
96
  (0, _react.useEffect)(function () {
51
- setDisabled(false);
52
- }, [selection]);
97
+ if (graphLoaded) {
98
+ var selectionEle = topo.getHtTopo().getGraphView().getSelectionModel().getSelection().toArray();
99
+ var nodes = selectionEle.filter(function (ele) {
100
+ return !(0, _htElementUtils.isLayer)(ele) && !(0, _htElementUtils.isEdge)(ele);
101
+ });
102
+ setDisabled(nodes.length <= 1);
103
+ getClickType('none');
104
+ }
105
+ }, [graphLoaded, selection]);
106
+
107
+ var getClickType = function getClickType(type) {
108
+ setLeftDisable(true);
109
+ setRightDisable(true);
110
+
111
+ if (type === 'top' || type === 'middle' || type === 'bottom') {
112
+ setLeftDisable(false);
113
+ }
114
+
115
+ if (type === 'left' || type === 'center' || type === 'right') {
116
+ setRightDisable(false);
117
+ }
118
+ };
119
+
120
+ var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
121
+ src: "/img/topo/editor/toolbar/\u5BF9\u9F50/Disable.svg",
122
+ alt: ""
123
+ }) : /*#__PURE__*/_react["default"].createElement("img", {
124
+ src: "/img/topo/editor/toolbar/\u5BF9\u9F50/Normal.svg",
125
+ alt: ""
126
+ });
53
127
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
54
128
  showLabel: showLabel,
129
+ disabled: disabled,
55
130
  label: "\u5BF9\u9F50\u65B9\u5F0F",
56
131
  tooltip: "\u5BF9\u9F50\u65B9\u5F0F"
57
- }, /*#__PURE__*/_react["default"].createElement(NodeAlignPopup, (0, _extends2["default"])({
132
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
58
133
  disabled: disabled,
59
- selection: selection
60
- }, otherProps)));
134
+ trigger: icon
135
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_AlignSetting["default"], {
136
+ topo: topo,
137
+ getClickType: getClickType
138
+ }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
139
+ disabled: leftDisable,
140
+ size: "small",
141
+ placeholder: "\u591A\u4E2A\u503C",
142
+ className: _NodeAlignWidgetModule["default"].leftInput,
143
+ value: leftInputVal,
144
+ htmlType: "number",
145
+ maxLength: 5,
146
+ onChange: leftInputChange
147
+ }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
148
+ disabled: rightDisable,
149
+ size: "small",
150
+ placeholder: "\u591A\u4E2A\u503C",
151
+ className: _NodeAlignWidgetModule["default"].rightInput,
152
+ value: rightInputVal,
153
+ htmlType: "number",
154
+ maxLength: 5,
155
+ onChange: rightInputChange
156
+ }))));
61
157
  }
62
158
 
63
159
  var _default = NodeAlignWidget;
@@ -0,0 +1,12 @@
1
+ .leftInput{
2
+ background: url('/img/topo/editor/toolbar/对齐/Disable.svg')no-repeat 5px center;
3
+ background-position: right center;
4
+ width: 100px;
5
+ margin-right: 10px;
6
+ margin-left: 5px;
7
+ }
8
+ .rightInput{
9
+ width: 100px;
10
+ background: url('/img/topo/editor/toolbar/对齐/Disable.svg')no-repeat 5px center;
11
+ background-position: right center;
12
+ }
@@ -5,12 +5,28 @@ 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 _react = _interopRequireWildcard(require("react"));
9
9
 
10
- function BoxBackgroundSetting(props) {
11
- // const { } = props
12
- return /*#__PURE__*/_react["default"].createElement("div", null, "xxx");
10
+ var _IconSelect = _interopRequireDefault(require("../IconSelect"));
11
+
12
+ var _useIcons = require("../../../../../common/icons/useIcons");
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ function NodeImageList(props, ref) {
19
+ var value = props.value,
20
+ onChange = props.onChange,
21
+ topo = props.topo;
22
+ (0, _react.useEffect)(function () {}, []);
23
+ var icons = (0, _useIcons.useNodeIcons)(topo);
24
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_IconSelect["default"], {
25
+ value: value,
26
+ iconList: icons,
27
+ onChange: onChange
28
+ }));
13
29
  }
14
30
 
15
- var _default = BoxBackgroundSetting;
31
+ var _default = NodeImageList;
16
32
  exports["default"] = _default;
@@ -9,6 +9,8 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _htElementUtils = require("../../../../../../utils/htElementUtils");
13
+
12
14
  var _DropdownButton = _interopRequireDefault(require("../components/DropdownButton"));
13
15
 
14
16
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
@@ -23,8 +25,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
25
 
24
26
  /**
25
27
  * 替换图片设置
26
- * @param {*} props
27
- * @returns
28
+ * @param {*} props
29
+ * @returns
28
30
  */
29
31
  function NodeImageButton(props) {
30
32
  var topo = props.topo,
@@ -33,13 +35,43 @@ function NodeImageButton(props) {
33
35
 
34
36
  var _useState = (0, _react.useState)(true),
35
37
  disabled = _useState[0],
36
- setDisabled = _useState[1]; // 选中的元素
38
+ setDisabled = _useState[1];
39
+
40
+ var _useState2 = (0, _react.useState)(),
41
+ imgVal = _useState2[0],
42
+ setImgVal = _useState2[1]; // 选中的元素
37
43
 
38
44
 
39
- var selection = topo.selectionManager.useSelection();
45
+ var selection = topo.selectionManager.useHtSelection();
40
46
  (0, _react.useEffect)(function () {
41
- setDisabled(false);
47
+ var nodes = selection.filter(function (ele) {
48
+ return (0, _htElementUtils.isGroup)(ele) || (0, _htElementUtils.isNode)(ele);
49
+ });
50
+
51
+ if (nodes.length > 0) {
52
+ setDisabled(false);
53
+ setImgVal(nodes[0].getImage());
54
+ } else {
55
+ setDisabled(true);
56
+ }
42
57
  }, [selection]);
58
+
59
+ var onChange = function onChange(prop) {
60
+ console.log("onChange-prop", prop, selection); //const { name, value } = prop;
61
+ // const gv = topo.view.topoClient.getGraphView();
62
+ //const element = topo.getSelectionModel().getFirstData();
63
+
64
+ var elements = topo.getSelectionModel();
65
+ console.log("onChange-elements", elements);
66
+ elements.each(function (element) {
67
+ element.setImage(prop);
68
+ }); // selection.map((element) => {
69
+ // element.setImage(prop);
70
+ // });
71
+ // if (name === "image") {
72
+ // }
73
+ };
74
+
43
75
  var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
44
76
  src: "/img/topo/editor/toolbar/\u66FF\u6362\u56FE\u7247/Disable.svg",
45
77
  alt: ""
@@ -50,12 +82,15 @@ function NodeImageButton(props) {
50
82
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
51
83
  label: "\u66FF\u6362\u56FE\u7247",
52
84
  tooltip: "\u66FF\u6362\u56FE\u7247",
85
+ disabled: disabled,
53
86
  showLabel: showLabel
54
87
  }, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
55
88
  disabled: disabled,
56
89
  trigger: icon
57
90
  }, /*#__PURE__*/_react["default"].createElement(_BoxBackgroundSetting["default"], {
58
- topo: topo
91
+ topo: topo,
92
+ onChange: onChange,
93
+ value: imgVal
59
94
  })));
60
95
  }
61
96
 
@@ -9,12 +9,20 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _BatchSetNodeSize = _interopRequireDefault(require("../../../settings/propertyViews/view/BatchSetNodeSize"));
12
+ var _BatchSetNodeSize = _interopRequireDefault(require("../../../settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize"));
13
+
14
+ var _NodeSizeInput = _interopRequireDefault(require("../../../settings/common/NodeSizeInput/NodeSizeInput"));
15
+
16
+ var _useSettingRuntimeState = _interopRequireDefault(require("../../../settings/useSettingRuntimeState"));
13
17
 
14
18
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
15
19
 
16
20
  var _BoxBackgroundSetting = _interopRequireDefault(require("./BoxBackgroundSetting"));
17
21
 
22
+ var _NodeSizeButtonModule = _interopRequireDefault(require("./NodeSizeButton.module.scss"));
23
+
24
+ var _htElementUtils = require("../../../../../../utils/htElementUtils");
25
+
18
26
  var _excluded = ["topo", "showLabel"];
19
27
 
20
28
  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); }
@@ -23,8 +31,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
31
 
24
32
  /**
25
33
  * 图片尺寸设置
26
- * @param {*} props
27
- * @returns
34
+ * @param {*} props
35
+ * @returns
28
36
  */
29
37
  function NodeSizeButton(props) {
30
38
  var topo = props.topo,
@@ -33,25 +41,101 @@ function NodeSizeButton(props) {
33
41
 
34
42
  var _useState = (0, _react.useState)(true),
35
43
  disabled = _useState[0],
36
- setDisabled = _useState[1]; // 选中的元素
44
+ setDisabled = _useState[1];
37
45
 
46
+ var _useState2 = (0, _react.useState)(),
47
+ size = _useState2[0],
48
+ setSize = _useState2[1]; // 选中的元素
38
49
 
39
- var selection = topo.selectionManager.useSelection();
50
+
51
+ var selection = topo.selectionManager.useHtSelection();
52
+ var settingRuntimeState = (0, _useSettingRuntimeState["default"])();
40
53
  (0, _react.useEffect)(function () {
41
- setDisabled(false);
54
+ var nodes = selection.filter(function (ele) {
55
+ return (0, _htElementUtils.isGroup)(ele) || (0, _htElementUtils.isNode)(ele);
56
+ });
57
+
58
+ if (nodes.length > 0) {
59
+ setDisabled(false);
60
+
61
+ if (selection.length === 1) {
62
+ setSize({
63
+ width: selection[0].width,
64
+ height: selection[0].height
65
+ });
66
+ }
67
+ } else {
68
+ setDisabled(true);
69
+ setSize({
70
+ width: null,
71
+ height: null
72
+ });
73
+ }
42
74
  }, [selection]);
75
+
76
+ var _onChange = function onChange(prop) {
77
+ var name = prop.name,
78
+ value = prop.value;
79
+ var gv = topo.view.topoClient.getGraphView();
80
+ var element = topo.getSelectionModel().getFirstData();
81
+
82
+ if (name === "width") {
83
+ element.setWidth(value);
84
+ } else if (name === "height") {
85
+ element.setHeight(value);
86
+ }
87
+ };
88
+
43
89
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
44
90
  label: "\u56FE\u7247\u5C3A\u5BF8",
91
+ disabled: disabled,
45
92
  tooltip: "\u56FE\u7247\u5C3A\u5BF8",
46
93
  showLabel: showLabel
47
94
  }, /*#__PURE__*/_react["default"].createElement("div", {
48
- style: {
49
- width: 136
95
+ className: _NodeSizeButtonModule["default"].toolbarNodeSizeSetting
96
+ }, selection.length > 1 ? /*#__PURE__*/_react["default"].createElement(_BatchSetNodeSize["default"], {
97
+ topo: topo // size="small"
98
+ ,
99
+ value: size,
100
+ disabled: disabled,
101
+ showLabel: false,
102
+ numberPickerProps: {
103
+ hasTrigger: false,
104
+ placeholder: '-'
105
+ } // onChange={(size) => {
106
+ // topo.historyManager.beginTransaction();
107
+ // onChange({ name: "width", value: size.width });
108
+ // onChange({ name: "height", value: size.height });
109
+ // topo.historyManager.endTransaction();
110
+ // }}
111
+
112
+ }) : /*#__PURE__*/_react["default"].createElement(_NodeSizeInput["default"], {
113
+ topo: topo // size="small"
114
+ ,
115
+ value: size,
116
+ disabled: disabled,
117
+ showLabel: false,
118
+ hasTrigger: false,
119
+ numberPickerProps: {
120
+ hasTrigger: false,
121
+ placeholder: '-'
122
+ },
123
+ settingRuntimeState: settingRuntimeState,
124
+ onChange: function onChange(size) {
125
+ topo.historyManager.beginTransaction();
126
+
127
+ _onChange({
128
+ name: "width",
129
+ value: size.width
130
+ });
131
+
132
+ _onChange({
133
+ name: "height",
134
+ value: size.height
135
+ });
136
+
137
+ topo.historyManager.endTransaction();
50
138
  }
51
- }, /*#__PURE__*/_react["default"].createElement(_BatchSetNodeSize["default"], {
52
- topo: topo,
53
- size: "small",
54
- showLabel: false
55
139
  })));
56
140
  }
57
141
 
@@ -0,0 +1,28 @@
1
+ @import '~@alifd/next/variables.scss';
2
+
3
+ .toolbarNodeSizeSetting {
4
+ width: 144px;
5
+
6
+ // 图片尺寸输入框
7
+ :global {
8
+ .#{$css-prefix}input-inner {
9
+ padding-right: 8px;
10
+ }
11
+
12
+ .#{$css-prefix}input.#{$css-prefix}medium {
13
+ height: 24px;
14
+ }
15
+
16
+ .#{$css-prefix}input {
17
+ border: none;
18
+
19
+ &:hover:not(.#{$css-prefix}disabled) {
20
+ background: #F2F7FD;
21
+ }
22
+ }
23
+
24
+ .#{$css-prefix}input.#{$css-prefix}medium input {
25
+ height: 24px;
26
+ }
27
+ }
28
+ }