# ivyforms/0.4/frontend/src/composables/useFormDropdownOptions.ts

The Innovative Form Builder – IvyForms, version 0.4. 29 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/0.4/code/frontend/src/composables/useFormDropdownOptions.ts
- Raw: https://pluginprobe.com/plugins/ivyforms/0.4/raw/frontend/src/composables/useFormDropdownOptions.ts
- Modified: 2025-09-25T14:53:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ivyforms/0.4/code/frontend/src/composables/useFormDropdownOptions.ts#L10-L20`.

```typescript
import type { Ref } from 'vue'
import { useFormBuilder } from '@/stores/useFormBuilder'
import { useLabels } from '@/composables/useLabels'

export interface FormDropdownOption {
  value: string | number
  label: string
  labelId?: string
}

export function updateFormDropdownOption(formOptions: Ref<FormDropdownOption[]>) {
  const formBuilderStore = useFormBuilder()
  const { getLabel } = useLabels()
  if (formBuilderStore.formId && formBuilderStore.name) {
    const existingFormIndex = formOptions.value.findIndex(
      (option) => option.value === formBuilderStore.formId,
    )
    if (existingFormIndex === -1) {
      formOptions.value.push({
        value: formBuilderStore.formId,
        labelId: `${getLabel('id')}: ${formBuilderStore.formId}`,
        label: formBuilderStore.name,
      })
    } else {
      formOptions.value[existingFormIndex].label = formBuilderStore.name
    }
  }
}

```
