feat(frontend): Add RadioGroup, calculate highest compliance status

This commit is contained in:
2025-03-02 08:44:12 +01:00
parent 54bb370bfb
commit 8388cbe1a8
5 changed files with 83 additions and 17 deletions

View File

@@ -33,12 +33,12 @@
</template>
<script setup lang="ts">
import type { ComplianceStatus, PagedApplicationFormDto } from '~/.api-client'
import { ComplianceStatus, type PagedApplicationFormDto } from '~/.api-client'
import { useApplicationFormValidator } from '~/composables/useApplicationFormValidator'
import type { FormElementId } from '~/types/FormElement'
const { getAllApplicationForms } = useApplicationForm()
const { validateFormElements } = useApplicationFormValidator()
const { validateFormElements, getHighestComplianceStatus } = useApplicationFormValidator()
const { data } = await useAsyncData<PagedApplicationFormDto>(async () => {
return await getAllApplicationForms()
@@ -52,12 +52,14 @@ const formElements = computed({
}
}
})
const validationStatus = ref<Map<FormElementId, ComplianceStatus> | undefined>()
const validationMap = ref<Map<FormElementId, ComplianceStatus> | undefined>()
const validationStatus = ref<ComplianceStatus>(ComplianceStatus.NonCritical)
watch(
() => formElements,
(updatedFormElements) => {
validationStatus.value = validateFormElements(updatedFormElements.value)
validationMap.value = validateFormElements(updatedFormElements.value)
validationStatus.value = getHighestComplianceStatus()
},
{ deep: true }
)