@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
@@ -0,0 +1,41 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import fontStyleUtil from "../../../../../../settings/common/text/fontStyleUtil";
|
3
|
+
import { formatBackgroundRgbaColor, parseBackground, parseColor } from "../colorUtil";
|
4
|
+
import nodeTag from "./nodeTag";
|
5
|
+
export function getTextStyle(element) {
|
6
|
+
if (!element.isExpanded()) {
|
7
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
8
|
+
return nodeTag.getTextStyle(element);
|
9
|
+
}
|
10
|
+
|
11
|
+
var underline = element.s('text.decoration') === 'underline';
|
12
|
+
return _extends({
|
13
|
+
color: parseColor(element.s('group.title.color')),
|
14
|
+
underline: underline
|
15
|
+
}, fontStyleUtil.toMap(element.s('group.title.font')), parseBackground(element.s('group.title.background')));
|
16
|
+
}
|
17
|
+
export function setTextStyle(element, style, topo) {
|
18
|
+
if (!element.isExpanded()) {
|
19
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
20
|
+
return nodeTag.setTextStyle(element, style, topo);
|
21
|
+
} // if ('underline' in style) {
|
22
|
+
// }
|
23
|
+
|
24
|
+
|
25
|
+
if ('color' in style) {
|
26
|
+
element.s('group.title.color', style.color.hex);
|
27
|
+
} // 背景颜色
|
28
|
+
|
29
|
+
|
30
|
+
var prevStyle = getTextStyle(element);
|
31
|
+
element.s('group.title.background', formatBackgroundRgbaColor(prevStyle, style));
|
32
|
+
|
33
|
+
var fontStyle = _extends({}, getTextStyle(element), style);
|
34
|
+
|
35
|
+
var fontStr = fontStyleUtil.build(fontStyle);
|
36
|
+
element.s('group.title.font', fontStr);
|
37
|
+
}
|
38
|
+
export default {
|
39
|
+
getTextStyle: getTextStyle,
|
40
|
+
setTextStyle: setTextStyle
|
41
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import text from "./text";
|
2
|
+
import nodeTag from "./nodeTag";
|
3
|
+
import edgeTag from "./edgeTag";
|
4
|
+
import groupTitle from "./groupTitle";
|
5
|
+
import layerTitle from "./layerTitle";
|
6
|
+
import box from "./box";
|
7
|
+
export default {
|
8
|
+
nodeTag: nodeTag,
|
9
|
+
edgeTag: edgeTag,
|
10
|
+
text: text,
|
11
|
+
groupTitle: groupTitle,
|
12
|
+
layerTitle: layerTitle,
|
13
|
+
box: box
|
14
|
+
};
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import fontStyleUtil from "../../../../../../settings/common/text/fontStyleUtil";
|
3
|
+
import { formatBackgroundRgbaColor, parseBackground, parseColor } from "../colorUtil";
|
4
|
+
var defaultStyle = {};
|
5
|
+
|
6
|
+
function getLabelStyle(element) {
|
7
|
+
return _extends({}, defaultStyle, element.a('labelStyle') || {});
|
8
|
+
}
|
9
|
+
|
10
|
+
function setLabelStyle(element, style) {
|
11
|
+
element.a('labelStyle', _extends({}, element.a('labelStyle'), style)); // eslint-disable-next-line no-underscore-dangle
|
12
|
+
|
13
|
+
element.__labelNode.a(style);
|
14
|
+
} // 分层标题文字样式
|
15
|
+
|
16
|
+
|
17
|
+
export function getTextStyle(element) {
|
18
|
+
var style = getLabelStyle(element);
|
19
|
+
var underline = null;
|
20
|
+
return _extends({
|
21
|
+
color: parseColor(style.fontColor),
|
22
|
+
underline: underline
|
23
|
+
}, fontStyleUtil.toMap(style.font), parseBackground(style.background));
|
24
|
+
}
|
25
|
+
export function setTextStyle(element, style) {
|
26
|
+
// if ('underline' in style) {
|
27
|
+
// }
|
28
|
+
var labelStyle = {};
|
29
|
+
|
30
|
+
if ('color' in style) {
|
31
|
+
labelStyle.fontColor = style.color.hex;
|
32
|
+
} // 背景颜色
|
33
|
+
|
34
|
+
|
35
|
+
var prevStyle = getTextStyle(element);
|
36
|
+
labelStyle.background = formatBackgroundRgbaColor(prevStyle, style);
|
37
|
+
|
38
|
+
var fontStyle = _extends({}, getTextStyle(element), style);
|
39
|
+
|
40
|
+
var fontStr = fontStyleUtil.build(fontStyle);
|
41
|
+
labelStyle.font = fontStr;
|
42
|
+
setLabelStyle(element, labelStyle);
|
43
|
+
}
|
44
|
+
export default {
|
45
|
+
getTextStyle: getTextStyle,
|
46
|
+
setTextStyle: setTextStyle
|
47
|
+
};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import fontStyleUtil from "../../../../../../settings/common/text/fontStyleUtil";
|
3
|
+
import { formatBackgroundRgbaColor, parseBackground, parseColor } from "../colorUtil";
|
4
|
+
export function getTextStyle(element) {
|
5
|
+
var underline = null;
|
6
|
+
return _extends({
|
7
|
+
color: parseColor(element.a('ht.color')),
|
8
|
+
underline: underline
|
9
|
+
}, fontStyleUtil.toMap(element.a('ht.font')), parseBackground(element.a('ht.background')));
|
10
|
+
}
|
11
|
+
export function setTextStyle(element, style, topo) {
|
12
|
+
if ('background' in style || 'opacity' in style) {
|
13
|
+
// 背景颜色
|
14
|
+
var prevStyle = getTextStyle(element);
|
15
|
+
topo.getHtTopo().setNodeLabelStyle(element, {
|
16
|
+
background: formatBackgroundRgbaColor(prevStyle, style)
|
17
|
+
});
|
18
|
+
} else {
|
19
|
+
topo.getHtTopo().setNodeLabelStyle(element, style);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
export default {
|
23
|
+
getTextStyle: getTextStyle,
|
24
|
+
setTextStyle: setTextStyle
|
25
|
+
};
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import fontStyleUtil from "../../../../../../settings/common/text/fontStyleUtil";
|
3
|
+
import { formatBackgroundRgbaColor, parseBackground, parseColor } from "../colorUtil";
|
4
|
+
export function getTextStyle(element) {
|
5
|
+
var underline = element.s('text.decoration') === 'underline';
|
6
|
+
return _extends({
|
7
|
+
color: parseColor(element.s('text.color')),
|
8
|
+
underline: underline
|
9
|
+
}, fontStyleUtil.toMap(element.s('text.font')), parseBackground(element.s('textBackground')));
|
10
|
+
}
|
11
|
+
export function setTextStyle(element, style) {
|
12
|
+
if ('underline' in style) {
|
13
|
+
element.s('text.decoration', style.underline ? 'underline' : null);
|
14
|
+
}
|
15
|
+
|
16
|
+
if ('color' in style) {
|
17
|
+
element.s('text.color', style.color.hex);
|
18
|
+
} // 背景颜色
|
19
|
+
|
20
|
+
|
21
|
+
var prevStyle = getTextStyle(element);
|
22
|
+
element.s('textBackground', formatBackgroundRgbaColor(prevStyle, style));
|
23
|
+
|
24
|
+
var fontStyle = _extends({}, getTextStyle(element), style);
|
25
|
+
|
26
|
+
var fontStr = fontStyleUtil.build(fontStyle);
|
27
|
+
element.s('text.font', fontStr);
|
28
|
+
}
|
29
|
+
export default {
|
30
|
+
getTextStyle: getTextStyle,
|
31
|
+
setTextStyle: setTextStyle
|
32
|
+
};
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { isGroup, isLayer, isNode, isText, isEdge } from "../../../../../../../../utils/htElementUtils";
|
2
|
+
import typeMap from "./elements";
|
3
|
+
|
4
|
+
function getElementType(element) {
|
5
|
+
if (isText(element)) {
|
6
|
+
return 'text';
|
7
|
+
} else if (element.a('type') === 'box') {
|
8
|
+
return 'box';
|
9
|
+
} else if (isGroup(element)) {
|
10
|
+
return 'groupTitle';
|
11
|
+
} else if (isNode(element)) {
|
12
|
+
return 'nodeTag';
|
13
|
+
} else if (isEdge(element)) {
|
14
|
+
return 'edgeTag';
|
15
|
+
} else if (isLayer(element)) {
|
16
|
+
return 'layerTitle';
|
17
|
+
}
|
18
|
+
|
19
|
+
return null;
|
20
|
+
}
|
21
|
+
|
22
|
+
export function getElementTextStyle(element) {
|
23
|
+
var type = getElementType(element);
|
24
|
+
var handler = typeMap[type];
|
25
|
+
|
26
|
+
if (handler) {
|
27
|
+
return handler.getTextStyle(element);
|
28
|
+
}
|
29
|
+
|
30
|
+
return null;
|
31
|
+
}
|
32
|
+
export function getTextStyle(htSelection, styleNames) {
|
33
|
+
if (htSelection.length === 1) {
|
34
|
+
var element = htSelection[0];
|
35
|
+
return getElementTextStyle(element);
|
36
|
+
} else if (htSelection.length) {
|
37
|
+
// 多选时值相同返回?
|
38
|
+
var values = htSelection.map(function (element) {
|
39
|
+
return getElementTextStyle(element);
|
40
|
+
}).filter(function (item) {
|
41
|
+
return !!item;
|
42
|
+
});
|
43
|
+
|
44
|
+
if (!values.length) {
|
45
|
+
return null;
|
46
|
+
}
|
47
|
+
|
48
|
+
var value = {};
|
49
|
+
styleNames.forEach(function (styleName) {
|
50
|
+
var val = values[0][styleName];
|
51
|
+
var different = values.filter(function (obj) {
|
52
|
+
return obj[styleName] !== val;
|
53
|
+
});
|
54
|
+
|
55
|
+
if (!different.length) {
|
56
|
+
value[styleName] = val;
|
57
|
+
}
|
58
|
+
});
|
59
|
+
return Object.keys(value).length ? value : null;
|
60
|
+
}
|
61
|
+
|
62
|
+
return null;
|
63
|
+
}
|
64
|
+
export function setTextStyle(element, style, topo) {
|
65
|
+
var type = getElementType(element);
|
66
|
+
var handler = typeMap[type];
|
67
|
+
|
68
|
+
if (handler) {
|
69
|
+
handler.setTextStyle(element, style, topo);
|
70
|
+
}
|
71
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
3
|
+
var _excluded = ["Component"];
|
4
|
+
import React, { useMemo } from 'react';
|
5
|
+
import { setGlobalTagStyle, useValues } from "./globalTag";
|
6
|
+
|
7
|
+
function GlobalTagStyleSetting(props) {
|
8
|
+
var topo = props.topo;
|
9
|
+
|
10
|
+
var Component = props.Component,
|
11
|
+
widgetProps = _objectWithoutPropertiesLoose(props, _excluded);
|
12
|
+
|
13
|
+
var values = useValues(topo);
|
14
|
+
var setStyle = useMemo(function () {
|
15
|
+
return function (style) {
|
16
|
+
return setGlobalTagStyle(topo, style);
|
17
|
+
};
|
18
|
+
}, []);
|
19
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
20
|
+
style: values,
|
21
|
+
setStyle: setStyle
|
22
|
+
}, widgetProps));
|
23
|
+
}
|
24
|
+
|
25
|
+
export default GlobalTagStyleSetting;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
var defaultStyle = {
|
3
|
+
color: '#AFB9C2',
|
4
|
+
fontFamily: '微软雅黑'
|
5
|
+
};
|
6
|
+
export function useValues(topo) {
|
7
|
+
var displayConfigState = topo.store.useModelState('displayConfig');
|
8
|
+
var nodeLabelStyle = displayConfigState.nodeLabelStyle,
|
9
|
+
defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
|
10
|
+
return {
|
11
|
+
color: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.color) || defaultStyle.color,
|
12
|
+
fontFamily: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontFamily) || defaultStyle.fontFamily,
|
13
|
+
fontSize: nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontSize,
|
14
|
+
background: nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.background,
|
15
|
+
opacity: nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.opacity
|
16
|
+
};
|
17
|
+
}
|
18
|
+
export var setGlobalTagStyle = function setGlobalTagStyle(topo, styleData) {
|
19
|
+
var _topo$store$getModel = topo.store.getModel('displayConfig'),
|
20
|
+
displayConfigState = _topo$store$getModel[0],
|
21
|
+
displayConfigDispatchers = _topo$store$getModel[1];
|
22
|
+
|
23
|
+
var nodeLabelStyle = displayConfigState.nodeLabelStyle,
|
24
|
+
defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
|
25
|
+
|
26
|
+
var globalNodeLabelStyle = _extends({}, nodeLabelStyle, styleData);
|
27
|
+
|
28
|
+
topo.getHtTopo().setGlobalNodeLabelStyle(globalNodeLabelStyle);
|
29
|
+
|
30
|
+
var globalEdgeTagStyle = _extends({}, defaultEdgeLabelStyle, styleData);
|
31
|
+
|
32
|
+
topo.getHtTopo().setGlobalEdgeTagStyle(globalEdgeTagStyle);
|
33
|
+
displayConfigDispatchers.update({
|
34
|
+
nodeLabelStyle: globalNodeLabelStyle,
|
35
|
+
defaultEdgeLabelStyle: globalEdgeTagStyle
|
36
|
+
});
|
37
|
+
};
|
38
|
+
export function setStyle() {}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import React from 'react';
|
3
|
+
import ElementTextStyleSetting from "./ElementTextStyleSetting/ElementTextStyleSetting";
|
4
|
+
import GlobalTagStyleSetting from "./GlobalTagStyleSetting/GlobalTagStyleSetting";
|
5
|
+
|
6
|
+
function textStyleSettingRouter(Component, options) {
|
7
|
+
var names = (options === null || options === void 0 ? void 0 : options.names) || [];
|
8
|
+
return function TextStyleSettingButton(props) {
|
9
|
+
var topo = props.topo;
|
10
|
+
var selection = topo.selectionManager.useHtSelection();
|
11
|
+
var Widget = !selection.length ? GlobalTagStyleSetting : ElementTextStyleSetting;
|
12
|
+
return /*#__PURE__*/React.createElement(Widget, _extends({
|
13
|
+
Component: Component
|
14
|
+
}, props, {
|
15
|
+
styleNames: names
|
16
|
+
}));
|
17
|
+
};
|
18
|
+
}
|
19
|
+
|
20
|
+
export default textStyleSettingRouter;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import _ConfigProvider from "@alifd/next/es/config-provider";
|
2
|
+
import _Icon from "@alifd/next/es/icon";
|
3
|
+
import React from 'react';
|
4
|
+
import styles from "./CloseablePanel.module.scss";
|
5
|
+
|
6
|
+
function CloseablePanel(props) {
|
7
|
+
var prefix = props.prefix,
|
8
|
+
title = props.title,
|
9
|
+
onClose = props.onClose,
|
10
|
+
children = props.children;
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
12
|
+
className: styles.panel
|
13
|
+
}, /*#__PURE__*/React.createElement("div", {
|
14
|
+
className: prefix + "drawer-header",
|
15
|
+
role: "heading",
|
16
|
+
"aria-level": "1"
|
17
|
+
}, title, /*#__PURE__*/React.createElement("a", {
|
18
|
+
role: "button",
|
19
|
+
"aria-label": "\u5173\u95ED",
|
20
|
+
className: prefix + "drawer-close",
|
21
|
+
onClick: onClose
|
22
|
+
}, /*#__PURE__*/React.createElement(_Icon, {
|
23
|
+
type: "close",
|
24
|
+
className: "next-drawer-close-icon"
|
25
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
26
|
+
className: styles.body
|
27
|
+
}, children));
|
28
|
+
}
|
29
|
+
|
30
|
+
CloseablePanel.defaultProps = {
|
31
|
+
prefix: 'next-'
|
32
|
+
};
|
33
|
+
export default _ConfigProvider.config(CloseablePanel);
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import React, { useEffect } from 'react';
|
2
|
+
export default function OpenPropertyPanelListener(props) {
|
3
|
+
var topo = props.topo;
|
4
|
+
var topoEditDispatchers = topo.store.useModelDispatchers('topoEdit'); // 双击打开
|
5
|
+
|
6
|
+
useEffect(function () {
|
7
|
+
var notifier = topo.view.topoClient.notifier;
|
8
|
+
notifier.on('topo_element_double_click', handleDblClick);
|
9
|
+
|
10
|
+
function handleDblClick(element) {
|
11
|
+
topoEditDispatchers.update({
|
12
|
+
propertyPanelVisible: true
|
13
|
+
});
|
14
|
+
}
|
15
|
+
|
16
|
+
return function () {
|
17
|
+
notifier.off('topo_element_double_click', handleDblClick);
|
18
|
+
topoEditDispatchers.update({
|
19
|
+
propertyPanelVisible: false
|
20
|
+
});
|
21
|
+
};
|
22
|
+
}, []); // 未选择元素关闭
|
23
|
+
|
24
|
+
var selection = topo.selectionManager.useHtSelection();
|
25
|
+
useEffect(function () {
|
26
|
+
if (!selection.length) {
|
27
|
+
topoEditDispatchers.update({
|
28
|
+
propertyPanelVisible: false
|
29
|
+
});
|
30
|
+
}
|
31
|
+
}, [selection]);
|
32
|
+
return props.children;
|
33
|
+
}
|
@@ -1,37 +1,58 @@
|
|
1
|
+
import classNames from 'classnames';
|
1
2
|
import React from 'react';
|
3
|
+
import CloseablePanel from "./CloseablePanel";
|
4
|
+
import OpenPropertyPanelListener from "./OpenPropertyPanelListener";
|
2
5
|
import Settings from "./Settings";
|
3
6
|
import styles from "./Settings.module.scss";
|
4
7
|
export default function PropertyView(props) {
|
8
|
+
var _classNames;
|
9
|
+
|
5
10
|
var topo = props.topo,
|
6
11
|
editorProps = props.editorProps;
|
7
12
|
var store = topo.store;
|
8
13
|
var topoState = store.useModelState('topoMod');
|
14
|
+
var topoShowType = topoState.type,
|
15
|
+
graphLoaded = topoState.graphLoaded;
|
9
16
|
|
10
17
|
var _store$useModelState = store.useModelState('selection'),
|
11
18
|
selection = _store$useModelState.selection;
|
12
19
|
|
13
|
-
var
|
14
|
-
|
20
|
+
var _topo$store$useModel = topo.store.useModel('topoEdit'),
|
21
|
+
topoEditState = _topo$store$useModel[0],
|
22
|
+
topoEditDispatchers = _topo$store$useModel[1];
|
23
|
+
|
24
|
+
var propertyPanelVisible = topoEditState.propertyPanelVisible;
|
15
25
|
|
16
|
-
if (!
|
26
|
+
if (!graphLoaded) {
|
17
27
|
return null;
|
18
28
|
}
|
19
29
|
|
20
30
|
var renderContent = function renderContent() {
|
21
|
-
if (!
|
31
|
+
if (!propertyPanelVisible) {
|
22
32
|
return null;
|
23
33
|
}
|
24
34
|
|
25
|
-
return /*#__PURE__*/React.createElement(
|
35
|
+
return /*#__PURE__*/React.createElement(OpenPropertyPanelListener, {
|
36
|
+
topo: topo
|
37
|
+
}, /*#__PURE__*/React.createElement(Settings, {
|
26
38
|
topo: topo,
|
27
39
|
topoShowType: topoShowType,
|
28
40
|
topoEditApi: topo.topoEdit,
|
29
41
|
selection: selection,
|
30
42
|
editorProps: editorProps
|
31
|
-
});
|
43
|
+
}));
|
32
44
|
};
|
33
45
|
|
34
46
|
return /*#__PURE__*/React.createElement("div", {
|
35
|
-
className: styles.settingsPanel
|
36
|
-
},
|
47
|
+
className: classNames(styles.settingsPanel, (_classNames = {}, _classNames[styles.settingsPanelHide] = !propertyPanelVisible, _classNames))
|
48
|
+
}, /*#__PURE__*/React.createElement(CloseablePanel, {
|
49
|
+
title: "\u6570\u636E\u5C5E\u6027",
|
50
|
+
onClose: function onClose() {
|
51
|
+
topoEditDispatchers.update({
|
52
|
+
propertyPanelVisible: false
|
53
|
+
});
|
54
|
+
}
|
55
|
+
}, /*#__PURE__*/React.createElement(OpenPropertyPanelListener, {
|
56
|
+
topo: topo
|
57
|
+
}, renderContent())));
|
37
58
|
}
|
@@ -41,17 +41,10 @@ export default function Settings(props) {
|
|
41
41
|
topoEditApi = props.topoEditApi,
|
42
42
|
selection = props.selection,
|
43
43
|
editorProps = props.editorProps;
|
44
|
-
var settingRuntimeState = useSettingRuntimeState(); //
|
45
|
-
// const selectionIds = selection.map((item) => item.id).join(",");
|
46
|
-
// useEffect(() => {
|
47
|
-
// const selectionModel = topo.getSelectionModel();
|
48
|
-
// console.info('selection change', selection)
|
49
|
-
// }, [selection]);
|
50
|
-
// TODO 待优化
|
44
|
+
var settingRuntimeState = useSettingRuntimeState(); // TODO 待优化
|
51
45
|
|
52
46
|
var updateElementProperty = function updateElementProperty(name, value) {
|
53
47
|
// const element = topo.getDataModel().getDataById(selection[0].id);
|
54
|
-
var gv = topo.view.topoClient.getGraphView();
|
55
48
|
var element = topo.getSelectionModel().getFirstData(); // console.info("updateElementProperty",topo.getSelectionModel().getSelection(), { selection, element, name, value });
|
56
49
|
|
57
50
|
if (name.startsWith("attrObject.")) {
|
@@ -70,41 +63,8 @@ export default function Settings(props) {
|
|
70
63
|
element.setImage(value);
|
71
64
|
} else if (name === "layout") {
|
72
65
|
// console.info("element----layout", element, value);
|
73
|
-
var layouType = value.id === "toward" ? "" + value.id + value.options.subId : value.id;
|
74
|
-
|
75
|
-
// topo.view.topoClient.htTopoClient,
|
76
|
-
// layouType
|
77
|
-
// );
|
78
|
-
|
79
|
-
topo.getHtTopo().layoutInContainer(layouType); // let autoLayout = new ht.layout.AutoLayout(gv);
|
80
|
-
// const layouType=value.id==='toward'?`${value.id}${value.options.subId}`:value.id;
|
81
|
-
// gv.dm().sm().ss(element.getChildren());
|
82
|
-
// autoLayout.layout(layouType, function () {
|
83
|
-
// gv.dm().sm().ss(element);
|
84
|
-
// });
|
85
|
-
} else if (name === "groupAlign") {
|
86
|
-
var selectList = [];
|
87
|
-
|
88
|
-
if (selection.length === 1) {
|
89
|
-
// 选择分层
|
90
|
-
if (element instanceof ht.Grid) {
|
91
|
-
// selectList = gv
|
92
|
-
// .dm()
|
93
|
-
// .toDatas((d) => d.getHost() === gv.dm().sm().ld())
|
94
|
-
// .toArray();
|
95
|
-
selectList = element.getChildren().toArray();
|
96
|
-
} // 选择分区
|
97
|
-
|
98
|
-
|
99
|
-
if (element instanceof ht.Group) {
|
100
|
-
selectList = element.getChildren().toArray();
|
101
|
-
}
|
102
|
-
} else {
|
103
|
-
selectList = topo.getSelectionModel().getSelection().toArray();
|
104
|
-
} // console.info("element--selectList", element, selectList);
|
105
|
-
|
106
|
-
|
107
|
-
topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(value, selectList);
|
66
|
+
var layouType = value.id === "toward" ? "" + value.id + value.options.subId : value.id;
|
67
|
+
topo.getHtTopo().layoutInContainer(layouType);
|
108
68
|
}
|
109
69
|
};
|
110
70
|
|
@@ -125,7 +85,7 @@ export default function Settings(props) {
|
|
125
85
|
});
|
126
86
|
});
|
127
87
|
return /*#__PURE__*/React.createElement("div", {
|
128
|
-
className: styles.
|
88
|
+
className: styles.content
|
129
89
|
}, /*#__PURE__*/React.createElement(PropertyView, {
|
130
90
|
type: elementType,
|
131
91
|
topo: topo,
|
@@ -7,14 +7,17 @@
|
|
7
7
|
top: 0;
|
8
8
|
right: 0;
|
9
9
|
border-radius: 2px;
|
10
|
-
|
11
|
-
//border-left: none;
|
10
|
+
border-left: 1px solid #E6E7EB;
|
12
11
|
|
13
12
|
display: flex;
|
14
13
|
flex-direction: column;
|
15
14
|
overflow: hidden;
|
15
|
+
transition: width .1s linear;
|
16
16
|
|
17
|
-
|
17
|
+
&.settingsPanelHide {
|
18
|
+
width: 0;
|
19
|
+
border-left: none;
|
20
|
+
}
|
18
21
|
|
19
22
|
:global {
|
20
23
|
// 滚动条
|
@@ -72,9 +75,10 @@
|
|
72
75
|
}
|
73
76
|
}
|
74
77
|
|
75
|
-
.
|
78
|
+
.content {
|
76
79
|
flex: 1;
|
77
80
|
background: #FFFFFF;
|
78
81
|
overflow: auto;
|
79
82
|
// padding-bottom: 12px;
|
83
|
+
|
80
84
|
}
|
@@ -6,7 +6,7 @@
|
|
6
6
|
background: #EBECF0;
|
7
7
|
margin-right: 3px;
|
8
8
|
height: 16px;
|
9
|
-
|
9
|
+
width:1px;
|
10
10
|
}
|
11
11
|
}
|
12
12
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
border-radius: 4px;
|
17
17
|
border: none !important;
|
18
18
|
color: #4D6277;
|
19
|
-
padding-left:
|
19
|
+
padding-left: 2px;
|
20
20
|
margin-right: 3px;
|
21
21
|
|
22
22
|
&:active {
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import _Button from "@alifd/next/es/button";
|
2
|
+
import _Icon from "@alifd/next/es/icon";
|
3
|
+
import _Divider from "@alifd/next/es/divider";
|
4
|
+
import React, { useState } from 'react';
|
5
|
+
import styles from "./AlignSetting.module.scss";
|
6
|
+
var TREE_LAYOUT_OPTIONS = [{
|
7
|
+
value: 'left',
|
8
|
+
label: '左对齐',
|
9
|
+
icon: 'tuopu_zuoceduiqi'
|
10
|
+
}, {
|
11
|
+
value: 'center',
|
12
|
+
label: '水平居中',
|
13
|
+
icon: 'tuopu_shuipingjuzhongduiqi'
|
14
|
+
}, {
|
15
|
+
value: 'right',
|
16
|
+
label: '右对齐',
|
17
|
+
icon: 'tuopu_youceduiqi'
|
18
|
+
}, {
|
19
|
+
value: 'top',
|
20
|
+
label: '靠上对齐',
|
21
|
+
icon: 'tuopu_dingbuduiqi'
|
22
|
+
}, {
|
23
|
+
value: 'middle',
|
24
|
+
label: '垂直居中',
|
25
|
+
icon: 'tuopu_chuizhijuzhongduiqi'
|
26
|
+
}, {
|
27
|
+
value: 'bottom',
|
28
|
+
label: '靠下对齐',
|
29
|
+
icon: 'tuopu_dibuduiqi'
|
30
|
+
}, {
|
31
|
+
value: 'divide'
|
32
|
+
}, {
|
33
|
+
value: 'distributeHorizontal',
|
34
|
+
label: '横向分布',
|
35
|
+
icon: 'tuopu_shuipingdengjianjuduiqi'
|
36
|
+
}, {
|
37
|
+
value: 'distributeVertical',
|
38
|
+
label: '纵向分布',
|
39
|
+
icon: 'tuopu_chuizhidengjianjuduiqi'
|
40
|
+
}];
|
41
|
+
|
42
|
+
var AlignTypeList = function AlignTypeList(props) {
|
43
|
+
var _props$selected = props.selected,
|
44
|
+
selected = _props$selected === void 0 ? 'left' : _props$selected,
|
45
|
+
onChange = props.onChange,
|
46
|
+
distributionDisabled = props.distributionDisabled;
|
47
|
+
|
48
|
+
var _useState = useState(selected),
|
49
|
+
value = _useState[0],
|
50
|
+
setValue = _useState[1];
|
51
|
+
|
52
|
+
var handleChange = function handleChange(data) {
|
53
|
+
// console.log("handleChange", data);
|
54
|
+
onChange && onChange(data.value);
|
55
|
+
setValue(data.value); // setValue(data)
|
56
|
+
};
|
57
|
+
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
59
|
+
className: styles.AlignSetting
|
60
|
+
}, TREE_LAYOUT_OPTIONS.map(function (item, index, array) {
|
61
|
+
return item.value === 'divide' ? /*#__PURE__*/React.createElement(_Divider, {
|
62
|
+
key: index,
|
63
|
+
direction: "ver"
|
64
|
+
}) : /*#__PURE__*/React.createElement(_Button, {
|
65
|
+
key: index,
|
66
|
+
className: "" + styles.redioBtn,
|
67
|
+
text: true,
|
68
|
+
onClick: function onClick() {
|
69
|
+
handleChange(item);
|
70
|
+
},
|
71
|
+
title: item.label // eslint-disable-next-line no-unneeded-ternary
|
72
|
+
,
|
73
|
+
disabled: (item.value === 'distributeHorizontal' || item.value === 'distributeVertical') && distributionDisabled
|
74
|
+
}, /*#__PURE__*/React.createElement(_Icon, {
|
75
|
+
type: item.icon
|
76
|
+
}));
|
77
|
+
}));
|
78
|
+
};
|
79
|
+
|
80
|
+
export default AlignTypeList;
|