forked from github/dataease
Merge pull request #11794 from dataease/pr@dev-v2@refactor_tab-group
Pr@dev v2@refactor tab group
This commit is contained in:
commit
0cab19bffb
@ -39,7 +39,7 @@ const areaDataPush = component => {
|
|||||||
component.isShow &&
|
component.isShow &&
|
||||||
component.canvasId === 'canvas-main' &&
|
component.canvasId === 'canvas-main' &&
|
||||||
component.category !== 'hidden' &&
|
component.category !== 'hidden' &&
|
||||||
!['Group', 'GroupArea'].includes(component.component)
|
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
|
||||||
) {
|
) {
|
||||||
areaData.value.components.push(component)
|
areaData.value.components.push(component)
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ const shiftDataPush = curClickIndex => {
|
|||||||
!component.isLock &&
|
!component.isLock &&
|
||||||
component.isShow &&
|
component.isShow &&
|
||||||
component.category !== 'hidden' &&
|
component.category !== 'hidden' &&
|
||||||
!['Group', 'GroupArea'].includes(component.component)
|
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
|
||||||
)
|
)
|
||||||
areaData.value.components.push(...shiftAreaComponents)
|
areaData.value.components.push(...shiftAreaComponents)
|
||||||
dvMainStore.setCurComponent({ component: null, index: null })
|
dvMainStore.setCurComponent({ component: null, index: null })
|
||||||
|
@ -160,7 +160,7 @@ const state = reactive({
|
|||||||
id: ''
|
id: ''
|
||||||
},
|
},
|
||||||
// 禁止移入Tab中的组件
|
// 禁止移入Tab中的组件
|
||||||
ignoreTabMoveComponent: ['de-button', 'de-reset-button', 'DeTabs'],
|
ignoreTabMoveComponent: ['de-button', 'de-reset-button', 'DeTabs', 'Group'],
|
||||||
// 当画布在tab中是 宽度左右拓展的余量
|
// 当画布在tab中是 宽度左右拓展的余量
|
||||||
parentWidthTabOffset: 40,
|
parentWidthTabOffset: 40,
|
||||||
canvasChangeTips: 'none',
|
canvasChangeTips: 'none',
|
||||||
@ -431,7 +431,7 @@ const areaDataPush = component => {
|
|||||||
!component.isLock &&
|
!component.isLock &&
|
||||||
component.isShow &&
|
component.isShow &&
|
||||||
component.canvasId === 'canvas-main' &&
|
component.canvasId === 'canvas-main' &&
|
||||||
!['Group', 'GroupArea'].includes(component.component)
|
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
|
||||||
) {
|
) {
|
||||||
areaData.value.components.push(component)
|
areaData.value.components.push(component)
|
||||||
}
|
}
|
||||||
|
@ -142,9 +142,7 @@ export const composeStore = defineStore('compose', {
|
|||||||
|
|
||||||
const components = []
|
const components = []
|
||||||
areaData.components.forEach(component => {
|
areaData.components.forEach(component => {
|
||||||
if (!['Group', 'GroupArea'].includes(component.component)) {
|
if (['Group'].includes(component.component)) {
|
||||||
components.push(component)
|
|
||||||
} else {
|
|
||||||
// 如果要组合的组件中,已经存在组合数据,则需要提前拆分
|
// 如果要组合的组件中,已经存在组合数据,则需要提前拆分
|
||||||
const parentStyle = { ...component.style }
|
const parentStyle = { ...component.style }
|
||||||
const subComponents = component.propValue
|
const subComponents = component.propValue
|
||||||
@ -155,6 +153,10 @@ export const composeStore = defineStore('compose', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
components.push(...component.propValue)
|
components.push(...component.propValue)
|
||||||
|
} else if (['DeTabs', 'GroupArea'].includes(component.component)) {
|
||||||
|
// do nothing GroupAreas组合视阔区 DeTabs 均不加入分组中
|
||||||
|
} else {
|
||||||
|
components.push(component)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -202,10 +204,12 @@ export const composeStore = defineStore('compose', {
|
|||||||
// 将已经放到 Group 组件数据删除,也就是在 componentData 中删除,因为它们已经从 componentData 挪到 Group 组件中了
|
// 将已经放到 Group 组件数据删除,也就是在 componentData 中删除,因为它们已经从 componentData 挪到 Group 组件中了
|
||||||
batchDeleteComponent(deleteData) {
|
batchDeleteComponent(deleteData) {
|
||||||
deleteData.forEach(component => {
|
deleteData.forEach(component => {
|
||||||
for (let i = 0, len = componentData.value.length; i < len; i++) {
|
if (!['DeTabs', 'GroupArea'].includes(component.component)) {
|
||||||
if (component.id == componentData.value[i].id) {
|
for (let i = 0, len = componentData.value.length; i < len; i++) {
|
||||||
componentData.value.splice(i, 1)
|
if (component.id == componentData.value[i].id) {
|
||||||
break
|
componentData.value.splice(i, 1)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -5,6 +5,7 @@ import { copyStoreWithOut } from '@/store/modules/data-visualization/copy'
|
|||||||
import { composeStoreWithOut } from '@/store/modules/data-visualization/compose'
|
import { composeStoreWithOut } from '@/store/modules/data-visualization/compose'
|
||||||
import { lockStoreWithOut } from '@/store/modules/data-visualization/lock'
|
import { lockStoreWithOut } from '@/store/modules/data-visualization/lock'
|
||||||
import { storeToRefs } from 'pinia'
|
import { storeToRefs } from 'pinia'
|
||||||
|
import { getCurInfo } from '@/store/modules/data-visualization/common'
|
||||||
|
|
||||||
const dvMainStore = dvMainStoreWithOut()
|
const dvMainStore = dvMainStoreWithOut()
|
||||||
const composeStore = composeStoreWithOut()
|
const composeStore = composeStoreWithOut()
|
||||||
@ -235,7 +236,10 @@ function preview() {
|
|||||||
|
|
||||||
function deleteComponent() {
|
function deleteComponent() {
|
||||||
if (curComponent.value) {
|
if (curComponent.value) {
|
||||||
dvMainStore.deleteComponentById(curComponent.value.id)
|
const curInfo = getCurInfo()
|
||||||
|
if (curInfo) {
|
||||||
|
dvMainStore.deleteComponent(curInfo.index, curInfo.componentData)
|
||||||
|
}
|
||||||
} else if (areaData.value.components.length) {
|
} else if (areaData.value.components.length) {
|
||||||
areaData.value.components.forEach(component => {
|
areaData.value.components.forEach(component => {
|
||||||
dvMainStore.deleteComponentById(component.id)
|
dvMainStore.deleteComponentById(component.id)
|
||||||
|
Loading…
Reference in New Issue
Block a user