mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
🎨 Database gallery view https://github.com/siyuan-note/siyuan/issues/10414
This commit is contained in:
parent
05d1085633
commit
e1c1c806d6
3 changed files with 28 additions and 48 deletions
|
|
@ -222,6 +222,32 @@ func filterNotFoundAttrViewItems(keyValuesMap *map[string][]*av.KeyValues) {
|
|||
}
|
||||
}
|
||||
|
||||
func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string, fieldNumberFormat av.NumberFormat, fieldTemplate string) {
|
||||
switch baseValue.ValueType {
|
||||
case av.KeyTypeNumber: // 格式化数字
|
||||
if nil != baseValue.Value && nil != baseValue.Value.Number && baseValue.Value.Number.IsNotEmpty {
|
||||
baseValue.Value.Number.Format = fieldNumberFormat
|
||||
baseValue.Value.Number.FormatNumber()
|
||||
}
|
||||
case av.KeyTypeTemplate: // 渲染模板字段
|
||||
baseValue.Value = &av.Value{ID: baseValue.ID, KeyID: fieldID, BlockID: itemID, Type: av.KeyTypeTemplate, Template: &av.ValueTemplate{Content: fieldTemplate}}
|
||||
case av.KeyTypeCreated: // 填充创建时间字段值,后面再渲染
|
||||
baseValue.Value = &av.Value{ID: baseValue.ID, KeyID: fieldID, BlockID: itemID, Type: av.KeyTypeCreated}
|
||||
case av.KeyTypeUpdated: // 填充更新时间字段值,后面再渲染
|
||||
baseValue.Value = &av.Value{ID: baseValue.ID, KeyID: fieldID, BlockID: itemID, Type: av.KeyTypeUpdated}
|
||||
case av.KeyTypeRelation: // 清空关联字段值,后面再渲染 https://ld246.com/article/1703831044435
|
||||
if nil != baseValue.Value && nil != baseValue.Value.Relation {
|
||||
baseValue.Value.Relation.Contents = nil
|
||||
}
|
||||
}
|
||||
|
||||
if nil == baseValue.Value {
|
||||
baseValue.Value = av.GetAttributeViewDefaultValue(baseValue.ID, fieldID, itemID, baseValue.ValueType)
|
||||
} else {
|
||||
fillAttributeViewNilValue(baseValue.Value, baseValue.ValueType)
|
||||
}
|
||||
}
|
||||
|
||||
func fillAttributeViewNilValue(value *av.Value, typ av.KeyType) {
|
||||
value.Type = typ
|
||||
switch typ {
|
||||
|
|
|
|||
|
|
@ -94,30 +94,7 @@ func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query
|
|||
}
|
||||
galleryCard.ID = cardID
|
||||
|
||||
switch fieldValue.ValueType {
|
||||
case av.KeyTypeNumber: // 格式化数字
|
||||
if nil != fieldValue.Value && nil != fieldValue.Value.Number && fieldValue.Value.Number.IsNotEmpty {
|
||||
fieldValue.Value.Number.Format = field.NumberFormat
|
||||
fieldValue.Value.Number.FormatNumber()
|
||||
}
|
||||
case av.KeyTypeTemplate: // 渲染模板字段
|
||||
fieldValue.Value = &av.Value{ID: fieldValue.ID, KeyID: field.ID, BlockID: cardID, Type: av.KeyTypeTemplate, Template: &av.ValueTemplate{Content: field.Template}}
|
||||
case av.KeyTypeCreated: // 填充创建时间字段值,后面再渲染
|
||||
fieldValue.Value = &av.Value{ID: fieldValue.ID, KeyID: field.ID, BlockID: cardID, Type: av.KeyTypeCreated}
|
||||
case av.KeyTypeUpdated: // 填充更新时间字段值,后面再渲染
|
||||
fieldValue.Value = &av.Value{ID: fieldValue.ID, KeyID: field.ID, BlockID: cardID, Type: av.KeyTypeUpdated}
|
||||
case av.KeyTypeRelation: // 清空关联字段值,后面再渲染 https://ld246.com/article/1703831044435
|
||||
if nil != fieldValue.Value && nil != fieldValue.Value.Relation {
|
||||
fieldValue.Value.Relation.Contents = nil
|
||||
}
|
||||
}
|
||||
|
||||
if nil == fieldValue.Value {
|
||||
fieldValue.Value = av.GetAttributeViewDefaultValue(fieldValue.ID, field.ID, cardID, fieldValue.ValueType)
|
||||
} else {
|
||||
fillAttributeViewNilValue(fieldValue.Value, fieldValue.ValueType)
|
||||
}
|
||||
|
||||
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template)
|
||||
galleryCard.Values = append(galleryCard.Values, fieldValue)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,30 +101,7 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s
|
|||
}
|
||||
tableRow.ID = rowID
|
||||
|
||||
switch tableCell.ValueType {
|
||||
case av.KeyTypeNumber: // 格式化数字
|
||||
if nil != tableCell.Value && nil != tableCell.Value.Number && tableCell.Value.Number.IsNotEmpty {
|
||||
tableCell.Value.Number.Format = col.NumberFormat
|
||||
tableCell.Value.Number.FormatNumber()
|
||||
}
|
||||
case av.KeyTypeTemplate: // 渲染模板列
|
||||
tableCell.Value = &av.Value{ID: tableCell.ID, KeyID: col.ID, BlockID: rowID, Type: av.KeyTypeTemplate, Template: &av.ValueTemplate{Content: col.Template}}
|
||||
case av.KeyTypeCreated: // 填充创建时间列值,后面再渲染
|
||||
tableCell.Value = &av.Value{ID: tableCell.ID, KeyID: col.ID, BlockID: rowID, Type: av.KeyTypeCreated}
|
||||
case av.KeyTypeUpdated: // 填充更新时间列值,后面再渲染
|
||||
tableCell.Value = &av.Value{ID: tableCell.ID, KeyID: col.ID, BlockID: rowID, Type: av.KeyTypeUpdated}
|
||||
case av.KeyTypeRelation: // 清空关联列值,后面再渲染 https://ld246.com/article/1703831044435
|
||||
if nil != tableCell.Value && nil != tableCell.Value.Relation {
|
||||
tableCell.Value.Relation.Contents = nil
|
||||
}
|
||||
}
|
||||
|
||||
if nil == tableCell.Value {
|
||||
tableCell.Value = av.GetAttributeViewDefaultValue(tableCell.ID, col.ID, rowID, tableCell.ValueType)
|
||||
} else {
|
||||
fillAttributeViewNilValue(tableCell.Value, tableCell.ValueType)
|
||||
}
|
||||
|
||||
fillAttributeViewBaseValue(tableCell.BaseValue, col.ID, rowID, col.NumberFormat, col.Template)
|
||||
tableRow.Cells = append(tableRow.Cells, tableCell)
|
||||
}
|
||||
ret.Rows = append(ret.Rows, &tableRow)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue