Wizard: prettify error messages
This commit is contained in:
+2
-2
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemT
|
|||||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.projectTemplates.ProjectTemplatesPlugin
|
import org.jetbrains.kotlin.tools.projectWizard.plugins.projectTemplates.ProjectTemplatesPlugin
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.wizard.service.IdeaServices
|
import org.jetbrains.kotlin.tools.projectWizard.wizard.service.IdeaServices
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.PomWizardStepComponent
|
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.PomWizardStepComponent
|
||||||
|
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.asHtml
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.firstStep.FirstWizardStepComponent
|
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.firstStep.FirstWizardStepComponent
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.secondStep.SecondStepWizardComponent
|
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.secondStep.SecondStepWizardComponent
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
@@ -178,8 +179,7 @@ abstract class WizardStep(protected val wizard: IdeWizard, private val phase: Ge
|
|||||||
when (val result = with(wizard.valuesReadingContext) { with(wizard) { validate(setOf(phase)) } }) {
|
when (val result = with(wizard.valuesReadingContext) { with(wizard) { validate(setOf(phase)) } }) {
|
||||||
is Success<*> -> true
|
is Success<*> -> true
|
||||||
is Failure -> {
|
is Failure -> {
|
||||||
val messages = result.errors.joinToString(separator = "\n") { it.message }
|
throw ConfigurationException(result.asHtml(), "Validation Error")
|
||||||
throw ConfigurationException(messages, "Validation Error")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
@@ -12,6 +12,7 @@ import com.intellij.ui.components.JBLabel
|
|||||||
import com.intellij.ui.components.JBTextField
|
import com.intellij.ui.components.JBTextField
|
||||||
import com.intellij.util.ui.UIUtil
|
import com.intellij.util.ui.UIUtil
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||||
|
import org.jetbrains.kotlin.tools.projectWizard.core.Failure
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.ModuleConfigurator
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.ModuleConfigurator
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.SimpleTargetConfigurator
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.SimpleTargetConfigurator
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.TargetConfigurator
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.TargetConfigurator
|
||||||
@@ -64,6 +65,14 @@ internal fun hyperlinkLabel(
|
|||||||
|
|
||||||
internal fun String.asHtml() = "<html><body>$this</body></html>"
|
internal fun String.asHtml() = "<html><body>$this</body></html>"
|
||||||
|
|
||||||
|
fun Failure.asHtml() = when (errors.size) {
|
||||||
|
0 -> ""
|
||||||
|
1 -> errors.single().message
|
||||||
|
else -> {
|
||||||
|
val errorsList = errors.joinToString(separator = "") { "<li>${it.message}</li>" }
|
||||||
|
"<ul>$errorsList</ul>".asHtml()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val DisplayableSettingItem.htmlText
|
val DisplayableSettingItem.htmlText
|
||||||
get() = (text + greyText?.let { " <i>($greyText)</i>" }.orEmpty()).asHtml()
|
get() = (text + greyText?.let { " <i>($greyText)</i>" }.orEmpty()).asHtml()
|
||||||
|
|||||||
Reference in New Issue
Block a user