DigitalConsumer.FixMyGlass/src/helpers/damage-helper.js
2022-05-06 12:57:40 -04:00

55 lines
1.6 KiB
JavaScript

import store from "@/store";
import baseMixin from "@/mixins/base-mixin.js";
import { storeActions } from "@/constants/store-actions";
export function getDamageString() {
const damageLocations = store.getters.damage.glassToReplace;
let returnString;
if(damageLocations.length > 1){
returnString = "match"
} else {
switch(damageLocations[0]?.location) {
case "Windshield":
returnString = "windshield"
break;
case "Driver":
case "Passenger":
returnString = "side window"
break;
case "Rear":
returnString = "rear window"
}
}
return returnString;
}
export function getIsWindshieldOnly () {
const damageLocations = store.getters.damage.glassToReplace;
const returnString = damageLocations.length === 1 && damageLocations[0]?.location === "Windshield" ? "windshield" : "glass";
console.log(damageLocations);
return returnString;
}
export async function isGlassAvailableForCarId(carId){
const newGlassOptions = await baseMixin.methods.dispatchStoreAction(
storeActions.GET_DAMAGE_OPTIONS,
{ carId: carId }
);
const currentGlassOptions = store.getters.damage.glassToReplace;
const optionsMap = {
Windshield: "windshieldOptions",
Driver: "driverSideOptions",
Passenger: "passengerSideOptions",
Rear: "backGlassOptions"
}
for(const option of currentGlassOptions){
if(!newGlassOptions.data[optionsMap[option.location]].availableReplacementOptions.includes(option.name)){
return false;
}
}
return true;
}