From 2953870db56d88d9ea39ccced75d342b40e5073f Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 24 Dec 2023 09:40:01 +0800 Subject: [PATCH 1/3] :art: Creating a dailynote existed no longer expands the doc tree https://github.com/siyuan-note/siyuan/issues/9959 --- kernel/model/attribute_view.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 9767722aa..d0d29880d 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -801,6 +801,9 @@ func updateAttributeViewColRelation(operation *Operation) (err error) { } isSameAv := srcAv.ID == destAv.ID + if isSameAv { + destAv = srcAv + } for _, keyValues := range srcAv.KeyValues { if keyValues.Key.ID == operation.KeyID { @@ -857,6 +860,13 @@ func updateAttributeViewColRelation(operation *Operation) (err error) { Relation: &av.Relation{AvID: operation.AvID, IsTwoWay: operation.IsTwoWay, BackKeyID: operation.KeyID}, }, }) + + for _, v := range destAv.Views { + switch v.LayoutType { + case av.LayoutTypeTable: + v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{ID: operation.KeyID}) + } + } } err = av.SaveAttributeView(srcAv) From 356b6748c926af943e3ee3e8e1f0b9f1fc9ebc1d Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 24 Dec 2023 09:50:42 +0800 Subject: [PATCH 2/3] :art: Add Relation column to database table view https://github.com/siyuan-note/siyuan/issues/9888 --- kernel/model/attribute_view.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index d0d29880d..d8cff2603 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -852,19 +852,21 @@ func updateAttributeViewColRelation(operation *Operation) (err error) { } if !destAdded { - destAv.KeyValues = append(destAv.KeyValues, &av.KeyValues{ - Key: &av.Key{ - ID: operation.BackRelationKeyID, - Name: operation.Name, - Type: av.KeyTypeRelation, - Relation: &av.Relation{AvID: operation.AvID, IsTwoWay: operation.IsTwoWay, BackKeyID: operation.KeyID}, - }, - }) + if operation.IsTwoWay { + destAv.KeyValues = append(destAv.KeyValues, &av.KeyValues{ + Key: &av.Key{ + ID: operation.BackRelationKeyID, + Name: operation.Name, + Type: av.KeyTypeRelation, + Relation: &av.Relation{AvID: operation.AvID, IsTwoWay: operation.IsTwoWay, BackKeyID: operation.KeyID}, + }, + }) - for _, v := range destAv.Views { - switch v.LayoutType { - case av.LayoutTypeTable: - v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{ID: operation.KeyID}) + for _, v := range destAv.Views { + switch v.LayoutType { + case av.LayoutTypeTable: + v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{ID: operation.KeyID}) + } } } } From 9d72566876b879172d209ffec43f3a6f6ede542f Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 24 Dec 2023 09:55:12 +0800 Subject: [PATCH 3/3] :art: Add Relation column to database table view https://github.com/siyuan-note/siyuan/issues/9888 --- kernel/model/attribute_view.go | 2 +- kernel/treenode/node.go | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index d8cff2603..19961289c 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -865,7 +865,7 @@ func updateAttributeViewColRelation(operation *Operation) (err error) { for _, v := range destAv.Views { switch v.LayoutType { case av.LayoutTypeTable: - v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{ID: operation.KeyID}) + v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{ID: operation.BackRelationKeyID}) } } } diff --git a/kernel/treenode/node.go b/kernel/treenode/node.go index 82ef223c0..7e80aa0e2 100644 --- a/kernel/treenode/node.go +++ b/kernel/treenode/node.go @@ -600,10 +600,9 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a // 组装列 for _, col := range view.Table.Columns { - key, getErr := attrView.GetKey(col.ID) - if nil != getErr { - err = getErr - return + key, _ := attrView.GetKey(col.ID) + if nil == key { + continue } ret.Columns = append(ret.Columns, &av.TableColumn{