fix preselecting issue on vehicle-parts

This commit is contained in:
Kroell 2023-04-05 16:02:36 -04:00
parent a05a4ac1d3
commit dd15196502

View file

@ -28,7 +28,8 @@
isRequired isRequired
isSmallQuestionText isSmallQuestionText
:groupName="`${glassLocation}-${glassName}-${selectedTint}`" :groupName="`${glassLocation}-${glassName}-${selectedTint}`"
:validationRules="partValidationRules" /> :validationRules="partValidationRules"
/>
</div> </div>
</div> </div>
</buttonQuestion> </buttonQuestion>
@ -181,25 +182,25 @@ export default {
return tintSourceObject.src; return tintSourceObject.src;
}, },
// Check if only a single part is present for the tint and set the v-model if it is.
AutoSelect() { AutoSelect() {
if(this.partsForSelectedTint?.length > 0) if (this.partsForSelectedTint?.length > 0)
{ {
// Check if only a single part is present for the tint and set the v-model if it is.
if (this.partsForSelectedTint?.length == 1) { if (this.partsForSelectedTint?.length == 1) {
this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber }; this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber };
//select element with matching partNumber
this.$nextTick(() => {
document.querySelector('input[value=' + this.selectedPartNumber + ']').checked = true;
});
} }
else{ else {
// If selected part isn't in the current list or it's null, select the first part // If selected part isn't in the current list or it's null, select the first part
if(!this.selectedPartNumber || this.partsForSelectedTint.filter(x => x.partNumber == this.selectedPartNumber).length === 0) if(!this.selectedPartNumber || this.partsForSelectedTint.filter(x => x.partNumber == this.selectedPartNumber).length === 0)
{ {
this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber }; this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber };
} }
} }
//select element with matching partNumber
this.$nextTick(() => {
document.querySelector('input[value=' + this.selectedPartNumber + ']').checked = true;
});
} }
}, },
@ -207,16 +208,10 @@ export default {
LoadPreselectedValues() { LoadPreselectedValues() {
this.$nextTick(() => { this.$nextTick(() => {
// Populate button-question model-value if parts data already exists in store // Populate button-question model-value if parts data already exists in store
if(this.modelValue) if(this.modelValue !== undefined)
{ {
this.selectedTint = this.modelValue.color; this.selectedTint = this.modelValue.color;
} }
else{
// If one item in list, select it
if (this.tintSelectionOptions?.length == 1) {
this.selectedTint = this.tintSelectionOptions[0].value;
}
}
}); });
}, },
}, },