aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main')
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt54
-rw-r--r--plugins/base/src/main/resources/dokka/scripts/platformContentHandler.js7
2 files changed, 35 insertions, 26 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index dc211502..f1ff9673 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -28,6 +28,10 @@ open class HtmlRenderer(
sourceSet to context.configuration.sourceSets.filter { sourceSet.dependentSourceSets.contains(it.sourceSetID) }
}.toMap()
+ private val isMultiplatform by lazy {
+ sourceSetDependencyMap.size > 1
+ }
+
private val pageList = mutableMapOf<String, Pair<String, String>>()
override val preprocessors = context.plugin<DokkaBase>().query { htmlPreprocessors }
@@ -99,19 +103,21 @@ open class HtmlRenderer(
}
private fun FlowContent.filterButtons(group: ContentGroup) {
- div(classes = "filter-section") {
- id = "filter-section"
- group.sourceSets.forEach {
- button(classes = "platform-tag platform-selector") {
- attributes["data-active"] = ""
- attributes["data-filter"] = it.sourceSetID.toString()
- when (it.analysisPlatform.key) {
- "common" -> classes = classes + "common-like"
- "native" -> classes = classes + "native-like"
- "jvm" -> classes = classes + "jvm-like"
- "js" -> classes = classes + "js-like"
+ if (isMultiplatform) {
+ div(classes = "filter-section") {
+ id = "filter-section"
+ group.sourceSets.forEach {
+ button(classes = "platform-tag platform-selector") {
+ attributes["data-active"] = ""
+ attributes["data-filter"] = it.sourceSetID.toString()
+ when (it.analysisPlatform.key) {
+ "common" -> classes = classes + "common-like"
+ "native" -> classes = classes + "native-like"
+ "jvm" -> classes = classes + "jvm-like"
+ "js" -> classes = classes + "js-like"
+ }
+ text(it.displayName)
}
- text(it.displayName)
}
}
}
@@ -182,9 +188,7 @@ open class HtmlRenderer(
attributes["data-filterable-set"] = pair.first.sourceSetID.toString()
if (index == 0) attributes["data-active"] = ""
attributes["data-toggle"] = pair.first.sourceSetID.toString()
- when (
- pair.first.analysisPlatform.key
- ) {
+ when (pair.first.analysisPlatform.key) {
"common" -> classes = classes + "common-like"
"native" -> classes = classes + "native-like"
"jvm" -> classes = classes + "jvm-like"
@@ -400,16 +404,18 @@ open class HtmlRenderer(
}
private fun FlowContent.createPlatformTagBubbles(sourceSets: List<DokkaSourceSet>) {
- div("platform-tags") {
- sourceSets.forEach {
- div("platform-tag") {
- when (it.analysisPlatform.key) {
- "common" -> classes = classes + "common-like"
- "native" -> classes = classes + "native-like"
- "jvm" -> classes = classes + "jvm-like"
- "js" -> classes = classes + "js-like"
+ if (isMultiplatform) {
+ div("platform-tags") {
+ sourceSets.forEach {
+ div("platform-tag") {
+ when (it.analysisPlatform.key) {
+ "common" -> classes = classes + "common-like"
+ "native" -> classes = classes + "native-like"
+ "jvm" -> classes = classes + "jvm-like"
+ "js" -> classes = classes + "js-like"
+ }
+ text(it.displayName)
}
- text(it.displayName)
}
}
}
diff --git a/plugins/base/src/main/resources/dokka/scripts/platformContentHandler.js b/plugins/base/src/main/resources/dokka/scripts/platformContentHandler.js
index e295d90b..6f10b08a 100644
--- a/plugins/base/src/main/resources/dokka/scripts/platformContentHandler.js
+++ b/plugins/base/src/main/resources/dokka/scripts/platformContentHandler.js
@@ -8,8 +8,11 @@ window.addEventListener('load', () => {
.forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event,elem)))
document.querySelectorAll("div[tabs-section]")
.forEach(elem => elem.addEventListener('click', (event) => toggleSectionsEventHandler(event)))
- document.getElementById('filter-section').addEventListener('click', (event) => filterButtonHandler(event))
- initializeFiltering()
+ const filterSection = document.getElementById('filter-section')
+ if (filterSection) {
+ filterSection.addEventListener('click', (event) => filterButtonHandler(event))
+ initializeFiltering()
+ }
initTabs()
handleAnchor()
})