2022-01-29 23:58:56 +08:00
|
|
|
import { onUnmounted, onMounted } from 'vue'
|
2022-03-04 20:57:36 +08:00
|
|
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
2022-01-24 16:25:43 +08:00
|
|
|
import { EditCanvasTypeEnum } from '@/store/modules/chartEditStore/chartEditStore.d'
|
|
|
|
|
2022-03-04 20:57:36 +08:00
|
|
|
const chartEditStore = useChartEditStore()
|
2022-01-24 16:25:43 +08:00
|
|
|
|
2022-01-27 22:30:35 +08:00
|
|
|
// 布局处理
|
2023-05-04 17:04:08 +08:00
|
|
|
export const useLayout = (fn: () => Promise<void>) => {
|
|
|
|
let removeScale: Function = () => { }
|
|
|
|
onMounted(async () => {
|
2022-01-24 21:12:18 +08:00
|
|
|
// 设置 Dom 值(ref 不生效先用 document)
|
2022-02-16 19:18:39 +08:00
|
|
|
chartEditStore.setEditCanvas(
|
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')
|
|
|
|
)
|
2022-02-16 19:18:39 +08:00
|
|
|
chartEditStore.setEditCanvas(
|
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')
|
|
|
|
)
|
|
|
|
|
2023-05-04 17:04:08 +08:00
|
|
|
// 获取数据
|
|
|
|
await fn()
|
2022-01-24 16:25:43 +08:00
|
|
|
// 监听初始化
|
2023-05-04 17:04:08 +08:00
|
|
|
removeScale = chartEditStore.listenerScale()
|
2022-01-24 16:25:43 +08:00
|
|
|
|
2023-05-04 17:04:08 +08:00
|
|
|
})
|
|
|
|
|
|
|
|
onUnmounted(() => {
|
|
|
|
chartEditStore.setEditCanvas(EditCanvasTypeEnum.EDIT_LAYOUT_DOM, null)
|
|
|
|
chartEditStore.setEditCanvas(EditCanvasTypeEnum.EDIT_CONTENT_DOM, null)
|
|
|
|
removeScale()
|
2022-01-24 16:25:43 +08:00
|
|
|
})
|
2022-01-30 19:38:12 +08:00
|
|
|
}
|