🎨 Add Default fill specific time switch to database date field https://github.com/siyuan-note/siyuan/issues/12089

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2025-09-25 21:01:30 +08:00
parent 15d651713c
commit 7beb2aa978
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
6 changed files with 14 additions and 14 deletions

View file

@ -1240,7 +1240,7 @@ func (r *ValueRollup) calcContents(calc *RollupCalc, destKey *Key) {
}
}
func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType, keyDateAutoFill bool) (ret *Value) {
func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType, keyDateIsTime bool) (ret *Value) {
if "" == valueID {
valueID = ast.NewNodeID()
}
@ -1266,7 +1266,7 @@ func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType, k
case KeyTypeNumber:
ret.Number = &ValueNumber{}
case KeyTypeDate:
ret.Date = &ValueDate{IsNotTime: !keyDateAutoFill}
ret.Date = &ValueDate{IsNotTime: !keyDateIsTime}
case KeyTypeSelect:
ret.MSelect = []*ValueSelect{}
case KeyTypeMSelect:

View file

@ -3303,7 +3303,7 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
if nil == val { // 避免覆盖已有值(可能前面已经通过过滤或者分组条件填充了值)
dateVal := &av.Value{
ID: ast.NewNodeID(), KeyID: keyValues.Key.ID, BlockID: addingItemID, Type: av.KeyTypeDate, IsDetached: isDetached, CreatedAt: now, UpdatedAt: now + 1000,
Date: &av.ValueDate{Content: now, IsNotEmpty: true},
Date: &av.ValueDate{Content: now, IsNotEmpty: true, IsNotTime: !keyValues.Key.Date.FillSpecificTime},
}
keyValues.Values = append(keyValues.Values, dateVal)
} else {

View file

@ -329,7 +329,7 @@ func filterNotFoundAttrViewItems(keyValuesMap map[string][]*av.KeyValues) {
}
}
func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string, fieldNumberFormat av.NumberFormat, fieldTemplate string, fieldDateAutoFill bool) {
func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string, fieldNumberFormat av.NumberFormat, fieldTemplate string, fieldDateIsTime bool) {
switch baseValue.ValueType {
case av.KeyTypeNumber: // 格式化数字
if nil != baseValue.Value && nil != baseValue.Value.Number && baseValue.Value.Number.IsNotEmpty {
@ -345,7 +345,7 @@ func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string,
}
if nil == baseValue.Value {
baseValue.Value = av.GetAttributeViewDefaultValue(baseValue.ID, fieldID, itemID, baseValue.ValueType, fieldDateAutoFill)
baseValue.Value = av.GetAttributeViewDefaultValue(baseValue.ID, fieldID, itemID, baseValue.ValueType, fieldDateIsTime)
} else {
FillAttributeViewNilValue(baseValue.Value, baseValue.ValueType)
}

View file

@ -108,11 +108,11 @@ func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query
}
galleryCard.ID = cardID
filedDateAutoFill := false
filedDateIsTime := false
if nil != field.Date {
filedDateAutoFill = field.Date.AutoFillNow
filedDateIsTime = field.Date.FillSpecificTime
}
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template, filedDateAutoFill)
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template, filedDateIsTime)
galleryCard.Values = append(galleryCard.Values, fieldValue)
}

View file

@ -102,11 +102,11 @@ func RenderAttributeViewKanban(attrView *av.AttributeView, view *av.View, query
}
kanbanCard.ID = cardID
filedDateAutoFill := false
filedDateIsTime := false
if nil != field.Date {
filedDateAutoFill = field.Date.AutoFillNow
filedDateIsTime = field.Date.FillSpecificTime
}
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template, filedDateAutoFill)
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template, filedDateIsTime)
kanbanCard.Values = append(kanbanCard.Values, fieldValue)
}

View file

@ -96,11 +96,11 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s
}
tableRow.ID = rowID
filedDateAutoFill := false
filedDateIsTime := false
if nil != col.Date {
filedDateAutoFill = col.Date.AutoFillNow
filedDateIsTime = col.Date.FillSpecificTime
}
fillAttributeViewBaseValue(tableCell.BaseValue, col.ID, rowID, col.NumberFormat, col.Template, filedDateAutoFill)
fillAttributeViewBaseValue(tableCell.BaseValue, col.ID, rowID, col.NumberFormat, col.Template, filedDateIsTime)
tableRow.Cells = append(tableRow.Cells, tableCell)
}
ret.Rows = append(ret.Rows, &tableRow)