mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-29 12:58:48 +01:00
🎨 Add Include time switch to database creation time field and update time field https://github.com/siyuan-note/siyuan/issues/12091
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
75da247b23
commit
0bea01ad3b
8 changed files with 262 additions and 37 deletions
|
|
@ -735,8 +735,14 @@ const (
|
|||
CreatedFormatDuration CreatedFormat = "duration"
|
||||
)
|
||||
|
||||
func NewFormattedValueCreated(content, content2 int64, format CreatedFormat) (ret *ValueCreated) {
|
||||
formatted := time.UnixMilli(content).Format("2006-01-02 15:04")
|
||||
func NewFormattedValueCreated(content, content2 int64, format CreatedFormat, isNotTime bool) (ret *ValueCreated) {
|
||||
var formatted string
|
||||
if isNotTime {
|
||||
formatted = time.UnixMilli(content).Format("2006-01-02")
|
||||
} else {
|
||||
formatted = time.UnixMilli(content).Format("2006-01-02 15:04")
|
||||
}
|
||||
|
||||
if 0 < content2 {
|
||||
formatted += " → " + time.UnixMilli(content2).Format("2006-01-02 15:04")
|
||||
}
|
||||
|
|
@ -770,8 +776,14 @@ const (
|
|||
UpdatedFormatDuration UpdatedFormat = "duration"
|
||||
)
|
||||
|
||||
func NewFormattedValueUpdated(content, content2 int64, format UpdatedFormat) (ret *ValueUpdated) {
|
||||
formatted := time.UnixMilli(content).Format("2006-01-02 15:04")
|
||||
func NewFormattedValueUpdated(content, content2 int64, format UpdatedFormat, isNotTime bool) (ret *ValueUpdated) {
|
||||
var formatted string
|
||||
if isNotTime {
|
||||
formatted = time.UnixMilli(content).Format("2006-01-02")
|
||||
} else {
|
||||
formatted = time.UnixMilli(content).Format("2006-01-02 15:04")
|
||||
}
|
||||
|
||||
if 0 < content2 {
|
||||
formatted += " → " + time.UnixMilli(content2).Format("2006-01-02 15:04")
|
||||
}
|
||||
|
|
@ -1098,11 +1110,21 @@ func (r *ValueRollup) calcContents(calc *RollupCalc, destKey *Key) {
|
|||
}
|
||||
case KeyTypeUpdated:
|
||||
if 0 != earliest && 0 != latest {
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(earliest, latest, UpdatedFormatDuration)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Updated {
|
||||
isNotTime = !destKey.Updated.IncludeTime
|
||||
}
|
||||
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(earliest, latest, UpdatedFormatDuration, isNotTime)}}
|
||||
}
|
||||
case KeyTypeCreated:
|
||||
if 0 != earliest && 0 != latest {
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(earliest, latest, CreatedFormatDuration)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Created {
|
||||
isNotTime = !destKey.Created.IncludeTime
|
||||
}
|
||||
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(earliest, latest, CreatedFormatDuration, isNotTime)}}
|
||||
}
|
||||
default:
|
||||
if math.MaxFloat64 != minVal && -math.MaxFloat64 != maxVal {
|
||||
|
|
@ -1146,11 +1168,21 @@ func (r *ValueRollup) calcContents(calc *RollupCalc, destKey *Key) {
|
|||
}
|
||||
case KeyTypeUpdated:
|
||||
if 0 != earliest {
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(earliest, 0, UpdatedFormatNone)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Updated {
|
||||
isNotTime = !destKey.Updated.IncludeTime
|
||||
}
|
||||
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(earliest, 0, UpdatedFormatNone, isNotTime)}}
|
||||
}
|
||||
case KeyTypeCreated:
|
||||
if 0 != earliest {
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(earliest, 0, CreatedFormatNone)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Created {
|
||||
isNotTime = !destKey.Created.IncludeTime
|
||||
}
|
||||
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(earliest, 0, CreatedFormatNone, isNotTime)}}
|
||||
}
|
||||
}
|
||||
case CalcOperatorLatest:
|
||||
|
|
@ -1190,11 +1222,20 @@ func (r *ValueRollup) calcContents(calc *RollupCalc, destKey *Key) {
|
|||
}
|
||||
case KeyTypeUpdated:
|
||||
if 0 != latest {
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(latest, 0, UpdatedFormatNone)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Updated {
|
||||
isNotTime = !destKey.Updated.IncludeTime
|
||||
}
|
||||
r.Contents = []*Value{{Type: KeyTypeUpdated, Updated: NewFormattedValueUpdated(latest, 0, UpdatedFormatNone, isNotTime)}}
|
||||
}
|
||||
case KeyTypeCreated:
|
||||
if 0 != latest {
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(latest, 0, CreatedFormatNone)}}
|
||||
isNotTime = false
|
||||
if nil != destKey.Created {
|
||||
isNotTime = !destKey.Created.IncludeTime
|
||||
}
|
||||
|
||||
r.Contents = []*Value{{Type: KeyTypeCreated, Created: NewFormattedValueCreated(latest, 0, CreatedFormatNone, isNotTime)}}
|
||||
}
|
||||
}
|
||||
case CalcOperatorChecked:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue