From 15718a6403db55645e89ad5e9a9ae3cddd407401 Mon Sep 17 00:00:00 2001 From: Katie Date: Tue, 5 Jul 2022 10:19:46 -0400 Subject: [PATCH] CSR-715 Add check-for-repair-and-replace validation back in --- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- .../windshield-options/windshield-options.vue | 7 ++++++- src/ux-components/list-card/list-card.vue | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index 7e53d60ff..a24136a22 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -383,7 +383,7 @@ export default { return this.isWindshieldDamageLocation && this.selectedDamageLocations.length > 1 && this.isWindshieldRepair; }, hasSplitSingleConflict() { - if (!this.selectedDamageLocations?.includes("Windshield") || this.selectedWindshieldOptions.selectedWindshieldDamageType?.toUpperCase() === damageLocationsSelected.REPAIR || !this.selectedWindshieldOptions.selectedWindshieldReplaceOptions) return false; + if (!this.selectedDamageLocations?.includes("Windshield") || this.selectedWindshieldOptions.selectedWindshieldDamageType?.toUpperCase() === damageLocationsSelected.REPAIR.toUpperCase() || !this.selectedWindshieldOptions.selectedWindshieldReplaceOptions) return false; return this.selectedWindshieldOptions.selectedWindshieldReplaceOptions.some(selectedSingleWindshield => { diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue index da5b594bc..87abbc2eb 100644 --- a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue +++ b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue @@ -55,6 +55,11 @@ defineRule("windshield-damage-type-required", required(errorMessages.WINDSHIELD_ defineRule("windshield-chip-count-required", required(errorMessages.WINDSHIELD_CHIP_COUNT_REQUIRED)); defineRule("windshield-replace-options-required", required(errorMessages.WINSHIELD_REPLACE_OPTIONS_REQUIRED)); +defineRule("check-for-repair-and-replace", (selectedWindshieldDamageType, [selectedDamageLocations]) => { + return selectedWindshieldDamageType.toString() != damageLocationsSelected.REPAIR || + !selectedDamageLocations.includes(damageLocationsSelected.WINDSHIELD) || + selectedDamageLocations.length === 1; +}); defineRule("repair-only", (value) => { return value.toString().toUpperCase() === damageLocationsSelected.REPAIR.toUpperCase(); }); @@ -165,7 +170,7 @@ export default ({ }, windshieldDamageTypeQuestionValidationRules() { // Note: the validation rules string is not dynamic (it cannot be changed once component has been created) - let validationRules = "windshield-damage-type-required"; + let validationRules = "windshield-damage-type-required|check-for-repair-and-replace:@DamageLocationQuestion"; // if vehicle has no windshield replacement option if (!this.isWindshieldReplaceAvailable) { validationRules = validationRules.concat('|repair-only'); diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue index 21ee0686a..ce62ac476 100644 --- a/src/ux-components/list-card/list-card.vue +++ b/src/ux-components/list-card/list-card.vue @@ -134,7 +134,7 @@ export default { }, }, methods: { - handleInputChange(x) { + handleInputChange() { if(!this.selectingInitiatesLoad) { this.handleCheckChange(); } @@ -149,7 +149,7 @@ export default { } this.handleChange(this.value); }, - triggerButton(x) { + triggerButton() { if(this.selectingInitiatesLoad) { this.displayLoader(); this.handleCheckChange();