Merge pull request #6917 from dataease/pr@dev@perf_edit_filter

perf: 下拉过滤器首选项作用于tab中视图(编辑状态)
This commit is contained in:
fit2cloud-chenyw 2023-11-29 14:15:03 +08:00 committed by GitHub
commit 515b881558
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -90,7 +90,13 @@ export const buildCanvasIdMap = panelItems => {
const cacheCondition = (cb, obj) => {
obj.cb = cb
}
export const buildViewKeyFilters = (panelItems, result) => {
const crossCanvasFilter = (filterEle, viewId) => {
const filterCanvas = filterEle.canvasId
const canvasIdMap = buildCanvasIdMap(store.state.componentData)
return canvasIdMap[viewId] !== filterCanvas
}
export const buildViewKeyFilters = (panelItems, result, isEdit = false) => {
if (!(panelItems && panelItems.length > 0)) {
return result
}
@ -112,7 +118,7 @@ export const buildViewKeyFilters = (panelItems, result) => {
// 进行过滤时 如果过滤组件在主画布 则条件适用于所有画布视图 否则需要过滤组件和视图在相同画布
if (element.canvasId === 'canvas-main' || element.canvasId === canvasIdMap[viewId]) {
const vidMatch = viewIdMatch(condition.viewIds, viewId)
if (vidMatch && selectFirst) {
if (vidMatch && selectFirst && !(crossCanvasFilter(element, viewId) && isEdit)) {
const obj = {}
const promise = new Promise(resolve => {
cacheCondition(cbParam => {
@ -139,10 +145,9 @@ export const buildViewKeyFilters = (panelItems, result) => {
})
return result
}
export const buildFilterMap = panelItems => {
export const buildFilterMap = (panelItems, isEdit = false) => {
let result = buildViewKeyMap(panelItems)
result = buildViewKeyFilters(panelItems, result)
result = buildViewKeyFilters(panelItems, result, isEdit)
return result
}