mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
🎨 When "Default fill created time" is enabled for database date fields, the automatically filled time value is incorrect https://github.com/siyuan-note/siyuan/issues/15828
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
370601d277
commit
7faf981b69
5 changed files with 19 additions and 11 deletions
|
|
@ -1201,7 +1201,7 @@ func (r *ValueRollup) calcContents(calc *RollupCalc, destKey *Key) {
|
|||
}
|
||||
}
|
||||
|
||||
func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType) (ret *Value) {
|
||||
func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType, keyDateAutoFill bool) (ret *Value) {
|
||||
if "" == valueID {
|
||||
valueID = ast.NewNodeID()
|
||||
}
|
||||
|
|
@ -1227,7 +1227,7 @@ func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ KeyType) (
|
|||
case KeyTypeNumber:
|
||||
ret.Number = &ValueNumber{}
|
||||
case KeyTypeDate:
|
||||
ret.Date = &ValueDate{IsNotTime: true}
|
||||
ret.Date = &ValueDate{IsNotTime: !keyDateAutoFill}
|
||||
case KeyTypeSelect:
|
||||
ret.MSelect = []*ValueSelect{}
|
||||
case KeyTypeMSelect:
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group
|
|||
}
|
||||
}
|
||||
} else {
|
||||
newValue = av.GetAttributeViewDefaultValue(ast.NewNodeID(), groupKey.ID, addingItemID, groupKey.Type)
|
||||
newValue = av.GetAttributeViewDefaultValue(ast.NewNodeID(), groupKey.ID, addingItemID, groupKey.Type, false)
|
||||
newValue.MSelect = append(newValue.MSelect, &av.ValueSelect{Content: opt.Name, Color: opt.Color})
|
||||
}
|
||||
}
|
||||
|
|
@ -278,7 +278,7 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group
|
|||
|
||||
if nil == nearItem && !filterKeyIDs[groupKey.ID] {
|
||||
// 没有临近项并且分组字段和过滤字段不同时,使用分组值
|
||||
newValue = av.GetAttributeViewDefaultValue(ast.NewNodeID(), groupKey.ID, addingItemID, groupKey.Type)
|
||||
newValue = av.GetAttributeViewDefaultValue(ast.NewNodeID(), groupKey.ID, addingItemID, groupKey.Type, false)
|
||||
if av.KeyTypeText == groupView.GroupVal.Type {
|
||||
content := groupView.GroupVal.Text.Content
|
||||
switch newValue.Type {
|
||||
|
|
@ -1535,7 +1535,7 @@ func GetBlockAttributeViewKeys(nodeID string) (ret []*BlockAttributeViewKeys) {
|
|||
keyValues = append(keyValues, kValues)
|
||||
} else {
|
||||
// 如果没有值,那么就补一个默认值
|
||||
kValues.Values = append(kValues.Values, av.GetAttributeViewDefaultValue(itemID[:14]+ast.NewNodeID()[14:], kv.Key.ID, itemID, kv.Key.Type))
|
||||
kValues.Values = append(kValues.Values, av.GetAttributeViewDefaultValue(itemID[:14]+ast.NewNodeID()[14:], kv.Key.ID, itemID, kv.Key.Type, false))
|
||||
keyValues = append(keyValues, kValues)
|
||||
}
|
||||
}
|
||||
|
|
@ -1651,7 +1651,7 @@ func GetBlockAttributeViewKeys(nodeID string) (ret []*BlockAttributeViewKeys) {
|
|||
ial = map[string]string{}
|
||||
}
|
||||
if nil == kv.Values[0].Template {
|
||||
kv.Values[0] = av.GetAttributeViewDefaultValue(kv.Values[0].ID, kv.Key.ID, nodeID, kv.Key.Type)
|
||||
kv.Values[0] = av.GetAttributeViewDefaultValue(kv.Values[0].ID, kv.Key.ID, nodeID, kv.Key.Type, false)
|
||||
}
|
||||
|
||||
var renderErr error
|
||||
|
|
@ -3156,7 +3156,7 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
|
|||
} else {
|
||||
if val.IsRenderAutoFill {
|
||||
val.CreatedAt, val.UpdatedAt = now, now+1000
|
||||
val.Date.Content, val.Date.IsNotEmpty = now, true
|
||||
val.Date.Content, val.Date.IsNotEmpty, val.Date.IsNotTime = now, true, false
|
||||
val.IsRenderAutoFill = false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ func filterNotFoundAttrViewItems(keyValuesMap map[string][]*av.KeyValues) {
|
|||
}
|
||||
}
|
||||
|
||||
func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string, fieldNumberFormat av.NumberFormat, fieldTemplate string) {
|
||||
func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string, fieldNumberFormat av.NumberFormat, fieldTemplate string, fieldDateAutoFill bool) {
|
||||
switch baseValue.ValueType {
|
||||
case av.KeyTypeNumber: // 格式化数字
|
||||
if nil != baseValue.Value && nil != baseValue.Value.Number && baseValue.Value.Number.IsNotEmpty {
|
||||
|
|
@ -330,7 +330,7 @@ func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string,
|
|||
}
|
||||
|
||||
if nil == baseValue.Value {
|
||||
baseValue.Value = av.GetAttributeViewDefaultValue(baseValue.ID, fieldID, itemID, baseValue.ValueType)
|
||||
baseValue.Value = av.GetAttributeViewDefaultValue(baseValue.ID, fieldID, itemID, baseValue.ValueType, fieldDateAutoFill)
|
||||
} else {
|
||||
FillAttributeViewNilValue(baseValue.Value, baseValue.ValueType)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,11 @@ func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query
|
|||
}
|
||||
galleryCard.ID = cardID
|
||||
|
||||
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template)
|
||||
filedDateAutoFill := false
|
||||
if nil != field.Date {
|
||||
filedDateAutoFill = field.Date.AutoFillNow
|
||||
}
|
||||
fillAttributeViewBaseValue(fieldValue.BaseValue, field.ID, cardID, field.NumberFormat, field.Template, filedDateAutoFill)
|
||||
galleryCard.Values = append(galleryCard.Values, fieldValue)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,11 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s
|
|||
}
|
||||
tableRow.ID = rowID
|
||||
|
||||
fillAttributeViewBaseValue(tableCell.BaseValue, col.ID, rowID, col.NumberFormat, col.Template)
|
||||
filedDateAutoFill := false
|
||||
if nil != col.Date {
|
||||
filedDateAutoFill = col.Date.AutoFillNow
|
||||
}
|
||||
fillAttributeViewBaseValue(tableCell.BaseValue, col.ID, rowID, col.NumberFormat, col.Template, filedDateAutoFill)
|
||||
tableRow.Cells = append(tableRow.Cells, tableCell)
|
||||
}
|
||||
ret.Rows = append(ret.Rows, &tableRow)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue