From c559ac45bedde2ac5f654bc86312b39dd0d8610f Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 31 Mar 2024 23:32:00 +0800 Subject: [PATCH] :art: Template supports numerical calculations when using rollup https://github.com/siyuan-note/siyuan/issues/10810 --- kernel/model/attribute_view.go | 7 +++++++ kernel/treenode/node.go | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 70c4a481a..ec66f5c33 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -811,6 +811,13 @@ func renderTemplateCol(ial map[string]string, flashcard *Flashcard, rowValues [] dataModel[rowValue.Key.Name] = v.Number.Content } else if av.KeyTypeDate == v.Type { dataModel[rowValue.Key.Name] = time.UnixMilli(v.Date.Content) + } else if av.KeyTypeRollup == v.Type { + if 0 < len(v.Rollup.Contents) && av.KeyTypeNumber == v.Rollup.Contents[0].Type { + // 模板使用汇总时支持数字计算 + // Template supports numerical calculations when using rollup https://github.com/siyuan-note/siyuan/issues/10810 + // 汇总数字时仅取第一个数字填充模板 + dataModel[rowValue.Key.Name] = v.Rollup.Contents[0].Number.Content + } } else { dataModel[rowValue.Key.Name] = v.String() } diff --git a/kernel/treenode/node.go b/kernel/treenode/node.go index 8be45db60..19cbb41fa 100644 --- a/kernel/treenode/node.go +++ b/kernel/treenode/node.go @@ -1081,6 +1081,11 @@ func renderTemplateCol(ial map[string]string, rowValues []*av.KeyValues, tplCont dataModel[rowValue.Key.Name] = v.Number.Content } else if av.KeyTypeDate == v.Type { dataModel[rowValue.Key.Name] = time.UnixMilli(v.Date.Content) + } else if av.KeyTypeRollup == v.Type { + if 0 < len(v.Rollup.Contents) && av.KeyTypeNumber == v.Rollup.Contents[0].Type { + // 汇总数字时仅取第一个数字填充模板 + dataModel[rowValue.Key.Name] = v.Rollup.Contents[0].Number.Content + } } else { dataModel[rowValue.Key.Name] = v.String() }