Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2025-10-29 16:10:40 +08:00
parent 5e85d895b3
commit 1c952be716
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -242,6 +242,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) {
if nil == storage || 0 == len(storage) { if nil == storage || 0 == len(storage) {
// 默认全部展开 // 默认全部展开
for _, p := range ret { for _, p := range ret {
p.Folded = false
for _, b := range p.Blocks { for _, b := range p.Blocks {
b.Folded = false b.Folded = false
for _, c := range b.Children { for _, c := range b.Children {
@ -254,6 +255,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) {
if nil != storage["expandIds"] { if nil != storage["expandIds"] {
// 先全部折叠,后面再根据展开 ID 列表展开对应标题 // 先全部折叠,后面再根据展开 ID 列表展开对应标题
for _, p := range ret { for _, p := range ret {
p.Folded = true
for _, b := range p.Blocks { for _, b := range p.Blocks {
b.Folded = true b.Folded = true
for _, c := range b.Children { for _, c := range b.Children {
@ -269,6 +271,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) {
} }
for _, p := range ret { for _, p := range ret {
p.Folded = !gulu.Str.Contains(p.ID, expandIDs)
for _, b := range p.Blocks { for _, b := range p.Blocks {
b.Folded = !gulu.Str.Contains(b.ID, expandIDs) b.Folded = !gulu.Str.Contains(b.ID, expandIDs)
for _, c := range b.Children { for _, c := range b.Children {
@ -286,6 +289,8 @@ func walkChildren(b *Block, expandIDs []string) {
b.Folded = false b.Folded = false
} else if "expandNone" == expandIDs[0] { } else if "expandNone" == expandIDs[0] {
b.Folded = true b.Folded = true
} else {
b.Folded = !gulu.Str.Contains(b.ID, expandIDs)
} }
} else { } else {
b.Folded = !gulu.Str.Contains(b.ID, expandIDs) b.Folded = !gulu.Str.Contains(b.ID, expandIDs)