This commit is contained in:
Daniel 2025-07-01 22:42:48 +08:00
parent b357047290
commit 17c59cb2ca
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
11 changed files with 64 additions and 69 deletions

View file

@ -187,7 +187,7 @@ func RenderTemplateField(ial map[string]string, keyValues []*av.KeyValues, tplCo
return
}
func generateAttrViewItems(attrView *av.AttributeView) (ret map[string][]*av.KeyValues) {
func generateAttrViewItems(attrView *av.AttributeView, view *av.View) (ret map[string][]*av.KeyValues) {
ret = map[string][]*av.KeyValues{}
for _, keyValues := range attrView.KeyValues {
for _, val := range keyValues.Values {
@ -200,6 +200,17 @@ func generateAttrViewItems(attrView *av.AttributeView) (ret map[string][]*av.Key
ret[val.BlockID] = values
}
}
// 如果是分组视图,则需要过滤掉不在分组中的项目
if 0 < len(view.GroupItemIDs) {
tmp := map[string][]*av.KeyValues{}
for _, groupItemID := range view.GroupItemIDs {
if _, ok := ret[groupItemID]; ok {
tmp[groupItemID] = ret[groupItemID]
}
}
ret = tmp
}
return
}

View file

@ -66,8 +66,8 @@ func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query
})
}
cardsValues := generateAttrViewItems(attrView) // 生成卡片
filterNotFoundAttrViewItems(&cardsValues) // 过滤掉不存在的卡片
cardsValues := generateAttrViewItems(attrView, view) // 生成卡片
filterNotFoundAttrViewItems(&cardsValues) // 过滤掉不存在的卡片
// 批量加载绑定块对应的树
var ialIDs []string

View file

@ -71,8 +71,8 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s
})
}
rowsValues := generateAttrViewItems(attrView) // 生成行
filterNotFoundAttrViewItems(&rowsValues) // 过滤掉不存在的行
rowsValues := generateAttrViewItems(attrView, view) // 生成行
filterNotFoundAttrViewItems(&rowsValues) // 过滤掉不存在的行
// 生成行单元格
for rowID, rowValues := range rowsValues {