From bf0018e0c4d55b387420d0dd7cd952990c619ce2 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sat, 28 Jun 2025 10:22:59 +0800 Subject: [PATCH] :bug: Improve ChangeAttrViewLayout (#15157) --- kernel/model/attribute_view.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index a1d17b8dc..b34c5a292 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -150,18 +150,20 @@ func ChangeAttrViewLayout(blockID, avID string, layout av.LayoutType) (err error view.LayoutType = newLayout err = av.SaveAttributeView(attrView) - node, tree, err := getNodeByBlockID(nil, blockID) - if err != nil { - return - } + blockIDs := treenode.GetMirrorAttrViewBlockIDs(avID) + for _, blockID := range blockIDs { + node, tree, err := getNodeByBlockID(nil, blockID) + if err != nil { + continue + } - node.AttributeViewType = string(view.LayoutType) - attrs := parse.IAL2Map(node.KramdownIAL) - attrs[av.NodeAttrView] = view.ID - err = setNodeAttrs(node, tree, attrs) - if err != nil { - logging.LogWarnf("set node [%s] attrs failed: %s", blockID, err) - return + node.AttributeViewType = string(view.LayoutType) + attrs := parse.IAL2Map(node.KramdownIAL) + attrs[av.NodeAttrView] = view.ID + err = setNodeAttrs(node, tree, attrs) + if err != nil { + logging.LogWarnf("set node [%s] attrs failed: %s", blockID, err) + } } ReloadAttrView(avID)