integrating updated radio buttons
This commit is contained in:
parent
2e381027f7
commit
ba2aec00d6
2 changed files with 48 additions and 28 deletions
|
|
@ -5,14 +5,18 @@
|
||||||
questionText
|
questionText
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="car_list overflow-scroll position-absolute">
|
<div class="w-100 d-flex justify-content-center">
|
||||||
<div v-for="answer in answers" :key="answer" class="mb-2">
|
<div class="car_list overflow-scroll position-absolute container-fluid pt-1" role="radiogroup" aria-labelledby="select-year-radio-group">
|
||||||
<radio
|
<h3 class="visually-hidden" id="select-year-radio-group">*</h3>
|
||||||
:text="answer"
|
<radio v-for="answer in answers" :key="answer" class="mb-2"
|
||||||
:value="answer"
|
:radioID="answer"
|
||||||
@click="chooseAnswer(answer)"
|
@click="chooseAnswer(answer)"
|
||||||
data-test="radio"
|
loaderColor="blue"
|
||||||
/>
|
loaderPosition="right"
|
||||||
|
sizeInRem="1.5"
|
||||||
|
data-test="radio"
|
||||||
|
groupName="radio-list"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,51 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="radiogroup radio-list-button d-flex flex-column w-100">
|
||||||
<input
|
<input type="radio"
|
||||||
type="radio"
|
:id="radioID"
|
||||||
:id="this.value"
|
:name="groupName"
|
||||||
:value="this.value"
|
:value="radioID">
|
||||||
class="position-absolute opacity-0"
|
<label role="radio" tabindex="0" aria-checked="false"
|
||||||
v-on:click="showLoader()"
|
:for="radioID"
|
||||||
|
class="d-flex align-items-center justify-content-between p-2"
|
||||||
|
@click='displayComponent'
|
||||||
|
>{{radioID}}
|
||||||
|
<loader
|
||||||
|
v-if="display"
|
||||||
|
:style="{width: `${sizeInRem}rem`, height: `${sizeInRem}rem`}"
|
||||||
|
:class="[this.loaderColor, this.loaderPosition]"
|
||||||
/>
|
/>
|
||||||
<label
|
</label>
|
||||||
:for="this.value"
|
<p class="small">{{errorMessage}}</p>
|
||||||
class="btn list-button d-flex align-items-center"
|
</div>
|
||||||
v-bind:class="[this.isLoading ? 'button-loader' : '']"
|
|
||||||
>
|
|
||||||
<span>{{ text }}</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import loader from "@/ux-components/loader/loader";
|
||||||
export default {
|
export default {
|
||||||
name: "radio",
|
name: "radioList",
|
||||||
props: ["value", "text"],
|
props: [
|
||||||
|
"groupName",
|
||||||
|
"ariaLabelBy",
|
||||||
|
"radioID",
|
||||||
|
"errorMessage",
|
||||||
|
"loaderColor",
|
||||||
|
"loaderPosition",
|
||||||
|
"sizeInRem"
|
||||||
|
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isLoading: false,
|
isError: false,
|
||||||
|
display: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showLoader() {
|
displayComponent() {
|
||||||
this.isLoading = true;
|
this.display = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
loader,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue