@riil-frontend/component-topology 6.0.0-alpha.9 → 6.0.2
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/demo/CHANGELOG/CHANGELOG.md +5 -0
- 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 +25 -0
- package/es/components/ColorPanel/index.js +260 -0
- package/es/components/ColorPanel/index.module.scss +35 -0
- package/es/components/VerticalIconTab/VerticalIconTab.js +11 -1
- package/es/components/VerticalIconTab/VerticalIconTab.module.scss +2 -0
- 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 +40 -0
- package/es/core/common/icons/useIcons.js +5 -19
- 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 +84 -22
- package/es/core/components/TopoView/GraphViewPanel.js +22 -0
- package/es/core/components/TopoView/editor.module.scss +1 -0
- package/es/core/components/TopoView/topoView.js +30 -60
- package/es/core/components/titlebar/TitleBar.module.scss +1 -1
- package/es/core/editor/components/EditorPlugin.js +18 -2
- package/es/core/editor/components/Sidebar/Sidebar.js +29 -7
- package/es/core/editor/components/Sidebar/panes.js +10 -5
- package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +11 -30
- package/es/core/editor/components/Sidebar/views/CanvasPanel/hooks/useCanvasThemeConfig.js +109 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/hooks/useUpdateHtTopoDefaultTagStyle.js +27 -0
- package/es/core/editor/components/Sidebar/views/CanvasPanel/utils/elementThemeUtil.js +0 -0
- package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +3 -3
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +12 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +12 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +3 -3
- package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +27 -8
- package/es/core/editor/components/Toolbar/buttons.js +2 -2
- package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
- package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +3 -3
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +46 -2
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +98 -6
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +59 -25
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +3 -5
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +77 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +52 -5
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +166 -16
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +42 -0
- package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +26 -12
- package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +37 -12
- package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +92 -39
- package/es/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +4 -2
- package/es/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +1 -2
- 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 +130 -15
- package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +107 -23
- package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
- package/es/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +2 -2
- package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +20 -7
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +40 -35
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +10 -4
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +10 -1
- package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.js +2 -2
- package/es/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +4 -0
- package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +19 -8
- package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +21 -7
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +52 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +67 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +41 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +65 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +65 -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 +73 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +69 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +37 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +124 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +31 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +98 -0
- package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
- package/es/core/editor/components/plugins/AddElementThemePlugin.js +11 -0
- package/es/core/editor/components/settings/CloseablePanel.js +33 -0
- package/es/core/editor/components/settings/CloseablePanel.module.scss +21 -0
- package/es/core/editor/components/settings/PropertyView.js +50 -11
- package/es/core/editor/components/settings/Settings.js +37 -122
- package/es/core/editor/components/settings/Settings.module.scss +7 -11
- package/es/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +3 -3
- 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/GroupNodeList/ResourceList.module.scss +1 -0
- package/es/core/editor/components/settings/common/LineType/index.js +11 -102
- package/es/core/editor/components/settings/common/NameInput.js +24 -0
- package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +21 -18
- package/es/core/editor/components/settings/common/text/fontStyleUtil.js +21 -19
- package/es/core/editor/components/settings/core/PropertyViewManager.js +81 -0
- package/es/core/editor/components/settings/core/edgePropertyViewAdapter.js +22 -0
- package/es/core/editor/components/settings/core/getPropertyViewType.js +34 -0
- package/es/core/editor/components/settings/core/updateElementProperty.js +21 -0
- package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
- package/es/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +58 -0
- package/es/core/editor/components/settings/propertyViews/box/NameInput.js +5 -4
- package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +12 -3
- package/es/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +7 -8
- package/es/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +9 -23
- package/es/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +10 -0
- package/es/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
- package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +13 -21
- package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
- package/es/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +28 -0
- package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +75 -0
- package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -15
- package/es/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +8 -6
- package/es/core/editor/components/settings/propertyViews/index.js +4 -6
- package/es/core/editor/components/settings/propertyViews/layer/BasicSetting.js +57 -0
- package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +11 -17
- package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
- package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +27 -0
- package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +5 -7
- package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
- package/es/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -32
- package/es/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +53 -0
- package/es/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +49 -0
- package/es/core/editor/components/settings/propertyViews/node/Setting/NameInput.js +5 -4
- package/es/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
- package/es/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
- package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +5 -20
- package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +8 -4
- package/es/core/editor/config/themes.js +105 -0
- package/es/core/editor/hooks/useKeyboardShortcut.js +39 -0
- package/es/core/editor/hooks/useNewElementTheme.js +46 -0
- package/es/core/editor/store/topoEdit.js +44 -37
- package/es/core/editor/utils/edgeTypeStyleUtil.js +34 -11
- package/es/core/editor/utils/textStyleUtil.js +0 -0
- package/es/core/editor/utils/themeUtil.js +32 -0
- package/es/core/hooks/useCanvasTheme.js +54 -0
- package/es/core/hooks/useManageStatus.js +1 -9
- package/es/core/hooks/usePolling.js +2 -5
- package/es/core/hooks/useTopoEdit.js +15 -8
- package/es/core/models/Alarm.js +2 -2
- package/es/core/models/AttributeMetricDisplay.js +4 -0
- package/es/core/models/HistoryManager.js +13 -8
- package/es/core/models/{SelectionManager.js → SelectionModel.js} +55 -22
- package/es/core/models/TopoApp.js +6 -5
- package/es/core/models/selection/ignoreList.js +1 -0
- package/es/core/models/utils/linkUtils.js +5 -6
- package/es/core/store/models/customIcon.js +1 -3
- package/es/core/store/models/selection.js +2 -1
- package/es/core/store/models/topoBizMod.js +0 -3
- package/es/core/store/models/topoConfig.js +10 -12
- package/es/core/store/models/topoMod.js +26 -28
- package/es/core/utils/edgeUtil.js +6 -0
- package/es/core/utils/showGraphManageStatusUtil.js +7 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +18 -13
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +38 -19
- 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/plugins/ViewerPlugin.js +10 -4
- 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/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +2 -1
- package/es/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +39 -6
- package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -16
- package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +37 -0
- package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
- package/es/networkTopo/components/editor/useEditorProps.js +1 -3
- package/es/networkTopo/createTopo.js +2 -0
- package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
- package/es/networkTopo/services/link.js +2 -2
- package/es/networkTopo/store/topoTreeMod.js +6 -7
- package/es/style.js +28 -27
- 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 +25 -0
- package/lib/components/ColorPanel/index.js +279 -0
- package/lib/components/ColorPanel/index.module.scss +35 -0
- package/lib/components/VerticalIconTab/VerticalIconTab.js +14 -1
- package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +2 -0
- 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 +47 -0
- package/lib/core/common/icons/useIcons.js +7 -18
- 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 +84 -22
- package/lib/core/components/TopoView/GraphViewPanel.js +32 -0
- package/lib/core/components/TopoView/editor.module.scss +1 -0
- package/lib/core/components/TopoView/topoView.js +36 -67
- package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
- package/lib/core/editor/components/EditorPlugin.js +26 -2
- package/lib/core/editor/components/Sidebar/Sidebar.js +28 -6
- package/lib/core/editor/components/Sidebar/panes.js +10 -5
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +12 -31
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/hooks/useCanvasThemeConfig.js +123 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/hooks/useUpdateHtTopoDefaultTagStyle.js +37 -0
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/utils/elementThemeUtil.js +1 -0
- package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +13 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +13 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.module.scss +3 -3
- package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +36 -12
- package/lib/core/editor/components/Toolbar/buttons.js +2 -2
- package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
- package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +3 -3
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/Content.js +48 -2
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +100 -6
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +58 -24
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +3 -3
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/constants.js +83 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +53 -4
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +172 -16
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +42 -0
- package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +27 -11
- package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +38 -11
- package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +96 -39
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/index.module.scss +4 -2
- package/lib/core/editor/components/Toolbar/widgets/IconSelect/popUpContent.js +1 -2
- 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 +135 -16
- package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +110 -23
- package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +33 -0
- package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/BoxBackgroundSetting.js +2 -2
- package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +21 -7
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +40 -34
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.module.scss +28 -0
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +13 -4
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +10 -1
- package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.js +2 -2
- package/lib/core/editor/components/Toolbar/widgets/components/ButtonBox.module.scss +4 -0
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +19 -8
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +22 -7
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +66 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/colorUtil.js +82 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +58 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +86 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +88 -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 +90 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +90 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +54 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +141 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +46 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +111 -0
- package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
- package/lib/core/editor/components/plugins/AddElementThemePlugin.js +20 -0
- package/lib/core/editor/components/settings/CloseablePanel.js +46 -0
- package/lib/core/editor/components/settings/CloseablePanel.module.scss +21 -0
- package/lib/core/editor/components/settings/PropertyView.js +59 -12
- package/lib/core/editor/components/settings/Settings.js +40 -122
- package/lib/core/editor/components/settings/Settings.module.scss +7 -11
- package/lib/core/editor/components/settings/common/AlignSetting/AlignSetting.module.scss +3 -3
- 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/GroupNodeList/ResourceList.module.scss +1 -0
- package/lib/core/editor/components/settings/common/LineType/index.js +11 -109
- package/lib/core/editor/components/settings/common/NameInput.js +38 -0
- package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +21 -19
- package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +25 -20
- package/lib/core/editor/components/settings/core/PropertyViewManager.js +91 -0
- package/lib/core/editor/components/settings/core/edgePropertyViewAdapter.js +33 -0
- package/lib/core/editor/components/settings/core/getPropertyViewType.js +40 -0
- package/lib/core/editor/components/settings/core/updateElementProperty.js +27 -0
- package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
- package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +76 -0
- package/lib/core/editor/components/settings/propertyViews/box/NameInput.js +6 -5
- package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -3
- package/lib/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +9 -12
- package/lib/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +7 -23
- package/lib/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +19 -0
- package/lib/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
- package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +14 -25
- package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
- package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +43 -0
- package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +98 -0
- package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +8 -14
- package/lib/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +9 -7
- package/lib/core/editor/components/settings/propertyViews/index.js +4 -9
- package/lib/core/editor/components/settings/propertyViews/layer/BasicSetting.js +75 -0
- package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +12 -20
- package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
- package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +40 -0
- package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +4 -6
- package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +2 -15
- package/lib/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -35
- package/lib/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +68 -0
- package/lib/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +64 -0
- package/lib/core/editor/components/settings/propertyViews/node/Setting/NameInput.js +6 -5
- package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
- package/lib/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
- package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +5 -20
- package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +9 -1
- package/lib/core/editor/config/themes.js +114 -0
- package/lib/core/editor/hooks/useKeyboardShortcut.js +49 -0
- package/lib/core/editor/hooks/useNewElementTheme.js +57 -0
- package/lib/core/editor/store/topoEdit.js +46 -40
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +38 -11
- package/lib/core/editor/utils/textStyleUtil.js +1 -0
- package/lib/core/editor/utils/themeUtil.js +39 -0
- package/lib/core/hooks/useCanvasTheme.js +68 -0
- package/lib/core/hooks/useManageStatus.js +1 -9
- package/lib/core/hooks/usePolling.js +2 -5
- package/lib/core/hooks/useTopoEdit.js +16 -8
- package/lib/core/models/Alarm.js +2 -2
- package/lib/core/models/AttributeMetricDisplay.js +4 -0
- package/lib/core/models/HistoryManager.js +13 -8
- package/lib/core/models/{SelectionManager.js → SelectionModel.js} +57 -22
- package/lib/core/models/TopoApp.js +7 -5
- package/lib/core/models/selection/ignoreList.js +6 -0
- package/lib/core/models/utils/linkUtils.js +5 -6
- package/lib/core/store/models/customIcon.js +1 -3
- package/lib/core/store/models/selection.js +2 -1
- package/lib/core/store/models/topoBizMod.js +0 -3
- package/lib/core/store/models/topoConfig.js +9 -18
- package/lib/core/store/models/topoMod.js +27 -29
- package/lib/core/utils/edgeUtil.js +6 -0
- package/lib/core/utils/showGraphManageStatusUtil.js +7 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +18 -13
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +38 -19
- 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/plugins/ViewerPlugin.js +11 -3
- 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/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +1 -0
- package/lib/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +45 -7
- package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -18
- package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +50 -0
- package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
- package/lib/networkTopo/components/editor/useEditorProps.js +1 -4
- package/lib/networkTopo/createTopo.js +3 -0
- package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
- package/lib/networkTopo/services/link.js +2 -2
- package/lib/networkTopo/store/topoTreeMod.js +6 -8
- package/lib/style.js +28 -27
- package/lib/utils/htElementUtils.js +5 -0
- package/lib/utils/topoData.js +1 -0
- package/package.json +5 -4
@@ -1,12 +1,13 @@
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
2
2
|
var _excluded = ["topo", "showLabel"];
|
3
|
-
import React, { useEffect, useState } from
|
3
|
+
import React, { useEffect, useState } from 'react'; // import BatchSetNodeSize from "../../../settings/propertyViews/view/BatchSetNodeSize";
|
4
4
|
|
5
5
|
import BatchSetNodeSize from "../../../settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize";
|
6
6
|
import NodeSizeInput from "../../../settings/common/NodeSizeInput/NodeSizeInput";
|
7
7
|
import useSettingRuntimeState from "../../../settings/useSettingRuntimeState";
|
8
8
|
import WidgetBox from "../WidgetBox";
|
9
|
-
import
|
9
|
+
import styles from "./NodeSizeButton.module.scss";
|
10
|
+
import { isGroup, isNode } from "../../../../../../utils/htElementUtils";
|
10
11
|
/**
|
11
12
|
* 图片尺寸设置
|
12
13
|
* @param {*} props
|
@@ -27,17 +28,26 @@ function NodeSizeButton(props) {
|
|
27
28
|
setSize = _useState2[1]; // 选中的元素
|
28
29
|
|
29
30
|
|
30
|
-
var selection = topo.
|
31
|
+
var selection = topo.selectionModel.useSelection();
|
31
32
|
var settingRuntimeState = useSettingRuntimeState();
|
32
33
|
useEffect(function () {
|
33
|
-
|
34
|
-
|
34
|
+
var elements = selection.map(function (item) {
|
35
|
+
return item.id;
|
36
|
+
}).map(function (id) {
|
37
|
+
return topo.getDataModel().getDataById(id);
|
38
|
+
});
|
39
|
+
var nodes = elements.filter(function (ele) {
|
40
|
+
return isGroup(ele) || isNode(ele);
|
41
|
+
});
|
42
|
+
|
43
|
+
if (nodes.length > 0) {
|
35
44
|
setDisabled(false);
|
36
45
|
|
37
46
|
if (selection.length === 1) {
|
47
|
+
var element = nodes[0];
|
38
48
|
setSize({
|
39
|
-
width:
|
40
|
-
height:
|
49
|
+
width: element.getWidth(),
|
50
|
+
height: element.getHeight()
|
41
51
|
});
|
42
52
|
}
|
43
53
|
} else {
|
@@ -50,67 +60,62 @@ function NodeSizeButton(props) {
|
|
50
60
|
}, [selection]);
|
51
61
|
|
52
62
|
var _onChange = function onChange(prop) {
|
53
|
-
console.log("onChange-prop", prop);
|
54
63
|
var name = prop.name,
|
55
64
|
value = prop.value;
|
56
|
-
var gv = topo.view.topoClient.getGraphView();
|
57
65
|
var element = topo.getSelectionModel().getFirstData();
|
58
66
|
|
59
|
-
if (name ===
|
67
|
+
if (name === 'width') {
|
60
68
|
element.setWidth(value);
|
61
|
-
} else if (name ===
|
69
|
+
} else if (name === 'height') {
|
62
70
|
element.setHeight(value);
|
63
71
|
}
|
64
72
|
};
|
65
73
|
|
66
74
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
67
75
|
label: "\u56FE\u7247\u5C3A\u5BF8",
|
76
|
+
disabled: disabled,
|
68
77
|
tooltip: "\u56FE\u7247\u5C3A\u5BF8",
|
69
78
|
showLabel: showLabel
|
70
79
|
}, /*#__PURE__*/React.createElement("div", {
|
71
|
-
|
72
|
-
width: 136
|
73
|
-
}
|
80
|
+
className: styles.toolbarNodeSizeSetting
|
74
81
|
}, selection.length > 1 ? /*#__PURE__*/React.createElement(BatchSetNodeSize, {
|
75
|
-
topo: topo
|
76
|
-
|
82
|
+
topo: topo // size="small"
|
83
|
+
,
|
77
84
|
value: size,
|
78
85
|
disabled: disabled,
|
79
86
|
showLabel: false,
|
80
|
-
|
81
|
-
|
82
|
-
|
87
|
+
numberPickerProps: {
|
88
|
+
hasTrigger: false,
|
89
|
+
placeholder: '-'
|
90
|
+
} // onChange={(size) => {
|
91
|
+
// topo.historyManager.beginTransaction();
|
92
|
+
// onChange({ name: "width", value: size.width });
|
93
|
+
// onChange({ name: "height", value: size.height });
|
94
|
+
// topo.historyManager.endTransaction();
|
95
|
+
// }}
|
83
96
|
|
84
|
-
_onChange({
|
85
|
-
name: "width",
|
86
|
-
value: size.width
|
87
|
-
});
|
88
|
-
|
89
|
-
_onChange({
|
90
|
-
name: "height",
|
91
|
-
value: size.height
|
92
|
-
});
|
93
|
-
|
94
|
-
topo.historyManager.endTransaction();
|
95
|
-
}
|
96
97
|
}) : /*#__PURE__*/React.createElement(NodeSizeInput, {
|
97
|
-
topo: topo
|
98
|
-
|
98
|
+
topo: topo // size="small"
|
99
|
+
,
|
99
100
|
value: size,
|
100
101
|
disabled: disabled,
|
101
102
|
showLabel: false,
|
102
103
|
hasTrigger: false,
|
104
|
+
numberPickerProps: {
|
105
|
+
hasTrigger: false,
|
106
|
+
placeholder: '-'
|
107
|
+
},
|
103
108
|
settingRuntimeState: settingRuntimeState,
|
104
109
|
onChange: function onChange(size) {
|
105
110
|
topo.historyManager.beginTransaction();
|
106
111
|
|
107
112
|
_onChange({
|
108
|
-
name:
|
113
|
+
name: 'width',
|
109
114
|
value: size.width
|
110
115
|
});
|
111
116
|
|
112
117
|
_onChange({
|
113
|
-
name:
|
118
|
+
name: 'height',
|
114
119
|
value: size.height
|
115
120
|
});
|
116
121
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
@import '~@alifd/next/variables.scss';
|
2
|
+
|
3
|
+
.toolbarNodeSizeSetting {
|
4
|
+
width: 144px;
|
5
|
+
|
6
|
+
// 图片尺寸输入框
|
7
|
+
:global {
|
8
|
+
.#{$css-prefix}input-inner {
|
9
|
+
padding-right: 8px;
|
10
|
+
}
|
11
|
+
|
12
|
+
.#{$css-prefix}input.#{$css-prefix}medium {
|
13
|
+
height: 24px;
|
14
|
+
}
|
15
|
+
|
16
|
+
.#{$css-prefix}input {
|
17
|
+
border: none;
|
18
|
+
|
19
|
+
&:hover:not(.#{$css-prefix}disabled) {
|
20
|
+
background: #F2F7FD;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
.#{$css-prefix}input.#{$css-prefix}medium input {
|
25
|
+
height: 24px;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
import _Balloon from "@alifd/next/es/balloon";
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
4
|
+
var _excluded = ["label", "showLabel", "tooltip", "disabled", "children"];
|
2
5
|
import React from 'react';
|
6
|
+
import classnames from 'classnames';
|
3
7
|
import ButtonBox from "./components/ButtonBox";
|
4
8
|
import styles from "./WidgetBox.module.scss";
|
5
9
|
|
@@ -8,14 +12,16 @@ function WidgetBox(props) {
|
|
8
12
|
showLabel = props.showLabel,
|
9
13
|
tooltip = props.tooltip,
|
10
14
|
disabled = props.disabled,
|
11
|
-
children = props.children
|
12
|
-
|
15
|
+
children = props.children,
|
16
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
17
|
+
|
18
|
+
var button = /*#__PURE__*/React.createElement("div", _extends({
|
13
19
|
disabled: disabled,
|
14
20
|
className: styles.container
|
15
|
-
}, /*#__PURE__*/React.createElement("div", {
|
21
|
+
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
16
22
|
className: styles.content
|
17
23
|
}, children), showLabel !== false && /*#__PURE__*/React.createElement("div", {
|
18
|
-
className: styles.label
|
24
|
+
className: classnames(styles.label, disabled ? styles.disabledLabel : styles.normalLabel)
|
19
25
|
}, label));
|
20
26
|
|
21
27
|
if (!tooltip) {
|
@@ -44,6 +44,14 @@
|
|
44
44
|
text-align: center;
|
45
45
|
}
|
46
46
|
|
47
|
+
.disabledLabel {
|
48
|
+
color: #C9CED2;
|
49
|
+
}
|
50
|
+
|
51
|
+
.normalLabel {
|
52
|
+
color: #78849C;
|
53
|
+
}
|
54
|
+
|
47
55
|
.ButtonBox {
|
48
56
|
height: 24px;
|
49
57
|
display: flex;
|
@@ -57,9 +65,10 @@
|
|
57
65
|
background: rgba(76, 137, 255, 0.1);
|
58
66
|
border-radius: 4px;
|
59
67
|
}
|
68
|
+
|
60
69
|
&.ButtonBoxDisabled:hover {
|
61
70
|
background: transparent;
|
62
71
|
cursor: not-allowed;
|
63
72
|
}
|
64
|
-
|
73
|
+
|
65
74
|
}
|
@@ -18,12 +18,12 @@ function ButtonBox(props) {
|
|
18
18
|
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
19
19
|
|
20
20
|
return /*#__PURE__*/React.createElement("div", _extends({
|
21
|
-
className: classNames(styles.ButtonBox, (_classNames = {}, _classNames[styles.ButtonBoxActive] = active, _classNames[styles.ButtonBoxDisabled] = disabled, _classNames)),
|
21
|
+
className: classNames(styles.ButtonBox, (_classNames = {}, _classNames[styles.ButtonBoxActive] = active, _classNames[styles.ButtonBoxDisabled] = disabled, _classNames[styles.disabled] = disabled, _classNames)),
|
22
22
|
onClick: disabled ? undefined : onClick
|
23
23
|
}, otherProps), children, showArrow && /*#__PURE__*/React.createElement(React.Fragment, null, "\xA0", /*#__PURE__*/React.createElement(_Icon, {
|
24
24
|
type: "tree_fold_arrow",
|
25
25
|
size: "xxs",
|
26
|
-
className: classNames(styles.icon, (_classNames2 = {}, _classNames2[styles.active] = active, _classNames2))
|
26
|
+
className: classNames(styles.icon, (_classNames2 = {}, _classNames2[styles.active] = active, _classNames2[styles.disabled] = disabled, _classNames2))
|
27
27
|
})));
|
28
28
|
}
|
29
29
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import _Dropdown from "@alifd/next/es/dropdown";
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
3
|
import React, { useState } from 'react';
|
3
4
|
import PropTypes from 'prop-types';
|
4
5
|
import ButtonBox from "./ButtonBox";
|
@@ -11,24 +12,34 @@ function DropdownButton(props) {
|
|
11
12
|
showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
|
12
13
|
_props$showContainer = props.showContainer,
|
13
14
|
showContainer = _props$showContainer === void 0 ? true : _props$showContainer,
|
15
|
+
buttonBoxProps = props.buttonBoxProps,
|
14
16
|
children = props.children;
|
15
17
|
|
16
18
|
var _useState = useState(false),
|
17
|
-
|
18
|
-
|
19
|
+
visible = _useState[0],
|
20
|
+
setVisible = _useState[1];
|
19
21
|
|
20
|
-
var button = /*#__PURE__*/React.createElement(ButtonBox, {
|
21
|
-
active:
|
22
|
+
var button = /*#__PURE__*/React.createElement(ButtonBox, _extends({
|
23
|
+
active: visible,
|
22
24
|
disabled: disabled,
|
23
25
|
showArrow: showArrow
|
24
|
-
}, trigger);
|
26
|
+
}, buttonBoxProps), trigger);
|
27
|
+
|
28
|
+
var renderContent = function renderContent() {
|
29
|
+
if (showContainer) {
|
30
|
+
return /*#__PURE__*/React.createElement(PopupCard, null, children);
|
31
|
+
}
|
32
|
+
|
33
|
+
return children;
|
34
|
+
};
|
35
|
+
|
25
36
|
return /*#__PURE__*/React.createElement(_Dropdown, {
|
26
|
-
visible:
|
37
|
+
visible: visible,
|
27
38
|
disabled: disabled,
|
28
39
|
trigger: button,
|
29
40
|
triggerType: "click",
|
30
|
-
onVisibleChange:
|
31
|
-
},
|
41
|
+
onVisibleChange: setVisible
|
42
|
+
}, renderContent());
|
32
43
|
}
|
33
44
|
|
34
45
|
DropdownButton.propTypes = {
|
@@ -6,18 +6,32 @@ import DropdownButton from "./DropdownButton";
|
|
6
6
|
function DropdownMenu(props) {
|
7
7
|
var value = props.value,
|
8
8
|
children = props.children,
|
9
|
-
|
10
|
-
|
9
|
+
multiple = props.multiple,
|
10
|
+
onSelect = props.onSelect,
|
11
|
+
valueRender = props.valueRender,
|
12
|
+
disabled = props.disabled;
|
11
13
|
var selectedKeys = Array.isArray(value) ? value : [value];
|
12
14
|
var valueDisplay = valueRender ? valueRender(value) : value;
|
15
|
+
var selectMode = multiple ? 'multiple' : 'single';
|
16
|
+
|
17
|
+
var handleChange = function handleChange(keys, item, extra) {
|
18
|
+
var selected = multiple ? keys : keys[0];
|
19
|
+
|
20
|
+
if (onSelect) {
|
21
|
+
onSelect(selected, item, extra);
|
22
|
+
}
|
23
|
+
};
|
24
|
+
|
25
|
+
var menu = /*#__PURE__*/React.createElement(_Menu, {
|
26
|
+
selectMode: selectMode,
|
27
|
+
selectedKeys: selectedKeys,
|
28
|
+
onSelect: handleChange
|
29
|
+
}, children);
|
13
30
|
return /*#__PURE__*/React.createElement(DropdownButton, {
|
14
31
|
trigger: valueDisplay,
|
32
|
+
disabled: disabled,
|
15
33
|
showContainer: false
|
16
|
-
}, /*#__PURE__*/React.createElement(
|
17
|
-
selectMode: "single",
|
18
|
-
selectedKeys: selectedKeys,
|
19
|
-
onSelect: onChange
|
20
|
-
}, children));
|
34
|
+
}, multiple ? /*#__PURE__*/React.createElement("div", null, menu) : menu);
|
21
35
|
}
|
22
36
|
|
23
37
|
DropdownButton.propTypes = {
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
3
|
+
var _excluded = ["Component", "styleNames"];
|
4
|
+
import React, { useMemo, useState } from 'react';
|
5
|
+
import { getTextStyle, setTextStyle } from "./textStyleUtil";
|
6
|
+
|
7
|
+
function ElementTextStyleSetting(props) {
|
8
|
+
var topo = props.topo;
|
9
|
+
|
10
|
+
var Component = props.Component,
|
11
|
+
styleNames = props.styleNames,
|
12
|
+
widgetProps = _objectWithoutPropertiesLoose(props, _excluded); // 拓扑图是否加载
|
13
|
+
|
14
|
+
|
15
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
16
|
+
graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
|
17
|
+
|
18
|
+
|
19
|
+
var selection = topo.selectionModel.useSelection();
|
20
|
+
var htSelection = useMemo(function () {
|
21
|
+
if (!selection.length) {
|
22
|
+
return [];
|
23
|
+
}
|
24
|
+
|
25
|
+
return topo.getHtTopo().getGraphView().getSelectionModel().getSelection().toArray();
|
26
|
+
}, [selection, topo]);
|
27
|
+
var fieldProps = useMemo(function () {
|
28
|
+
if (!graphLoaded) {
|
29
|
+
return {
|
30
|
+
value: {},
|
31
|
+
fieldDisabled: {}
|
32
|
+
};
|
33
|
+
}
|
34
|
+
|
35
|
+
return getTextStyle(htSelection, styleNames, topo);
|
36
|
+
}, [graphLoaded, htSelection, topo]);
|
37
|
+
var setStyle = useMemo(function () {
|
38
|
+
return function (style) {
|
39
|
+
htSelection.forEach(function (element) {
|
40
|
+
setTextStyle(element, style, topo);
|
41
|
+
});
|
42
|
+
};
|
43
|
+
}, [htSelection]);
|
44
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
45
|
+
disabled: true,
|
46
|
+
htSelection: htSelection
|
47
|
+
}, fieldProps, {
|
48
|
+
setStyle: setStyle
|
49
|
+
}, widgetProps));
|
50
|
+
}
|
51
|
+
|
52
|
+
export default ElementTextStyleSetting;
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import Color from 'color';
|
2
|
+
/**
|
3
|
+
* 解析颜色字符串为对象
|
4
|
+
*
|
5
|
+
* @param {string} colorStr
|
6
|
+
* @returns {null|{hex, rgb:{r,g,b,a}}}
|
7
|
+
*/
|
8
|
+
|
9
|
+
export function parseColor(colorStr) {
|
10
|
+
if (!colorStr) {
|
11
|
+
return null;
|
12
|
+
}
|
13
|
+
|
14
|
+
var color = Color(colorStr);
|
15
|
+
var rgb = color.rgb();
|
16
|
+
return {
|
17
|
+
hex: color.hex(),
|
18
|
+
rgb: {
|
19
|
+
r: rgb.color[0],
|
20
|
+
g: rgb.color[1],
|
21
|
+
b: rgb.color[2],
|
22
|
+
a: rgb.valpha
|
23
|
+
}
|
24
|
+
};
|
25
|
+
}
|
26
|
+
export function parseBackground(colorStr) {
|
27
|
+
var background = parseColor(colorStr);
|
28
|
+
return {
|
29
|
+
background: background,
|
30
|
+
// 背景颜色,格式: {rgba: {}, hex: ''} | null
|
31
|
+
opacity: background ? background.rgb.a : 1 // 背景透明度。值范围 0-1, null,null表示无
|
32
|
+
|
33
|
+
};
|
34
|
+
}
|
35
|
+
export function formatHexColor(color) {
|
36
|
+
return color ? color.hex : null;
|
37
|
+
}
|
38
|
+
export function formatRgbaColor(color) {
|
39
|
+
if (!color) {
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
|
43
|
+
var rgb = color.rgb;
|
44
|
+
return "rgba(" + rgb.r + ", " + rgb.g + ", " + rgb.b + ", " + rgb.a + ")";
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* 格式化背景rgba颜色
|
48
|
+
* @param {{background, opacity}} prevColor 原值
|
49
|
+
* @param {{background, opacity}} currentColor 新值
|
50
|
+
*/
|
51
|
+
|
52
|
+
export function formatBackgroundRgbaColor(prevColor, currentColor) {
|
53
|
+
if (!('background' in currentColor) && !('opacity' in currentColor)) {
|
54
|
+
return formatRgbaColor(prevColor.background);
|
55
|
+
}
|
56
|
+
|
57
|
+
var colorObj = Object.assign(prevColor, currentColor);
|
58
|
+
var background = colorObj.background,
|
59
|
+
opacity = colorObj.opacity;
|
60
|
+
|
61
|
+
if (!background) {
|
62
|
+
return null;
|
63
|
+
}
|
64
|
+
|
65
|
+
var rgb = background.rgb;
|
66
|
+
return "rgba(" + rgb.r + ", " + rgb.g + ", " + rgb.b + ", " + (opacity === null ? 1 : opacity) + ")";
|
67
|
+
}
|
@@ -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
|
+
export function getTextStyle(element) {
|
5
|
+
var underline = element.a('text.decoration') === 'underline';
|
6
|
+
return _extends({
|
7
|
+
color: parseColor(element.a('topLeftTextColor')),
|
8
|
+
underline: underline
|
9
|
+
}, fontStyleUtil.toMap(element.a('rectFont')), parseBackground(element.a('topLeftColor')));
|
10
|
+
}
|
11
|
+
export function setTextStyle(element, style, topo) {
|
12
|
+
if ('underline' in style) {}
|
13
|
+
|
14
|
+
if ('color' in style) {
|
15
|
+
element.a('topLeftTextColor', style.color.hex);
|
16
|
+
} // 背景颜色
|
17
|
+
|
18
|
+
|
19
|
+
var prevStyle = getTextStyle(element);
|
20
|
+
element.a('topLeftColor', formatBackgroundRgbaColor(prevStyle, style));
|
21
|
+
|
22
|
+
var fontStyle = _extends({}, getTextStyle(element), style);
|
23
|
+
|
24
|
+
var fontStr = fontStyleUtil.build(fontStyle);
|
25
|
+
element.a('rectFont', fontStr);
|
26
|
+
topo.getHtTopo().setRectangleText(element);
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
*
|
30
|
+
* @param {*} element
|
31
|
+
* @returns {Array}
|
32
|
+
*/
|
33
|
+
|
34
|
+
export function getEnabledFields(element) {
|
35
|
+
return ['fontFamily', 'fontSize', 'bold', 'italic', 'color', 'background', 'opacity'];
|
36
|
+
}
|
37
|
+
export default {
|
38
|
+
getTextStyle: getTextStyle,
|
39
|
+
setTextStyle: setTextStyle,
|
40
|
+
getEnabledFields: getEnabledFields
|
41
|
+
};
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
3
|
+
var _excluded = ["color", "background", "opacity", "bold", "italic"];
|
4
|
+
import fontStyleUtil from "../../../../../../settings/common/text/fontStyleUtil";
|
5
|
+
import { formatBackgroundRgbaColor, parseBackground, parseColor } from "../colorUtil";
|
6
|
+
export function getTextStyle(element) {
|
7
|
+
var underline = null;
|
8
|
+
return _extends({
|
9
|
+
color: parseColor(element.a('link_ind_left_color')),
|
10
|
+
underline: underline
|
11
|
+
}, fontStyleUtil.toMap(element.a('link_ind_left_font')), parseBackground(element.a('link_ind_background')));
|
12
|
+
}
|
13
|
+
export function setTextStyle(element, style, topo) {
|
14
|
+
var _fontStyleUtil$remove = fontStyleUtil.removeBoldItalic(style),
|
15
|
+
color = _fontStyleUtil$remove.color,
|
16
|
+
background = _fontStyleUtil$remove.background,
|
17
|
+
opacity = _fontStyleUtil$remove.opacity,
|
18
|
+
bold = _fontStyleUtil$remove.bold,
|
19
|
+
italic = _fontStyleUtil$remove.italic,
|
20
|
+
otherStyle = _objectWithoutPropertiesLoose(_fontStyleUtil$remove, _excluded);
|
21
|
+
|
22
|
+
var tagStyle = _extends({}, otherStyle);
|
23
|
+
|
24
|
+
if ('color' in style) {
|
25
|
+
tagStyle.color = color.hex;
|
26
|
+
}
|
27
|
+
|
28
|
+
if ('bold' in style) {
|
29
|
+
tagStyle.fontBold = bold;
|
30
|
+
}
|
31
|
+
|
32
|
+
if ('italic' in style) {
|
33
|
+
tagStyle.fontItalic = italic;
|
34
|
+
}
|
35
|
+
|
36
|
+
if ('background' in style || 'opacity' in style) {
|
37
|
+
// 背景颜色
|
38
|
+
var prevStyle = getTextStyle(element);
|
39
|
+
tagStyle.background = formatBackgroundRgbaColor(prevStyle, style);
|
40
|
+
}
|
41
|
+
|
42
|
+
if (Object.keys(tagStyle).length) {
|
43
|
+
topo.getHtTopo().setEdgeLabelStyle(element, tagStyle);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
*
|
48
|
+
* @param {*} element
|
49
|
+
* @returns {Array}
|
50
|
+
*/
|
51
|
+
|
52
|
+
export function getEnabledFields(element) {
|
53
|
+
return ['fontFamily', 'color', 'background', 'opacity'];
|
54
|
+
}
|
55
|
+
export function getFieldDisabled(element) {
|
56
|
+
return {
|
57
|
+
fontSize: true
|
58
|
+
};
|
59
|
+
}
|
60
|
+
export default {
|
61
|
+
getTextStyle: getTextStyle,
|
62
|
+
setTextStyle: setTextStyle,
|
63
|
+
getEnabledFields: getEnabledFields,
|
64
|
+
getFieldDisabled: getFieldDisabled
|
65
|
+
};
|
@@ -0,0 +1,65 @@
|
|
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
|
+
var font = fontStyleUtil.toMap(element.s('group.title.font'));
|
13
|
+
return _extends({
|
14
|
+
color: parseColor(element.s('group.title.color')),
|
15
|
+
underline: underline
|
16
|
+
}, fontStyleUtil.toMap(element.s('group.title.font')), {
|
17
|
+
fontSize: font.fontSize || 12,
|
18
|
+
fontFamily: font.fontFamily || '微软雅黑'
|
19
|
+
}, parseBackground(element.s('group.title.background')));
|
20
|
+
}
|
21
|
+
export function setTextStyle(element, style, topo) {
|
22
|
+
if (!element.isExpanded()) {
|
23
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
24
|
+
return nodeTag.setTextStyle(element, style, topo);
|
25
|
+
} // if ('underline' in style) {
|
26
|
+
// }
|
27
|
+
|
28
|
+
|
29
|
+
if ('color' in style) {
|
30
|
+
element.s('group.title.color', style.color.hex);
|
31
|
+
}
|
32
|
+
|
33
|
+
if ('background' in style || 'opacity' in style) {
|
34
|
+
// 背景颜色
|
35
|
+
var prevStyle = getTextStyle(element);
|
36
|
+
element.s('group.title.background', formatBackgroundRgbaColor(prevStyle, style));
|
37
|
+
}
|
38
|
+
|
39
|
+
var fontStyle = _extends({}, getTextStyle(element), style);
|
40
|
+
|
41
|
+
var fontStr = fontStyleUtil.build(fontStyle);
|
42
|
+
element.s('group.title.font', fontStr);
|
43
|
+
}
|
44
|
+
export function getEnabledFields(element) {
|
45
|
+
if (!element.isExpanded()) {
|
46
|
+
return ['fontFamily', 'fontSize', 'color', 'background', 'opacity'];
|
47
|
+
}
|
48
|
+
|
49
|
+
return ['fontFamily', 'fontSize', 'bold', 'italic', 'color', 'background', 'opacity'];
|
50
|
+
}
|
51
|
+
export function getFieldDisabled(element) {
|
52
|
+
if (!element.isExpanded()) {
|
53
|
+
return {
|
54
|
+
fontSize: true
|
55
|
+
};
|
56
|
+
}
|
57
|
+
|
58
|
+
return {};
|
59
|
+
}
|
60
|
+
export default {
|
61
|
+
getTextStyle: getTextStyle,
|
62
|
+
setTextStyle: setTextStyle,
|
63
|
+
getEnabledFields: getEnabledFields,
|
64
|
+
getFieldDisabled: getFieldDisabled
|
65
|
+
};
|
@@ -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
|
+
};
|