diff options
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers')
-rw-r--r-- | plugins/base/src/main/kotlin/renderers/html/htmlPreprocessors.kt | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/htmlPreprocessors.kt b/plugins/base/src/main/kotlin/renderers/html/htmlPreprocessors.kt index 3297d09f..4527baa7 100644 --- a/plugins/base/src/main/kotlin/renderers/html/htmlPreprocessors.kt +++ b/plugins/base/src/main/kotlin/renderers/html/htmlPreprocessors.kt @@ -26,15 +26,21 @@ abstract class NavigationDataProvider { children = page.navigableChildren() ) - private fun ContentPage.navigableChildren(): List<NavigationNode> = - when { - this !is ClasslikePageNode -> - children.filterIsInstance<ContentPage>().map { visit(it) } - documentables.any { it is DEnum } -> - children.filter { it is WithDocumentables && it.documentables.any { it is DEnumEntry } } - .map { visit(it as ContentPage) } - else -> emptyList() - }.sortedBy { it.name.toLowerCase() } + private fun ContentPage.navigableChildren(): List<NavigationNode> { + return if (this !is ClasslikePageNode) { + children + .filterIsInstance<ContentPage>() + .map { visit(it) } + .sortedBy { it.name.toLowerCase() } + } else if (documentables.any { it is DEnum }) { + // no sorting for enum entries, should be the same as in source code + children + .filter { child -> child is WithDocumentables && child.documentables.any { it is DEnumEntry } } + .map { visit(it as ContentPage) } + } else { + emptyList() + } + } /** * Parenthesis is applied in 1 case: |