@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.
- package/build/1.js +2 -2
- package/build/2.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +35 -35
- package/es/components/ColorPanel/components/ColorBlock/index.js +37 -0
- package/es/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
- package/es/components/ColorPanel/components/FontColorRange/index.js +35 -0
- package/es/components/ColorPanel/components/FontColorRange/index.module.scss +22 -0
- package/es/components/ColorPanel/index.js +237 -0
- package/es/components/ColorPanel/index.module.scss +35 -0
- package/es/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
- package/es/components/collapse/Collapse.js +22 -3
- package/es/components/collapse/Collapse.module.scss +24 -0
- package/es/components/collapse/index.js +2 -0
- package/es/core/common/hooks/useHtElements.js +21 -0
- package/es/core/common/icons/icon.js +41 -0
- package/es/core/common/icons/useIcons.js +8 -16
- package/es/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
- package/es/core/components/AlarmListPanel/components/index.module.scss +5 -5
- package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
- package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +9 -3
- package/es/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +122 -0
- package/es/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
- package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
- package/es/core/components/TopoView/GraphViewPanel.js +21 -0
- package/es/core/components/TopoView/editor.module.scss +1 -0
- package/es/core/components/TopoView/topoView.js +29 -49
- package/es/core/components/titlebar/TitleBar.module.scss +1 -1
- package/es/core/editor/components/EditorPlugin.js +2 -1
- package/es/core/editor/components/Sidebar/Sidebar.js +41 -50
- package/es/core/editor/components/Sidebar/panes.js +32 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +38 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/index.js +1 -1
- package/es/core/editor/components/Sidebar/views/CanvasPanel/themes.js +72 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/useCanvasThemeConfig.js +115 -0
- package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +3 -3
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +14 -6
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +14 -5
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
- package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +20 -7
- package/es/core/editor/components/Toolbar/EditorToolbar.js +23 -13
- package/es/core/editor/components/Toolbar/Toolbar.js +1 -1
- package/es/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
- package/es/core/editor/components/Toolbar/buttons.js +21 -18
- package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
- package/es/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
- package/es/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +46 -2
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +96 -5
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +184 -3
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +53 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +74 -6
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +78 -14
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
- package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +25 -11
- package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +29 -13
- package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +100 -39
- package/es/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +3 -2
- package/es/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -4
- package/es/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +109 -0
- package/es/core/editor/components/Toolbar/widgets/IconSelect/constant.js +64 -0
- package/es/core/editor/components/Toolbar/widgets/IconSelect/index.js +101 -0
- package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
- package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +49 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +99 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +42 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +75 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +23 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +10 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +31 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
- package/es/core/editor/components/Toolbar/widgets/Layout/index.js +128 -15
- package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +95 -23
- package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
- package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +15 -5
- package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -7
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +98 -13
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +15 -22
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
- package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
- package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
- package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
- package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +16 -6
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +49 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +61 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +30 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +18 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +41 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +14 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +47 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +25 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +32 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +71 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +38 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
- package/es/core/editor/components/settings/CloseablePanel.js +33 -0
- package/es/core/editor/components/settings/CloseablePanel.module.scss +9 -0
- package/es/core/editor/components/settings/OpenPropertyPanelListener.js +33 -0
- package/es/core/editor/components/settings/PropertyView.js +29 -8
- package/es/core/editor/components/settings/Settings.js +4 -44
- package/es/core/editor/components/settings/Settings.module.scss +8 -4
- package/es/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
- package/es/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +80 -0
- package/es/core/editor/components/settings/common/AlignSetting/index.js +20 -72
- package/es/core/editor/components/settings/common/LineType/index.js +12 -119
- package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +3 -3
- package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +31 -21
- package/es/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +7 -6
- package/es/core/editor/components/settings/common/text/fontStyleUtil.js +11 -19
- package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
- package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
- package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +8 -9
- package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
- package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
- package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
- package/es/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +9 -6
- package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
- package/es/core/editor/hooks/useKeyboardShortcut.js +42 -0
- package/es/core/{store/models → editor/store}/background.js +0 -0
- package/es/core/{store/models → editor/store}/historyManager.js +0 -0
- package/es/core/editor/store/topoEdit.js +49 -0
- package/es/core/editor/utils/edgeTypeStyleUtil.js +96 -0
- package/es/core/editor/utils/textStyleUtil.js +0 -0
- package/es/core/hooks/useCanvasTheme.js +49 -0
- package/es/core/hooks/usePolling.js +2 -5
- package/es/core/hooks/useTopoEdit.js +38 -58
- package/es/core/models/Alarm.js +2 -2
- package/es/core/models/AttributeMetricDisplay.js +4 -0
- package/es/core/models/HistoryManager.js +10 -3
- package/es/core/models/SelectionManager.js +16 -1
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/TopoGraphView.js +8 -2
- package/es/core/models/utils/linkUtils.js +1 -1
- package/es/core/store/coreModels.js +6 -7
- package/es/core/store/models/selection.js +2 -1
- package/es/core/store/models/topoBizMod.js +0 -3
- package/es/core/store/models/topoMod.js +26 -28
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
- package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
- package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
- package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
- package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
- package/es/networkTopo/createTopo.js +2 -0
- package/es/networkTopo/services/link.js +2 -2
- package/es/networkTopo/store/topoTreeMod.js +6 -7
- package/es/style.js +1 -0
- package/es/utils/htElementUtils.js +3 -0
- package/es/utils/topoData.js +1 -0
- package/lib/components/ColorPanel/components/ColorBlock/index.js +47 -0
- package/lib/components/ColorPanel/components/ColorBlock/index.module.scss +9 -0
- package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
- package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +22 -0
- package/lib/components/ColorPanel/index.js +255 -0
- package/lib/components/ColorPanel/index.module.scss +35 -0
- package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +5 -1
- package/lib/components/collapse/Collapse.js +28 -3
- package/lib/components/collapse/Collapse.module.scss +24 -0
- package/lib/components/collapse/index.js +11 -0
- package/lib/core/common/hooks/useHtElements.js +27 -0
- package/lib/core/common/icons/icon.js +48 -0
- package/lib/core/common/icons/useIcons.js +10 -15
- package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +14 -13
- package/lib/core/components/AlarmListPanel/components/index.module.scss +5 -5
- package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -1
- package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +10 -3
- package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +147 -0
- package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +0 -3
- package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +76 -19
- package/lib/core/components/TopoView/GraphViewPanel.js +31 -0
- package/lib/core/components/TopoView/editor.module.scss +1 -0
- package/lib/core/components/TopoView/topoView.js +32 -50
- package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
- package/lib/core/editor/components/EditorPlugin.js +3 -1
- package/lib/core/editor/components/Sidebar/Sidebar.js +40 -53
- package/lib/core/editor/components/Sidebar/panes.js +45 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +53 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +74 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/index.js +2 -2
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/themes.js +77 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/useCanvasThemeConfig.js +128 -0
- package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +15 -6
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +16 -5
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +5 -0
- package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +29 -11
- package/lib/core/editor/components/Toolbar/EditorToolbar.js +22 -11
- package/lib/core/editor/components/Toolbar/Toolbar.js +1 -1
- package/lib/core/editor/components/Toolbar/Toolbar.module.scss +14 -3
- package/lib/core/editor/components/Toolbar/buttons.js +22 -20
- package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +8 -7
- package/lib/core/editor/components/Toolbar/widgets/CanvasMoveWidget.js +13 -2
- package/lib/core/editor/components/Toolbar/widgets/CanvasSelectWidget.js +11 -2
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +48 -2
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +98 -5
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +194 -3
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +44 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +71 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.module.scss +31 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +76 -5
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +83 -14
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +43 -0
- package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +26 -10
- package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +30 -12
- package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +105 -39
- package/lib/core/editor/components/Toolbar/widgets/HistoryRedoButton.js +4 -2
- package/lib/core/editor/components/Toolbar/widgets/HistoryUndoButton.js +5 -3
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/IconSelect.js +126 -0
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/constant.js +69 -0
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.js +117 -0
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +153 -0
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +61 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.js +116 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutSettings.module.scss +70 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.js +55 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagImageSelect/index.module.scss +7 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.js +93 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTagSelect/index.scss +32 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/Icon.js +32 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/index.js +22 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_circular.svg +10 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_hierarchical.svg +10 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_rectangle.svg +12 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/assets/topo_layout_toward.svg +16 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.js +44 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/components/LayoutTemplateButton/index.module.scss +53 -0
- package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +133 -16
- package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +98 -23
- package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
- package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +21 -5
- package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +41 -6
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +99 -12
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +16 -22
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +11 -1
- package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +5 -3
- package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +3 -0
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +21 -3
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +17 -6
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +63 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +74 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +45 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +28 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +57 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +28 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +62 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +40 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +47 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +83 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +49 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
- package/lib/core/editor/components/settings/CloseablePanel.js +46 -0
- package/lib/core/editor/components/settings/CloseablePanel.module.scss +9 -0
- package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +43 -0
- package/lib/core/editor/components/settings/PropertyView.js +32 -8
- package/lib/core/editor/components/settings/Settings.js +4 -44
- package/lib/core/editor/components/settings/Settings.module.scss +8 -4
- package/lib/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +2 -2
- package/lib/core/editor/components/settings/common/AlignSetting/AlignTypeList.js +97 -0
- package/lib/core/editor/components/settings/common/AlignSetting/index.js +21 -80
- package/lib/core/editor/components/settings/common/LineType/index.js +13 -126
- package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +2 -2
- package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +32 -23
- package/lib/core/editor/components/settings/common/SizeInput/NodeSizeNumberPicker.js +6 -6
- package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +12 -20
- package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
- package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +0 -8
- package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +6 -8
- package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -42
- package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
- package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
- package/lib/core/editor/components/settings/propertyViews/view/BatchSetNodeSize.js +7 -5
- package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
- package/lib/core/editor/hooks/useKeyboardShortcut.js +52 -0
- package/lib/core/{store/models → editor/store}/background.js +0 -0
- package/lib/core/{store/models → editor/store}/historyManager.js +0 -0
- package/lib/core/editor/store/topoEdit.js +59 -0
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +109 -0
- package/lib/core/editor/utils/textStyleUtil.js +1 -0
- package/lib/core/hooks/useCanvasTheme.js +63 -0
- package/lib/core/hooks/usePolling.js +2 -5
- package/lib/core/hooks/useTopoEdit.js +39 -60
- package/lib/core/models/Alarm.js +2 -2
- package/lib/core/models/AttributeMetricDisplay.js +4 -0
- package/lib/core/models/HistoryManager.js +10 -3
- package/lib/core/models/SelectionManager.js +17 -1
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/TopoGraphView.js +8 -2
- package/lib/core/models/utils/linkUtils.js +1 -1
- package/lib/core/store/coreModels.js +5 -7
- package/lib/core/store/models/selection.js +2 -1
- package/lib/core/store/models/topoBizMod.js +0 -3
- package/lib/core/store/models/topoMod.js +27 -29
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +3 -4
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +19 -5
- package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/WebConsoleForm.js +13 -29
- package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +6 -5
- package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -1
- package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +4 -2
- package/lib/networkTopo/createTopo.js +3 -0
- package/lib/networkTopo/services/link.js +2 -2
- package/lib/networkTopo/store/topoTreeMod.js +6 -8
- package/lib/style.js +1 -0
- package/lib/utils/htElementUtils.js +5 -0
- package/lib/utils/topoData.js +1 -0
- package/package.json +5 -4
- package/es/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -4
- package/es/core/store/models/topoEdit.js +0 -39
- package/es/core/store/models/topoView.js +0 -36
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -12
- package/lib/core/store/models/topoEdit.js +0 -51
- package/lib/core/store/models/topoView.js +0 -47
@@ -1,19 +1,30 @@
|
|
1
|
-
.
|
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
|
-
.
|
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
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
Divider,
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
Divider,
|
34
|
-
|
35
|
-
|
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
|
-
|
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
|
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,
|
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
|
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:
|
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
|
-
|
5
|
-
|
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
|
-
|
26
|
-
|
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
|
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
|
-
|
5
|
-
|
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
|
+
}
|