|
@ -5,11 +5,16 @@ |
|
|
<template v-for="opt in props.options" :key="opt.value"> |
|
|
<template v-for="opt in props.options" :key="opt.value"> |
|
|
<q-radio |
|
|
<q-radio |
|
|
v-model="modelValue" |
|
|
v-model="modelValue" |
|
|
:label="opt['label']" |
|
|
|
|
|
:val="opt['value']" |
|
|
:val="opt['value']" |
|
|
:dense="props.dense" |
|
|
:dense="props.dense" |
|
|
:disable="fieldMethodsClass.getDisable(props, modelValue)" |
|
|
:disable="fieldMethodsClass.getDisable(props, modelValue)" |
|
|
/> |
|
|
:color="modelValue === opt['value'] ? selectedColor : undefined" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default> |
|
|
|
|
|
<span v-if="modelValue === opt['value'] && selectedLabelColor" :style="'color:' + selectedLabelColor">{{ opt['label'] }}</span> |
|
|
|
|
|
<span v-else>{{ opt['label'] }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</q-radio> |
|
|
<w-textarea |
|
|
<w-textarea |
|
|
v-if="opt['desc'] && modelValue === opt['value']" |
|
|
v-if="opt['desc'] && modelValue === opt['value']" |
|
|
v-model="descModelValue" |
|
|
v-model="descModelValue" |
|
@ -37,6 +42,8 @@ const descModelValue = ref(''); |
|
|
interface FieldProps extends FormFieldProps { |
|
|
interface FieldProps extends FormFieldProps { |
|
|
dense?: boolean; |
|
|
dense?: boolean; |
|
|
options: Array<() => void>; |
|
|
options: Array<() => void>; |
|
|
|
|
|
selectedColor?: string; |
|
|
|
|
|
selectedLabelColor?: string; |
|
|
} |
|
|
} |
|
|
const props = withDefaults(defineProps<FieldProps>(), { |
|
|
const props = withDefaults(defineProps<FieldProps>(), { |
|
|
showIf: true, |
|
|
showIf: true, |
|
@ -44,6 +51,8 @@ const props = withDefaults(defineProps<FieldProps>(), { |
|
|
options: () => { |
|
|
options: () => { |
|
|
return []; |
|
|
return []; |
|
|
}, |
|
|
}, |
|
|
|
|
|
selectedColor: undefined, |
|
|
|
|
|
selectedLabelColor: undefined, |
|
|
}); |
|
|
}); |
|
|
class FieldMethods extends FormFieldMethods { |
|
|
class FieldMethods extends FormFieldMethods { |
|
|
updateValue = (value_) => { |
|
|
updateValue = (value_) => { |
|
|