|
@@ -17,7 +17,7 @@
|
|
|
@mousedown="mousedownHandle($event, groupData)"
|
|
@mousedown="mousedownHandle($event, groupData)"
|
|
|
@mouseenter="mouseenterHandle($event, groupData)"
|
|
@mouseenter="mouseenterHandle($event, groupData)"
|
|
|
@mouseleave="mouseleaveHandle($event, groupData)"
|
|
@mouseleave="mouseleaveHandle($event, groupData)"
|
|
|
- @contextmenu="handleContextMenu($event, groupData, undefined, hideOptionsList)"
|
|
|
|
|
|
|
+ @contextmenu="handleContextMenu($event, groupData, optionsHandle)"
|
|
|
>
|
|
>
|
|
|
<!-- 组合组件 -->
|
|
<!-- 组合组件 -->
|
|
|
<edit-shape-box
|
|
<edit-shape-box
|
|
@@ -54,9 +54,10 @@ import { computed, PropType } from 'vue'
|
|
|
import { MenuEnum } from '@/enums/editPageEnum'
|
|
import { MenuEnum } from '@/enums/editPageEnum'
|
|
|
import { chartColors } from '@/settings/chartThemes/index'
|
|
import { chartColors } from '@/settings/chartThemes/index'
|
|
|
import { CreateComponentType, CreateComponentGroupType } from '@/packages/index.d'
|
|
import { CreateComponentType, CreateComponentGroupType } from '@/packages/index.d'
|
|
|
|
|
+import { MenuOptionsItemType } from '@/views/chart/hooks/useContextMenu.hook.d'
|
|
|
import { animationsClass, getFilterStyle, getTransformStyle } from '@/utils'
|
|
import { animationsClass, getFilterStyle, getTransformStyle } from '@/utils'
|
|
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
|
|
-import { useContextMenu } from '@/views/chart/hooks/useContextMenu.hook'
|
|
|
|
|
|
|
+import { useContextMenu, divider } from '@/views/chart/hooks/useContextMenu.hook'
|
|
|
import { useMouseHandle } from '../../hooks/useDrag.hook'
|
|
import { useMouseHandle } from '../../hooks/useDrag.hook'
|
|
|
import { useComponentStyle, useSizeStyle } from '../../hooks/useStyle.hook'
|
|
import { useComponentStyle, useSizeStyle } from '../../hooks/useStyle.hook'
|
|
|
import { EditShapeBox } from '../../components/EditShapeBox'
|
|
import { EditShapeBox } from '../../components/EditShapeBox'
|
|
@@ -81,6 +82,30 @@ const hideOptionsList = [MenuEnum.GROUP]
|
|
|
// 点击事件
|
|
// 点击事件
|
|
|
const { mouseenterHandle, mouseleaveHandle, mousedownHandle, mouseClickHandle } = useMouseHandle()
|
|
const { mouseenterHandle, mouseleaveHandle, mousedownHandle, mouseClickHandle } = useMouseHandle()
|
|
|
|
|
|
|
|
|
|
+// 右键
|
|
|
|
|
+const optionsHandle = (
|
|
|
|
|
+ targetList: MenuOptionsItemType[],
|
|
|
|
|
+ allList: MenuOptionsItemType[],
|
|
|
|
|
+ targetInstance: CreateComponentType
|
|
|
|
|
+) => {
|
|
|
|
|
+ const filter = (menulist: MenuEnum[]) => {
|
|
|
|
|
+ const list: MenuOptionsItemType[] = []
|
|
|
|
|
+ allList.forEach(item => {
|
|
|
|
|
+ if (menulist.includes(item.key as MenuEnum)) {
|
|
|
|
|
+ list.push(item)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ return list
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 多选处理
|
|
|
|
|
+ if (chartEditStore.getTargetChart.selectId.length > 1) {
|
|
|
|
|
+ return filter([MenuEnum.GROUP])
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return [...filter([MenuEnum.UN_GROUP]), divider(), ...targetList]
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 配置项
|
|
// 配置项
|
|
|
const themeColor = computed(() => {
|
|
const themeColor = computed(() => {
|
|
|
const chartThemeColor = chartEditStore.getEditCanvasConfig.chartThemeColor
|
|
const chartThemeColor = chartEditStore.getEditCanvasConfig.chartThemeColor
|