This commit is contained in:
Daniel 2025-06-13 12:00:49 +08:00
parent a615b01084
commit 180bea1eb9
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 38 additions and 10 deletions

View file

@ -421,6 +421,14 @@ func SaveAttributeView(av *AttributeView) (err error) {
view.Table.PageSize = TableViewDefaultPageSize
}
}
if nil != view.Gallery {
// 行去重
view.Gallery.CardIDs = gulu.Str.RemoveDuplicatedElem(view.Gallery.CardIDs)
// 分页大小
if 1 > view.Gallery.PageSize {
view.Gallery.PageSize = GalleryViewDefaultPageSize
}
}
}
var data []byte
@ -587,16 +595,31 @@ func (av *AttributeView) Clone() (ret *AttributeView) {
for _, view := range ret.Views {
view.ID = ast.NewNodeID()
view.Table.ID = ast.NewNodeID()
for _, column := range view.Table.Columns {
column.ID = keyIDMap[column.ID]
}
view.Table.RowIDs = []string{}
switch view.LayoutType {
case LayoutTypeTable:
for _, column := range view.Table.Columns {
column.ID = keyIDMap[column.ID]
}
view.Table.RowIDs = []string{}
for _, f := range view.Table.Filters {
f.Column = keyIDMap[f.Column]
}
for _, s := range view.Table.Sorts {
s.Column = keyIDMap[s.Column]
for _, f := range view.Table.Filters {
f.Column = keyIDMap[f.Column]
}
for _, s := range view.Table.Sorts {
s.Column = keyIDMap[s.Column]
}
case LayoutTypeGallery:
for _, cardField := range view.Gallery.CardFields {
cardField.ID = keyIDMap[cardField.ID]
}
view.Gallery.CardIDs = []string{}
for _, f := range view.Gallery.Filters {
f.Column = keyIDMap[f.Column]
}
for _, s := range view.Gallery.Sorts {
s.Column = keyIDMap[s.Column]
}
}
}
ret.ViewID = ret.Views[0].ID

View file

@ -2602,7 +2602,12 @@ func removeAttributeViewBlock(srcIDs []string, avID string, tx *Transaction) (er
for _, view := range attrView.Views {
for _, blockID := range srcIDs {
view.Table.RowIDs = gulu.Str.RemoveElem(view.Table.RowIDs, blockID)
switch view.LayoutType {
case av.LayoutTypeTable:
view.Table.RowIDs = gulu.Str.RemoveElem(view.Table.RowIDs, blockID)
case av.LayoutTypeGallery:
view.Gallery.CardIDs = gulu.Str.RemoveElem(view.Gallery.CardIDs, blockID)
}
}
}