import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
import { storeToRefs } from 'pinia'
const dvMainStore = dvMainStoreWithOut()
const { componentData } = storeToRefs(dvMainStore)
export function checkJoinGroup(item) {
if (item.component === 'DeTabs') {
let result = true
item.propValue?.forEach(tabItem => {
tabItem.componentData?.forEach(tabComponent => {
if (tabComponent.component === 'Group') {
result = false
}
})
})
return result
} else {
return true
}
}
export function checkJoinTab(item) {
if (item.component === 'Group') {
let result = true
item.propValue.forEach(groupItem => {
if (groupItem.component === 'DeTabs') {
result = false
}
})
return result
} else {
return true
}
}
export function itemCanvasPathCheck(item, checkType) {
if (checkType === 'canvas-main') {
return isMainCanvas(item.canvasId)
}
const pathMap = {}
componentData.value.forEach(componentItem => {
canvasIdMapCheck(componentItem, null, pathMap)
})
if (checkType === 'pTabGroup') {
return Boolean(
pathMap[item.id] &&
pathMap[item.id].component === 'DeTabs' &&
pathMap[pathMap[item.id].id] &&
pathMap[pathMap[item.id].id].component === 'Group'
)
}
if (checkType === 'groupInTab') {
return Boolean(
item.component === 'Group' &&
pathMap[pathMap[item.id].id] &&
pathMap[pathMap[item.id].id].component === 'DeTabs'
)
}
if (checkType === 'tabInGroup') {
return Boolean(
item.component === 'DeTabs' && pathMap[item.id] && pathMap[item.id].component === 'Group'
)
}
return false
}
export function canvasIdMapCheck(item, pItem, pathMap) {
pathMap[item.id] = pItem
if (item.component === 'DeTabs') {
item.propValue?.forEach(tabItem => {
tabItem.componentData?.forEach(tabComponent => {
canvasIdMapCheck(tabComponent, item, pathMap)
})
})
} else if (item.component === 'Group') {
item.propValue.forEach(groupItem => {
canvasIdMapCheck(groupItem, item, pathMap)
})
}
}