integrating updated radio buttons

This commit is contained in:
Max 2021-11-23 16:14:39 -05:00
parent 2e381027f7
commit ba2aec00d6
2 changed files with 48 additions and 28 deletions

View file

@ -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>

View file

@ -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>