Add .RegularPagesRecursive

Fixes #6411
This commit is contained in:
Bjørn Erik Pedersen
2020-03-16 11:37:57 +01:00
parent 94fb4dc3dd
commit 03b93bb988
8 changed files with 100 additions and 2 deletions

View File

@@ -171,6 +171,14 @@ func (p *pageState) getPages() page.Pages {
return b.getPages()
}
func (p *pageState) getPagesRecursive() page.Pages {
b := p.bucket
if b == nil {
return nil
}
return b.getPagesRecursive()
}
func (p *pageState) getPagesAndSections() page.Pages {
b := p.bucket
if b == nil {
@@ -179,6 +187,24 @@ func (p *pageState) getPagesAndSections() page.Pages {
return b.getPagesAndSections()
}
func (p *pageState) RegularPagesRecursive() page.Pages {
p.regularPagesRecursiveInit.Do(func() {
var pages page.Pages
switch p.Kind() {
case page.KindSection:
pages = p.getPagesRecursive()
default:
pages = p.RegularPages()
}
p.regularPagesRecursive = pages
})
return p.regularPagesRecursive
}
func (p *pageState) PagesRecursive() page.Pages {
return nil
}
func (p *pageState) RegularPages() page.Pages {
p.regularPagesInit.Do(func() {
var pages page.Pages