mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-14 03:04:21 +01:00
🎨 Database gallery view https://github.com/siyuan-note/siyuan/issues/10414
This commit is contained in:
parent
a615b01084
commit
180bea1eb9
2 changed files with 38 additions and 10 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue