diff --git a/src/jsMain/kotlin/reactredux/containers/OptionsPage.kt b/src/jsMain/kotlin/reactredux/containers/OptionsPage.kt index 76c24ab2..40cdc5ac 100644 --- a/src/jsMain/kotlin/reactredux/containers/OptionsPage.kt +++ b/src/jsMain/kotlin/reactredux/containers/OptionsPage.kt @@ -8,6 +8,7 @@ import react.Props import react.invoke import react.redux.rConnect import reactredux.slices.ValidationContextSlice +import reactredux.slices.ValidationSessionSlice import reactredux.store.AppState import redux.RAction import redux.WrapperAction @@ -26,7 +27,9 @@ private interface OptionsPageDispatchProps : Props { var updateCliContext: (CliContext) -> Unit var updateSelectedIgPackageInfo: (Set) -> Unit var updateAddedExtensionUrl: (Set) -> Unit + var setSessionId: (String) -> Unit var updateAddedProfiles: (Set) -> Unit + } val optionsPage: ComponentClass = @@ -48,6 +51,7 @@ val optionsPage: ComponentClass = updateAddedExtensionUrl = { dispatch(ValidationContextSlice.UpdateAddedExtensionUrl(it)) } + setSessionId = { id: String -> dispatch(ValidationSessionSlice.SetSessionId(id)) } updateAddedProfiles = { dispatch(ValidationContextSlice.UpdateAddedProfile(it)) } diff --git a/src/jsMain/kotlin/reactredux/slices/LocalizationSlice.kt b/src/jsMain/kotlin/reactredux/slices/LocalizationSlice.kt index 026df10f..e238ff2c 100644 --- a/src/jsMain/kotlin/reactredux/slices/LocalizationSlice.kt +++ b/src/jsMain/kotlin/reactredux/slices/LocalizationSlice.kt @@ -23,8 +23,8 @@ object LocalizationSlice { fun reducer(state: State = State(), action: RAction): State { return when (action) { is SetPolyglot -> { - println("setting new polyglot instance\nexisting -> ${state.polyglotInstance.t("heading_validate")}") - println("setting new polyglot instance\nnew -> ${action.polyglotInstance.t("heading_validate")}") + println("setting new polyglot instance\nexisting -> ${state.polyglotInstance.t("validate_heading")}") + println("setting new polyglot instance\nnew -> ${action.polyglotInstance.t("validate_heading")}") state.copy(polyglotInstance = action.polyglotInstance) } is SetLanguage -> { diff --git a/src/jsMain/kotlin/ui/components/header/LanguageOption/LanguageSelect.kt b/src/jsMain/kotlin/ui/components/header/LanguageOption/LanguageSelect.kt index 73f16cf7..4161a944 100644 --- a/src/jsMain/kotlin/ui/components/header/LanguageOption/LanguageSelect.kt +++ b/src/jsMain/kotlin/ui/components/header/LanguageOption/LanguageSelect.kt @@ -42,7 +42,7 @@ class LanguageSelect(props : LanguageSelectProps) : RComponent - var selectedLanguage = getSelectedLanguage(event.target.value) + val selectedLanguage = getSelectedLanguage(event.target.value) if (selectedLanguage != null) { props.setLanguage(selectedLanguage) props.fetchPolyglot(selectedLanguage.getLanguageCode()); diff --git a/src/jsMain/kotlin/ui/components/options/OptionsPage.kt b/src/jsMain/kotlin/ui/components/options/OptionsPage.kt index 037932ad..32d01dcf 100644 --- a/src/jsMain/kotlin/ui/components/options/OptionsPage.kt +++ b/src/jsMain/kotlin/ui/components/options/OptionsPage.kt @@ -34,6 +34,7 @@ external interface OptionsPageProps : Props { var addedProfiles: Set var updateAddedProfiles: (Set) -> Unit var polyglot: Polyglot + var setSessionId: (String) -> Unit } class OptionsPageState : State { @@ -63,6 +64,18 @@ class OptionsPage : RComponent() { } } + private fun updateCliContext(cliContext: CliContext) { + props.updateCliContext(cliContext) + props.setSessionId(""); + console.log("Ungabunga") + } + + private fun updateAddedExtensions(newAddedExtensionSet: MutableSet) { + props.updateAddedExtensionUrl(newAddedExtensionSet) + props.setSessionId(""); + console.log("Ungabunga 2") + } + override fun RBuilder.render() { styledDiv { css { @@ -81,7 +94,7 @@ class OptionsPage : RComponent() { selected = props.cliContext.isDoNative() hasDescription = true onChange = { - props.updateCliContext(props.cliContext.setDoNative(it)) + updateCliContext(props.cliContext.setDoNative(it)) } } styledDiv { @@ -95,7 +108,7 @@ class OptionsPage : RComponent() { selected = props.cliContext.isHintAboutNonMustSupport() hasDescription = true onChange = { - props.updateCliContext(props.cliContext.setHintAboutNonMustSupport(it)) + updateCliContext(props.cliContext.setHintAboutNonMustSupport(it)) } } styledDiv { @@ -109,7 +122,7 @@ class OptionsPage : RComponent() { selected = props.cliContext.isAssumeValidRestReferences() hasDescription = true onChange = { - props.updateCliContext(props.cliContext.setAssumeValidRestReferences(it)) + updateCliContext(props.cliContext.setAssumeValidRestReferences(it)) } } styledDiv { @@ -123,7 +136,7 @@ class OptionsPage : RComponent() { selected = props.cliContext.isNoExtensibleBindingMessages() hasDescription = true onChange = { - props.updateCliContext(props.cliContext.setNoExtensibleBindingMessages(it)) + updateCliContext(props.cliContext.setNoExtensibleBindingMessages(it)) } } styledDiv { @@ -138,7 +151,7 @@ class OptionsPage : RComponent() { hasDescription = true onChange = { props.cliContext.setShowTimes(it) - props.updateCliContext(props.cliContext) + updateCliContext(props.cliContext) } } styledDiv { @@ -153,7 +166,7 @@ class OptionsPage : RComponent() { hasDescription = true onChange = { props.cliContext.setAllowExampleUrls(it) - props.updateCliContext(props.cliContext) + updateCliContext(props.cliContext) } } } @@ -179,6 +192,7 @@ class OptionsPage : RComponent() { else -> it.copy(second = false) } } + updateCliContext(props.cliContext) } } } @@ -208,6 +222,7 @@ class OptionsPage : RComponent() { selectedIgSet.minus(igPackageInfo).toMutableSet() } props.updateSelectedIgPackageInfo(newSelectedIgSet) + props.setSessionId("") } onFilterStringChange = { partialIgName -> mainScope.launch { @@ -239,6 +254,7 @@ class OptionsPage : RComponent() { addedProfiles.plus(profile).toMutableSet() } props.updateAddedProfiles(newProfiles) + props.setSessionId("") } } } @@ -260,7 +276,7 @@ class OptionsPage : RComponent() { } else { addedExtensionSet.plus(extensionUrl).toMutableSet() } - props.updateAddedExtensionUrl(newAddedExtensionSet) + updateAddedExtensions(newAddedExtensionSet) } onUpdateAnyExtension = {anySelected -> val newSet = if (anySelected) { @@ -268,7 +284,7 @@ class OptionsPage : RComponent() { } else { addedExtensionSet.minus("any").toMutableSet() } - props.updateAddedExtensionUrl(newSet) + updateAddedExtensions(newSet) } } } @@ -294,8 +310,8 @@ class OptionsPage : RComponent() { version -> it.copy(second = true) else -> it.copy(second = false) } - } + updateCliContext(props.cliContext) } } } @@ -315,7 +331,7 @@ class OptionsPage : RComponent() { GlobalScope.async { val txServerOutcome = async { checkTxServer(url) } if (txServerOutcome.await()) { - props.updateCliContext(props.cliContext.setTxServer(url)) + updateCliContext(props.cliContext.setTxServer(url)) true } else { false @@ -330,6 +346,8 @@ class OptionsPage : RComponent() { } } + + private fun getPackageNames(packageInfo : List) : MutableList> { return packageInfo.map { Pair(it.id!!, false)}.toMutableList() } @@ -340,7 +358,7 @@ class OptionsPage : RComponent() { withTimeout(TERMINOLOGY_CHECK_TIME_LIMIT) { val response = validateTxServer(txUrl) if (response.validTxServer) { - props.updateCliContext(props.cliContext.setTxServer(response.url)) + updateCliContext(props.cliContext.setTxServer(response.url)) validTxServer = true } } diff --git a/src/jsMain/kotlin/ui/components/tabs/entrytab/ManualEntryTab.kt b/src/jsMain/kotlin/ui/components/tabs/entrytab/ManualEntryTab.kt index ea98c7f6..163e94db 100644 --- a/src/jsMain/kotlin/ui/components/tabs/entrytab/ManualEntryTab.kt +++ b/src/jsMain/kotlin/ui/components/tabs/entrytab/ManualEntryTab.kt @@ -24,7 +24,7 @@ import utils.isJson import utils.isXml //TODO make this an intelligent value -private const val VALIDATION_TIME_LIMIT = 45000L +private const val VALIDATION_TIME_LIMIT = 60000L external interface ManualEntryTabProps : Props { var cliContext: CliContext diff --git a/src/jvmMain/kotlin/controller/validation/ValidationServiceFactoryImpl.kt b/src/jvmMain/kotlin/controller/validation/ValidationServiceFactoryImpl.kt index 09a2fe18..af69dfcb 100644 --- a/src/jvmMain/kotlin/controller/validation/ValidationServiceFactoryImpl.kt +++ b/src/jvmMain/kotlin/controller/validation/ValidationServiceFactoryImpl.kt @@ -3,7 +3,7 @@ package controller.validation import org.hl7.fhir.validation.cli.services.ValidationService -private const val MIN_FREE_MEMORY = 2500000000 +private const val MIN_FREE_MEMORY = 250000000 class ValidationServiceFactoryImpl : ValidationServiceFactory {