KotlinPublicationScriptsBui.../web/src/jsMain/kotlin/dev/inmo/kmppscriptbuilder/web/views/ProjectTypeView.kt

40 lines
1.3 KiB
Kotlin
Raw Normal View History

2021-03-01 20:43:30 +00:00
package dev.inmo.kmppscriptbuilder.web.views
import dev.inmo.kmppscriptbuilder.core.models.*
import dev.inmo.kmppscriptbuilder.web.utils.ukActive
import kotlinx.browser.document
import org.w3c.dom.HTMLElement
class ProjectTypeView : View {
private val mppProjectTypeElement = document.getElementById("mppProjectType") as HTMLElement
private val jvmProjectTypeElement = document.getElementById("jvmProjectType") as HTMLElement
2022-01-04 15:49:16 +00:00
private val jsProjectTypeElement = document.getElementById("jsProjectType") as HTMLElement
2021-03-01 20:43:30 +00:00
var projectType: ProjectType
2022-01-04 15:49:16 +00:00
get() = when {
jvmProjectTypeElement.ukActive -> JVMProjectType
jsProjectTypeElement.ukActive -> JSProjectType
else -> MultiplatformProjectType
2021-03-01 20:43:30 +00:00
}
set(value) {
mppProjectTypeElement.ukActive = value == MultiplatformProjectType
jvmProjectTypeElement.ukActive = value == JVMProjectType
2022-01-04 15:49:16 +00:00
jsProjectTypeElement.ukActive = value == JSProjectType
2021-03-01 20:43:30 +00:00
}
init {
mppProjectTypeElement.onclick = {
projectType = MultiplatformProjectType
Unit
}
jvmProjectTypeElement.onclick = {
projectType = JVMProjectType
Unit
}
2022-01-04 15:49:16 +00:00
jsProjectTypeElement.onclick = {
projectType = JSProjectType
Unit
}
2021-03-01 20:43:30 +00:00
}
2022-01-04 15:49:16 +00:00
}