diff --git a/app/javascript/submission_form/area.vue b/app/javascript/submission_form/area.vue
index c5c68353..fa8bf636 100644
--- a/app/javascript/submission_form/area.vue
+++ b/app/javascript/submission_form/area.vue
@@ -21,15 +21,20 @@
o.uuid === area.option_uuid)?.value)"
+ :checked="!!modelValue && modelValue === optionValue(option)"
+ @click="$emit('update:model-value', optionValue(option))"
>
@@ -121,11 +126,11 @@
:value="false"
class="aspect-square base-checkbox"
:class="{ '!w-auto !h-full': area.w > area.h, '!w-full !h-auto': area.w <= area.h }"
- :checked="!!modelValue && modelValue.includes(field.options.find((o) => o.uuid === area.option_uuid)?.value)"
- @change="updateMultipleSelectValue(field.options.find((o) => o.uuid === area.option_uuid)?.value)"
+ :checked="!!modelValue && modelValue.includes(optionValue(option))"
+ @change="updateMultipleSelectValue(optionValue(option))"
>
@@ -171,6 +176,7 @@ export default {
IconPaperclip,
IconCheck
},
+ inject: ['t'],
props: {
field: {
type: Object,
@@ -241,6 +247,9 @@ export default {
payment: 'Payment'
}
},
+ option () {
+ return this.field.options.find((o) => o.uuid === this.area.option_uuid)
+ },
fieldIcons () {
return {
text: IconTextSize,
@@ -335,6 +344,17 @@ export default {
}
},
methods: {
+ optionValue (option) {
+ if (option) {
+ if (option.value) {
+ return option.value
+ } else {
+ const index = this.field.options.indexOf(option)
+
+ return `${this.t('option')} ${index + 1}`
+ }
+ }
+ },
formatDate (date, format) {
const monthFormats = {
M: 'numeric',
diff --git a/app/javascript/submission_form/form.vue b/app/javascript/submission_form/form.vue
index 5681172b..a00b362b 100644
--- a/app/javascript/submission_form/form.vue
+++ b/app/javascript/submission_form/form.vue
@@ -122,7 +122,7 @@
diff --git a/app/javascript/submission_form/i18n.js b/app/javascript/submission_form/i18n.js
index 4d948814..0280b9bd 100644
--- a/app/javascript/submission_form/i18n.js
+++ b/app/javascript/submission_form/i18n.js
@@ -2,6 +2,7 @@ const en = {
submit_form: 'Submit Form',
type_here: 'Type here',
optional: 'optional',
+ option: 'Option',
select_your_option: 'Select your option',
complete_hightlighted_checkboxes_and_click: 'Complete hightlighted checkboxes and click',
submit: 'submit',
diff --git a/app/javascript/submission_form/multi_select_step.vue b/app/javascript/submission_form/multi_select_step.vue
index d1db49f7..b808888f 100644
--- a/app/javascript/submission_form/multi_select_step.vue
+++ b/app/javascript/submission_form/multi_select_step.vue
@@ -5,9 +5,16 @@
class="label text-2xl mb-2"
>{{ field.name }}
+
@@ -36,6 +43,7 @@