| 1 |
import type { Ref } from 'vue' |
| 2 |
import { useFormBuilder } from '@/stores/useFormBuilder' |
| 3 |
import { useLabels } from '@/composables/useLabels' |
| 4 |
|
| 5 |
export interface FormDropdownOption { |
| 6 |
value: string | number |
| 7 |
label: string |
| 8 |
labelId?: string |
| 9 |
} |
| 10 |
|
| 11 |
export function updateFormDropdownOption(formOptions: Ref<FormDropdownOption[]>) { |
| 12 |
const formBuilderStore = useFormBuilder() |
| 13 |
const { getLabel } = useLabels() |
| 14 |
if (formBuilderStore.formId && formBuilderStore.name) { |
| 15 |
const existingFormIndex = formOptions.value.findIndex( |
| 16 |
(option) => option.value === formBuilderStore.formId, |
| 17 |
) |
| 18 |
if (existingFormIndex === -1) { |
| 19 |
formOptions.value.push({ |
| 20 |
value: formBuilderStore.formId, |
| 21 |
labelId: `${getLabel('id')}: ${formBuilderStore.formId}`, |
| 22 |
label: formBuilderStore.name, |
| 23 |
}) |
| 24 |
} else { |
| 25 |
formOptions.value[existingFormIndex].label = formBuilderStore.name |
| 26 |
} |
| 27 |
} |
| 28 |
} |
| 29 |
|