@riil-frontend/component-topology 6.0.0-alpha.3 → 6.0.0-alpha.31
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 +8 -0
- package/es/components/ColorPanel/components/FontColorRange/index.js +35 -0
- package/es/components/ColorPanel/components/FontColorRange/index.module.scss +23 -0
- package/es/components/ColorPanel/index.js +237 -0
- package/es/components/ColorPanel/index.module.scss +34 -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 +23 -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 +6 -2
- 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 +20 -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 +95 -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/ImagePanel/CiTypeImagePanel.js +3 -3
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -5
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +3 -4
- 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/hooks/useFontStyleSetting.js +52 -0
- 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 +36 -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 +40 -4
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +35 -0
- package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +12 -2
- package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +12 -2
- package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +82 -33
- 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 +110 -22
- package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +28 -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 +97 -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 +4 -2
- package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +17 -1
- package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +8 -5
- 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 +26 -11
- 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/AlignTypeList.js +76 -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/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/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 +35 -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/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 +8 -0
- package/lib/components/ColorPanel/components/FontColorRange/index.js +49 -0
- package/lib/components/ColorPanel/components/FontColorRange/index.module.scss +23 -0
- package/lib/components/ColorPanel/index.js +255 -0
- package/lib/components/ColorPanel/index.module.scss +34 -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 +23 -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 +7 -2
- 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 +30 -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 +108 -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/ImagePanel/CiTypeImagePanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -5
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +4 -4
- 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/hooks/useFontStyleSetting.js +64 -0
- 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 +38 -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 +44 -4
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +35 -0
- package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +13 -2
- package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +13 -2
- package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +88 -33
- 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 +113 -22
- package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +28 -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 +98 -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 +4 -2
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +16 -1
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +10 -5
- 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 +29 -11
- 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/AlignTypeList.js +93 -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/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/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 +49 -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/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 +4 -4
- package/es/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -4
- package/es/core/store/models/topoEdit.js +0 -39
- package/es/core/store/models/topoView.js +0 -36
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/ImagePanel.js +0 -12
- package/lib/core/store/models/topoEdit.js +0 -51
- package/lib/core/store/models/topoView.js +0 -47
@@ -1,8 +1,11 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
1
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
2
3
|
var _excluded = ["topo", "showLabel"];
|
3
|
-
import React, { useEffect, useState } from 'react';
|
4
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
5
|
+
import { getEdgesBySelection, setEdgesAndChildren, setEdgesType } from "../../../../utils/edgeTypeStyleUtil";
|
4
6
|
import DropdownButton from "../components/DropdownButton";
|
5
7
|
import WidgetBox from "../WidgetBox";
|
8
|
+
import { EDGE_END_POINT_TYPE_MAP, LINE_MOLD_MAP } from "./constants";
|
6
9
|
import EdgeType from "./EdgeType";
|
7
10
|
/**
|
8
11
|
* 线形设置
|
@@ -17,13 +20,74 @@ function EdgeTypeButton(props) {
|
|
17
20
|
|
18
21
|
var _useState = useState(true),
|
19
22
|
disabled = _useState[0],
|
20
|
-
setDisabled = _useState[1]; //
|
23
|
+
setDisabled = _useState[1]; // 拓扑图是否加载
|
21
24
|
|
22
25
|
|
23
|
-
var
|
26
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
27
|
+
graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
|
28
|
+
|
29
|
+
|
30
|
+
var selection = topo.selectionManager.useHtSelection();
|
24
31
|
useEffect(function () {
|
25
|
-
|
26
|
-
|
32
|
+
if (graphLoaded) {
|
33
|
+
var edges = getEdgesBySelection(topo);
|
34
|
+
setDisabled(!edges.length);
|
35
|
+
}
|
36
|
+
}, [selection, graphLoaded]);
|
37
|
+
|
38
|
+
var handleChange = function handleChange(name, value) {
|
39
|
+
var edges = getEdgesBySelection(topo);
|
40
|
+
var htTopo = topo.getHtTopo();
|
41
|
+
|
42
|
+
if (name === 'lineButton') {
|
43
|
+
setEdgesType(edges, value, topo);
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
|
47
|
+
setEdgesAndChildren(topo, edges, function (edge) {
|
48
|
+
if (name === 'startPoint') {
|
49
|
+
// 删除设置
|
50
|
+
['sourceArrow', 'sourceSolidCircle', 'sourceNoneCircle'].forEach(function (iconName) {
|
51
|
+
return edge.removeStyleIcon(iconName);
|
52
|
+
}); // 设置
|
53
|
+
|
54
|
+
var scolor = edge.a('styles') && edge.a('styles').color || edge.getStyleMap()['edge.color'];
|
55
|
+
edge.a('arrow.color', scolor || '#00B779');
|
56
|
+
edge.s('icons', _extends({}, edge.s('icons')));
|
57
|
+
edge.addStyleIcon(value, EDGE_END_POINT_TYPE_MAP[value]);
|
58
|
+
} else if (name === 'endPoint') {
|
59
|
+
// 删除设置
|
60
|
+
['targetArrow', 'targetSolidCircle', 'targetNoneCircle'].forEach(function (iconName) {
|
61
|
+
return edge.removeStyleIcon(iconName);
|
62
|
+
}); // 设置
|
63
|
+
|
64
|
+
var _scolor = edge.a('styles') && edge.a('styles').color || edge.getStyleMap()['edge.color'];
|
65
|
+
|
66
|
+
edge.a('arrow.color', _scolor || '#00B779');
|
67
|
+
edge.s('icons', _extends({}, edge.s('icons')));
|
68
|
+
edge.addStyleIcon(value, EDGE_END_POINT_TYPE_MAP[value]);
|
69
|
+
} else if (name === 'lineMold') {
|
70
|
+
// 修改实线虚线
|
71
|
+
edge.a('lineMode', value);
|
72
|
+
htTopo.setElementStyle(edge, LINE_MOLD_MAP[value]);
|
73
|
+
|
74
|
+
if (value !== 'solid') {
|
75
|
+
var edgeWidth = edge.s('edge.width');
|
76
|
+
|
77
|
+
if (edgeWidth) {
|
78
|
+
edge.s('edge.dash.width', edgeWidth);
|
79
|
+
}
|
80
|
+
|
81
|
+
var color = edge.s('edge.color');
|
82
|
+
|
83
|
+
if (edgeWidth) {
|
84
|
+
edge.s('edge.dash.color', color);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
});
|
89
|
+
};
|
90
|
+
|
27
91
|
var icon = disabled ? /*#__PURE__*/React.createElement("img", {
|
28
92
|
src: "/img/topo/editor/toolbar/\u7EBF\u5F62/Disable.svg",
|
29
93
|
alt: ""
|
@@ -34,11 +98,15 @@ function EdgeTypeButton(props) {
|
|
34
98
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
35
99
|
label: "\u7EBF\u5F62",
|
36
100
|
tooltip: "\u7EBF\u5F62",
|
101
|
+
disabled: disabled,
|
37
102
|
showLabel: showLabel
|
38
103
|
}, /*#__PURE__*/React.createElement(DropdownButton, {
|
39
104
|
disabled: disabled,
|
40
105
|
trigger: icon
|
41
|
-
}, /*#__PURE__*/React.createElement(EdgeType,
|
106
|
+
}, !disabled && /*#__PURE__*/React.createElement(EdgeType, {
|
107
|
+
selection: selection,
|
108
|
+
onChange: handleChange
|
109
|
+
})));
|
42
110
|
}
|
43
111
|
|
44
112
|
export default EdgeTypeButton;
|
@@ -1,15 +1,30 @@
|
|
1
|
+
/* eslint-disable jsx-a11y/alt-text */
|
1
2
|
import React, { useState } from 'react';
|
2
3
|
import DropdownButton from "./components/DropdownButton";
|
3
4
|
import WidgetBox from "./WidgetBox";
|
5
|
+
import ColorPanel from "../../../../../components/ColorPanel";
|
6
|
+
import FontColorRange from "../../../../../components/ColorPanel/components/FontColorRange";
|
7
|
+
import styles from "./FontColorButton.module.scss";
|
8
|
+
import useFontStyleSetting from "../hooks/useFontStyleSetting";
|
4
9
|
|
5
10
|
function FontFamilySelect(props) {
|
6
11
|
var value = props.value,
|
7
|
-
onChange = props.onChange
|
12
|
+
onChange = props.onChange,
|
13
|
+
topo = props.topo;
|
8
14
|
|
9
15
|
var _useState = useState(false),
|
10
16
|
disabled = _useState[0],
|
11
17
|
setDisabled = _useState[1];
|
12
18
|
|
19
|
+
var fontStyleSetting = useFontStyleSetting({
|
20
|
+
topo: topo
|
21
|
+
});
|
22
|
+
console.log(topo, 'topo这里需要处理颜色改变的事情');
|
23
|
+
|
24
|
+
var backOpacityChange = function backOpacityChange(value) {
|
25
|
+
console.log(value);
|
26
|
+
};
|
27
|
+
|
13
28
|
var icon = disabled ? /*#__PURE__*/React.createElement("img", {
|
14
29
|
src: "/img/topo/editor/toolbar/\u6587\u5B57\u989C\u8272\u53CA\u586B\u5145/Disable.svg",
|
15
30
|
alt: ""
|
@@ -21,11 +36,31 @@ function FontFamilySelect(props) {
|
|
21
36
|
disabled: disabled,
|
22
37
|
trigger: icon,
|
23
38
|
onChange: onChange
|
24
|
-
}, "
|
39
|
+
}, /*#__PURE__*/React.createElement("div", {
|
40
|
+
className: styles.content
|
41
|
+
}, /*#__PURE__*/React.createElement("div", {
|
42
|
+
className: styles.fontColor
|
43
|
+
}, /*#__PURE__*/React.createElement("span", null, "\u5B57\u4F53\u989C\u8272"), /*#__PURE__*/React.createElement(ColorPanel, null)), /*#__PURE__*/React.createElement("div", {
|
44
|
+
className: styles.backgroundColor
|
45
|
+
}, /*#__PURE__*/React.createElement("span", null, "\u80CC\u666F\u586B\u5145"), /*#__PURE__*/React.createElement("div", {
|
46
|
+
className: styles.backOpacity
|
47
|
+
}, /*#__PURE__*/React.createElement("img", {
|
48
|
+
src: "/img/topo/editor/toolbar/\u6587\u5B57\u989C\u8272\u53CA\u586B\u5145/\u80CC\u666F\u586B\u5145.svg"
|
49
|
+
}), /*#__PURE__*/React.createElement(FontColorRange, {
|
50
|
+
max: 100,
|
51
|
+
min: 0,
|
52
|
+
unit: "%",
|
53
|
+
list: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
|
54
|
+
onChange: backOpacityChange,
|
55
|
+
defaultValue: 0
|
56
|
+
})), /*#__PURE__*/React.createElement(ColorPanel, {
|
57
|
+
showClear: true
|
58
|
+
}))));
|
25
59
|
}
|
26
60
|
|
27
61
|
function FontColorButton(props) {
|
28
|
-
var showLabel = props.showLabel
|
62
|
+
var showLabel = props.showLabel,
|
63
|
+
topo = props.topo;
|
29
64
|
|
30
65
|
var _useState2 = useState('微软雅黑'),
|
31
66
|
value = _useState2[0],
|
@@ -37,7 +72,8 @@ function FontColorButton(props) {
|
|
37
72
|
showLabel: showLabel
|
38
73
|
}, /*#__PURE__*/React.createElement(FontFamilySelect, {
|
39
74
|
value: value,
|
40
|
-
onChange: setValue
|
75
|
+
onChange: setValue,
|
76
|
+
topo: topo
|
41
77
|
}));
|
42
78
|
}
|
43
79
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
.content {
|
2
|
+
height: 296px;
|
3
|
+
.fontColor{
|
4
|
+
width: 100%;
|
5
|
+
height: 143px;//159px
|
6
|
+
&>span{
|
7
|
+
font-size: 12px;
|
8
|
+
color: black;
|
9
|
+
font-family: PingFangSC-Regular, PingFang SC;
|
10
|
+
font-weight: 400;
|
11
|
+
color: #4D6277;
|
12
|
+
line-height: 17px;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
.backgroundColor{
|
16
|
+
width: 100%;
|
17
|
+
height: 159px;
|
18
|
+
&>span{
|
19
|
+
font-size: 12px;
|
20
|
+
color: black;
|
21
|
+
font-family: PingFangSC-Regular, PingFang SC;
|
22
|
+
font-weight: 400;
|
23
|
+
color: #4D6277;
|
24
|
+
line-height: 17px;
|
25
|
+
}
|
26
|
+
.backOpacity{
|
27
|
+
margin-top: 2px;
|
28
|
+
margin-bottom: 5px;
|
29
|
+
margin-left: 11px;
|
30
|
+
line-height: 8px;
|
31
|
+
display: flex;
|
32
|
+
flex-direction: row;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import React, { useState } from 'react';
|
2
|
+
import useFontStyleSetting from "../hooks/useFontStyleSetting";
|
2
3
|
import DropdownMenu from "./components/DropdownMenu";
|
3
4
|
import WidgetBox from "./WidgetBox";
|
4
5
|
|
@@ -21,19 +22,28 @@ function FontFamilySelect(props) {
|
|
21
22
|
}
|
22
23
|
|
23
24
|
function FontFamilyWidget(props) {
|
24
|
-
var
|
25
|
+
var topo = props.topo,
|
26
|
+
showLabel = props.showLabel;
|
25
27
|
|
26
28
|
var _useState = useState('微软雅黑'),
|
27
29
|
value = _useState[0],
|
28
30
|
setValue = _useState[1];
|
29
31
|
|
32
|
+
var fontStyleSetting = useFontStyleSetting({
|
33
|
+
topo: topo
|
34
|
+
});
|
30
35
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
31
36
|
label: "\u5B57\u4F53",
|
32
37
|
tooltip: "\u5B57\u4F53",
|
33
38
|
showLabel: showLabel
|
34
39
|
}, /*#__PURE__*/React.createElement(FontFamilySelect, {
|
35
40
|
value: value,
|
36
|
-
onChange:
|
41
|
+
onChange: function onChange(val) {
|
42
|
+
setValue(val);
|
43
|
+
fontStyleSetting.setStyle({
|
44
|
+
fontFamily: val
|
45
|
+
});
|
46
|
+
}
|
37
47
|
}));
|
38
48
|
}
|
39
49
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import React, { useState } from 'react';
|
2
|
+
import useFontStyleSetting from "../hooks/useFontStyleSetting";
|
2
3
|
import DropdownMenu from "./components/DropdownMenu";
|
3
4
|
import WidgetBox from "./WidgetBox";
|
4
5
|
|
@@ -17,7 +18,11 @@ function FontSizeSelect(props) {
|
|
17
18
|
}
|
18
19
|
|
19
20
|
function FontSizeWidget(props) {
|
20
|
-
var
|
21
|
+
var topo = props.topo,
|
22
|
+
showLabel = props.showLabel;
|
23
|
+
var fontStyleSetting = useFontStyleSetting({
|
24
|
+
topo: topo
|
25
|
+
});
|
21
26
|
|
22
27
|
var _useState = useState(12),
|
23
28
|
fontSize = _useState[0],
|
@@ -28,7 +33,12 @@ function FontSizeWidget(props) {
|
|
28
33
|
showLabel: showLabel
|
29
34
|
}, /*#__PURE__*/React.createElement(FontSizeSelect, {
|
30
35
|
value: fontSize,
|
31
|
-
onChange:
|
36
|
+
onChange: function onChange(val) {
|
37
|
+
setFontSize(val);
|
38
|
+
fontStyleSetting.setStyle({
|
39
|
+
fontSize: val
|
40
|
+
});
|
41
|
+
}
|
32
42
|
}));
|
33
43
|
}
|
34
44
|
|
@@ -1,41 +1,38 @@
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
2
|
+
import { isText } from "../../../../../utils/htElementUtils";
|
3
|
+
import fontStyleUtil from "../../settings/common/text/fontStyleUtil";
|
4
|
+
import useFontStyleSetting from "../hooks/useFontStyleSetting";
|
2
5
|
import DropdownMenu from "./components/DropdownMenu";
|
3
6
|
import WidgetBox from "./WidgetBox";
|
7
|
+
var items = [{
|
8
|
+
key: 'bold',
|
9
|
+
label: '加粗',
|
10
|
+
icon: 'bold'
|
11
|
+
}, {
|
12
|
+
key: 'italic',
|
13
|
+
label: '斜体',
|
14
|
+
icon: 'Italics'
|
15
|
+
}, {
|
16
|
+
key: 'underline',
|
17
|
+
label: '下划线',
|
18
|
+
icon: 'Underline'
|
19
|
+
}];
|
4
20
|
|
5
|
-
function
|
6
|
-
var
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
}) : /*#__PURE__*/React.createElement("img", {
|
14
|
-
src: "/img/topo/editor/toolbar/bold/Normal.svg",
|
15
|
-
alt: ""
|
16
|
-
});
|
17
|
-
return /*#__PURE__*/React.createElement(DropdownMenu, {
|
18
|
-
value: value,
|
19
|
-
valueRender: function valueRender() {
|
20
|
-
return icon;
|
21
|
-
},
|
22
|
-
onChange: onChange
|
23
|
-
}, items.map(function (item) {
|
24
|
-
return /*#__PURE__*/React.createElement(DropdownMenu.Item, {
|
25
|
-
key: item
|
26
|
-
}, /*#__PURE__*/React.createElement("div", {
|
27
|
-
style: {
|
28
|
-
fontFamily: item
|
29
|
-
}
|
30
|
-
}, item));
|
31
|
-
}));
|
21
|
+
function getTextFontStyle(textElement) {
|
22
|
+
var underline = textElement.s('text.decoration') === 'underline';
|
23
|
+
var fontStyle = fontStyleUtil.toMap(textElement.s('text.font'));
|
24
|
+
return {
|
25
|
+
underline: underline,
|
26
|
+
bold: fontStyle.bold,
|
27
|
+
italic: fontStyle.italic
|
28
|
+
};
|
32
29
|
}
|
33
30
|
|
34
31
|
function FontStyleButton(props) {
|
35
32
|
var topo = props.topo,
|
36
33
|
showLabel = props.showLabel;
|
37
34
|
|
38
|
-
var _useState = useState('
|
35
|
+
var _useState = useState(['bold']),
|
39
36
|
value = _useState[0],
|
40
37
|
setValue = _useState[1];
|
41
38
|
|
@@ -44,19 +41,71 @@ function FontStyleButton(props) {
|
|
44
41
|
setDisabled = _useState2[1]; // 选中的元素
|
45
42
|
|
46
43
|
|
47
|
-
var selection = topo.selectionManager.
|
44
|
+
var selection = topo.selectionManager.useHtSelection();
|
45
|
+
var fontStyleSetting = useFontStyleSetting({
|
46
|
+
topo: topo
|
47
|
+
});
|
48
48
|
useEffect(function () {
|
49
49
|
setDisabled(false);
|
50
|
+
var fontObj = {};
|
51
|
+
|
52
|
+
if (selection.length === 1) {
|
53
|
+
var element = selection[0];
|
54
|
+
|
55
|
+
if (isText(element)) {
|
56
|
+
fontObj = getTextFontStyle(element);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
var newValue = Object.keys(fontObj).reduce(function (result, key) {
|
61
|
+
if (fontObj[key]) {
|
62
|
+
return [].concat(result, [key]);
|
63
|
+
}
|
64
|
+
|
65
|
+
return result;
|
66
|
+
}, []);
|
67
|
+
setValue(newValue);
|
50
68
|
}, [selection]);
|
69
|
+
/**
|
70
|
+
*
|
71
|
+
* @param {Array} selectedKeys
|
72
|
+
*/
|
73
|
+
|
74
|
+
var handleChange = function handleChange(selectedKeys) {
|
75
|
+
setValue(selectedKeys);
|
76
|
+
var style = {
|
77
|
+
fontBold: selectedKeys.includes('bold')
|
78
|
+
};
|
79
|
+
fontStyleSetting.setStyle(style);
|
80
|
+
};
|
81
|
+
|
51
82
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
52
83
|
label: "\u6587\u5B57\u6837\u5F0F",
|
53
84
|
tooltip: "\u6587\u5B57\u6837\u5F0F",
|
54
85
|
showLabel: showLabel
|
55
|
-
}, /*#__PURE__*/React.createElement(
|
86
|
+
}, /*#__PURE__*/React.createElement(DropdownMenu, {
|
56
87
|
value: value,
|
57
|
-
|
58
|
-
|
59
|
-
|
88
|
+
valueRender: function valueRender() {
|
89
|
+
return /*#__PURE__*/React.createElement("img", {
|
90
|
+
src: "/img/topo/editor/toolbar/bold/" + (disabled ? 'Disable' : 'Normal') + ".svg",
|
91
|
+
alt: ""
|
92
|
+
});
|
93
|
+
},
|
94
|
+
multiple: true,
|
95
|
+
onChange: handleChange
|
96
|
+
}, items.map(function (item) {
|
97
|
+
return /*#__PURE__*/React.createElement(DropdownMenu.Item, {
|
98
|
+
key: item.key
|
99
|
+
}, /*#__PURE__*/React.createElement("div", {
|
100
|
+
style: {
|
101
|
+
display: 'flex',
|
102
|
+
alignItems: 'center'
|
103
|
+
}
|
104
|
+
}, /*#__PURE__*/React.createElement("img", {
|
105
|
+
src: "/img/topo/editor/toolbar/" + item.icon + "/Normal.svg",
|
106
|
+
alt: ""
|
107
|
+
}), /*#__PURE__*/React.createElement("span", null, item.label)));
|
108
|
+
})));
|
60
109
|
}
|
61
110
|
|
62
111
|
export default FontStyleButton;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import WidgetBox from "./WidgetBox";
|
3
|
+
import ButtonBox from "./components/ButtonBox";
|
3
4
|
|
4
5
|
function HistoryRedoButton(props) {
|
5
6
|
var topo = props.topo,
|
@@ -13,8 +14,8 @@ function HistoryRedoButton(props) {
|
|
13
14
|
label: "\u6062\u590D",
|
14
15
|
tooltip: "\u6062\u590D",
|
15
16
|
showLabel: showLabel
|
16
|
-
}, /*#__PURE__*/React.createElement(
|
17
|
-
src: "/img/topo/editor/toolbar/
|
17
|
+
}, /*#__PURE__*/React.createElement(ButtonBox, null, /*#__PURE__*/React.createElement("img", {
|
18
|
+
src: "/img/topo/editor/toolbar/undo/" + (disabled ? 'Disable' : 'Normal') + ".svg",
|
18
19
|
alt: ""
|
19
20
|
})));
|
20
21
|
}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React from 'react';
|
2
|
+
import ButtonBox from "./components/ButtonBox"; // import { Icon, Button } from '@alifd/next';
|
2
3
|
|
3
4
|
import WidgetBox from "./WidgetBox";
|
4
5
|
|
@@ -13,15 +14,15 @@ function HistoryUndoButton(props) {
|
|
13
14
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
14
15
|
disabled: disabled,
|
15
16
|
label: "\u64A4\u9500",
|
16
|
-
tooltip:
|
17
|
+
tooltip: disabled ? '无法撤销' : '撤销(Ctrl/ ⌘+Z)',
|
17
18
|
showLabel: showLabel
|
18
|
-
}, /*#__PURE__*/React.createElement(
|
19
|
+
}, /*#__PURE__*/React.createElement(ButtonBox, {
|
19
20
|
disabled: disabled,
|
20
21
|
onClick: function onClick() {
|
21
22
|
topo.historyManager.undo();
|
22
23
|
}
|
23
24
|
}, /*#__PURE__*/React.createElement("img", {
|
24
|
-
src: "/img/topo/editor/toolbar/
|
25
|
+
src: "/img/topo/editor/toolbar/redo/" + (disabled ? 'Disable' : 'Normal') + ".svg",
|
25
26
|
alt: ""
|
26
27
|
})));
|
27
28
|
}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
import _Select from "@alifd/next/es/select";
|
2
|
+
import React, { useState, useEffect, useImperativeHandle } from 'react';
|
3
|
+
import styles from "./index.module.scss";
|
4
|
+
import PopUpContent from "./popUpContent";
|
5
|
+
|
6
|
+
var TopoIconSelect = function TopoIconSelect(props, ref) {
|
7
|
+
// 传入参数
|
8
|
+
var value = props.value,
|
9
|
+
iconList = props.iconList,
|
10
|
+
onChange = props.onChange;
|
11
|
+
|
12
|
+
var _useState = useState(value),
|
13
|
+
valueData = _useState[0],
|
14
|
+
setValue = _useState[1];
|
15
|
+
|
16
|
+
var _useState2 = useState(),
|
17
|
+
selectItem = _useState2[0],
|
18
|
+
setSelect = _useState2[1];
|
19
|
+
|
20
|
+
var _useState3 = useState(false),
|
21
|
+
visible = _useState3[0],
|
22
|
+
setVisible = _useState3[1];
|
23
|
+
|
24
|
+
useEffect(function () {
|
25
|
+
if (value) {
|
26
|
+
for (var i = 0; i < iconList.length; i++) {
|
27
|
+
var icons = iconList[i].icons;
|
28
|
+
var flag = false;
|
29
|
+
|
30
|
+
for (var m = 0; m < icons.length; m++) {
|
31
|
+
if (value === icons[m].id) {
|
32
|
+
flag = true;
|
33
|
+
setSelect(icons[m]);
|
34
|
+
break;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
if (flag) {
|
39
|
+
break;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}, [value]);
|
44
|
+
useImperativeHandle(ref, function () {
|
45
|
+
return {
|
46
|
+
getSelectData: getSelectData
|
47
|
+
};
|
48
|
+
});
|
49
|
+
|
50
|
+
var handleChange = function handleChange(v) {
|
51
|
+
console.log('handleChange: ', v);
|
52
|
+
|
53
|
+
if (typeof onChange === 'function') {
|
54
|
+
onChange(v.id);
|
55
|
+
}
|
56
|
+
|
57
|
+
setSelect(v);
|
58
|
+
setValue(v.id);
|
59
|
+
setVisible(false);
|
60
|
+
};
|
61
|
+
|
62
|
+
var getSelectData = function getSelectData() {
|
63
|
+
return valueData;
|
64
|
+
};
|
65
|
+
|
66
|
+
var valueRender = function valueRender(v) {
|
67
|
+
return selectItem ? /*#__PURE__*/React.createElement("span", {
|
68
|
+
className: styles.selected
|
69
|
+
}, /*#__PURE__*/React.createElement("div", {
|
70
|
+
className: styles.iconImgWrapper
|
71
|
+
}, /*#__PURE__*/React.createElement("img", {
|
72
|
+
className: styles.iconImg,
|
73
|
+
alt: "",
|
74
|
+
src: selectItem === null || selectItem === void 0 ? void 0 : selectItem.url
|
75
|
+
})), /*#__PURE__*/React.createElement("span", {
|
76
|
+
className: styles.icontitle
|
77
|
+
}, selectItem === null || selectItem === void 0 ? void 0 : selectItem.name)) : null;
|
78
|
+
};
|
79
|
+
|
80
|
+
var onVisibleChange = function onVisibleChange(v) {
|
81
|
+
setVisible(v);
|
82
|
+
};
|
83
|
+
|
84
|
+
var popupContent = /*#__PURE__*/React.createElement(PopUpContent, {
|
85
|
+
iconList: iconList,
|
86
|
+
selectedId: selectItem === null || selectItem === void 0 ? void 0 : selectItem.id,
|
87
|
+
onChange: handleChange
|
88
|
+
});
|
89
|
+
var popupProps = {
|
90
|
+
triggerClickKeycode: [13, 32, 40] // space, enter, down-arrow
|
91
|
+
|
92
|
+
};
|
93
|
+
return /*#__PURE__*/React.createElement("div", {
|
94
|
+
className: styles.TopoIconSelect
|
95
|
+
}, /*#__PURE__*/React.createElement(_Select, {
|
96
|
+
placeholder: "\u8BF7\u9009\u62E9",
|
97
|
+
visible: visible,
|
98
|
+
className: styles.iconSelect,
|
99
|
+
onVisibleChange: onVisibleChange,
|
100
|
+
value: valueData,
|
101
|
+
valueRender: valueRender,
|
102
|
+
dataSource: iconList,
|
103
|
+
onChange: handleChange,
|
104
|
+
popupProps: popupProps,
|
105
|
+
popupContent: popupContent
|
106
|
+
}));
|
107
|
+
};
|
108
|
+
|
109
|
+
export default /*#__PURE__*/React.forwardRef(TopoIconSelect);
|
@@ -0,0 +1,64 @@
|
|
1
|
+
export var iconList = [{
|
2
|
+
id: '1',
|
3
|
+
name: '图片库1',
|
4
|
+
icons: [{
|
5
|
+
id: '001',
|
6
|
+
name: '图片一',
|
7
|
+
url: '/img/model/switch.svg',
|
8
|
+
icon: 'switch'
|
9
|
+
}, {
|
10
|
+
id: '002',
|
11
|
+
name: '图片二',
|
12
|
+
url: '/img/model/backupOnError.svg',
|
13
|
+
icon: 'res_terminal'
|
14
|
+
}, {
|
15
|
+
id: '003',
|
16
|
+
name: '图片三',
|
17
|
+
url: '/img/model/linuxServer.svg',
|
18
|
+
icon: 'res_linux'
|
19
|
+
}, {
|
20
|
+
id: '004',
|
21
|
+
name: '图片一',
|
22
|
+
url: '/img/model/switch.svg',
|
23
|
+
icon: 'switch'
|
24
|
+
}, {
|
25
|
+
id: '005',
|
26
|
+
name: '图片二',
|
27
|
+
url: '/img/model/backupOnError.svg',
|
28
|
+
icon: 'res_terminal'
|
29
|
+
}, {
|
30
|
+
id: '005',
|
31
|
+
name: '图片三',
|
32
|
+
url: '/img/model/linuxServer.svg',
|
33
|
+
icon: 'res_linux'
|
34
|
+
}, {
|
35
|
+
id: '006',
|
36
|
+
name: '图片一',
|
37
|
+
url: '/img/model/switch.svg',
|
38
|
+
icon: 'switch'
|
39
|
+
}, {
|
40
|
+
id: '007',
|
41
|
+
name: '图片二',
|
42
|
+
url: '/img/model/backupOnError.svg',
|
43
|
+
icon: 'res_terminal'
|
44
|
+
}, {
|
45
|
+
id: '008',
|
46
|
+
name: '图片三',
|
47
|
+
url: '/img/model/linuxServer.svg',
|
48
|
+
icon: 'res_linux'
|
49
|
+
}]
|
50
|
+
}, {
|
51
|
+
id: '2',
|
52
|
+
name: '图片库2',
|
53
|
+
icons: [{
|
54
|
+
id: '004',
|
55
|
+
name: '图片四',
|
56
|
+
url: '/img/model/tree_child.svg',
|
57
|
+
icon: 'tree_child'
|
58
|
+
}, {
|
59
|
+
id: '005',
|
60
|
+
name: '图片五',
|
61
|
+
url: '/img/model/commonNetwork.svg',
|
62
|
+
icon: 'res_storage'
|
63
|
+
}]
|
64
|
+
}];
|