57 lines
1.5 KiB
TypeScript
Raw Normal View History

2022-01-29 23:58:56 +08:00
import { onUnmounted, onMounted } from 'vue'
2022-01-24 16:25:43 +08:00
import { getChartEditStore } from './useStore.hook'
import { EditCanvasTypeEnum } from '@/store/modules/chartEditStore/chartEditStore.d'
2022-01-29 23:58:56 +08:00
import { CreateComponentType } from '@/packages/index.d'
2022-01-24 16:25:43 +08:00
const chartEditStore = getChartEditStore()
2022-01-27 22:30:35 +08:00
// 布局处理
2022-01-24 16:25:43 +08:00
export const useLayout = () => {
onMounted(() => {
2022-01-24 21:12:18 +08:00
// 设置 Dom 值(ref 不生效先用 document)
2022-01-24 16:25:43 +08:00
chartEditStore.setEditCanvasItem(
2022-01-24 21:12:18 +08:00
EditCanvasTypeEnum.EDIT_LAYOUT_DOM,
2022-01-24 16:25:43 +08:00
document.getElementById('go-chart-edit-layout')
)
chartEditStore.setEditCanvasItem(
2022-01-24 21:12:18 +08:00
EditCanvasTypeEnum.EDIT_CONTENT_DOM,
2022-01-24 16:25:43 +08:00
document.getElementById('go-chart-edit-content')
)
// 大小初始化
chartEditStore.setPageSize()
// 监听初始化
const removeScale = chartEditStore.listenerScale()
onUnmounted(() => {
removeScale()
})
})
2022-01-29 23:58:56 +08:00
}
// 点击事件
export const mousedownHandle = (e: MouseEvent, item?: CreateComponentType) => {
e.preventDefault()
e.stopPropagation()
if (item) {
chartEditStore.setTargetSelectChart(item.id)
return
}
chartEditStore.setTargetSelectChart(item)
}
// 进入事件
export const mouseenterHandle = (e: MouseEvent, item: CreateComponentType) => {
e.preventDefault()
e.stopPropagation()
chartEditStore.setTargetHoverChart(item.id)
}
// 移出事件
export const mouseleaveHandle = (e: MouseEvent, item: CreateComponentType) => {
e.preventDefault()
e.stopPropagation()
chartEditStore.setTargetHoverChart(undefined)
}