error message

This commit is contained in:
Sneha 2023-11-23 12:01:27 +05:30
parent 8b9c5ad8d8
commit af512667f0

View file

@ -26,7 +26,14 @@
class="my-4 alert" class="my-4 alert"
cmsWidgetName="AlertInvalidPromoWidget" cmsWidgetName="AlertInvalidPromoWidget"
alertClass="alert-danger" alertClass="alert-danger"
v-bind:isDismissible="true" /> v-bind:isDismissible="false" />
<alert
ref="AlertSimilarPromo"
v-if="displaySimilarPromoAlert"
class="my-4 alert"
cmsWidgetName="AlertSimilarPromoWidget"
alertClass="alert-danger"
v-bind:isDismissible="false" />
<alert <alert
ref="alertInvalidPromoOnOrder" ref="alertInvalidPromoOnOrder"
v-if="displayInvalidOnOrderPromoAlert" v-if="displayInvalidOnOrderPromoAlert"
@ -34,7 +41,7 @@
class="my-4 alert" class="my-4 alert"
cmsWidgetName="AlertInvalidPromoOnOrderWidget" cmsWidgetName="AlertInvalidPromoOnOrderWidget"
alertClass="alert-danger" alertClass="alert-danger"
v-bind:isDismissible="true" /> v-bind:isDismissible="false" />
<div v-for="(promoCode, i) in this.getPromoCodeList()" :key="i"> <div v-for="(promoCode, i) in this.getPromoCodeList()" :key="i">
<span class="applied-promo">Promo code "{{ promoCode }}" applied </span> <span class="applied-promo">Promo code "{{ promoCode }}" applied </span>
<textLink <textLink
@ -72,6 +79,7 @@ export default {
promoCode: "", promoCode: "",
promoTextInputId: "", promoTextInputId: "",
displayInvalidPromoAlert: false, displayInvalidPromoAlert: false,
displaySimilarPromoAlert: false,
displayInvalidOnOrderPromoAlert: false, displayInvalidOnOrderPromoAlert: false,
lineItems: deepClone(this.modelValue), lineItems: deepClone(this.modelValue),
}; };
@ -171,6 +179,7 @@ export default {
isValid: !("errorCode" in promoValidationResponse), isValid: !("errorCode" in promoValidationResponse),
promoCode: promoValidationResponse?.orderPromos, promoCode: promoValidationResponse?.orderPromos,
errorCode: promoValidationResponse?.errorCode, errorCode: promoValidationResponse?.errorCode,
additionalInfo: promoValidationResponse?.additionalInfo,
}; };
}, },
removeItem(promo) { removeItem(promo) {
@ -181,6 +190,17 @@ export default {
getPromoCodeWithoutBundleIdentifier(lineItemsToKeep.promoCode) != promo getPromoCodeWithoutBundleIdentifier(lineItemsToKeep.promoCode) != promo
); );
}, },
getErrorMessage(error, additionalInfo) {
switch (error) {
case promoErrorCodes.PROMO_STACKING_NOT_ALLOWED:
case promoErrorCodes.SIMILAR_PROMO_ALREADY_ON_ORDER:
if (additionalInfo[0] === this.promoCode.toUpperCase())
return (this.displaySimilarPromoAlert = true);
return (this.displayInvalidOnOrderPromoAlert = true);
default:
return (this.displayInvalidPromoAlert = true);
}
},
async addPromoCode() { async addPromoCode() {
if (this.promoCode) { if (this.promoCode) {
this.resetAlerts(); this.resetAlerts();
@ -227,11 +247,7 @@ export default {
this.lineItems.vaps?.push(...getVaps); this.lineItems.vaps?.push(...getVaps);
this.closeModal(); this.closeModal();
} else { } else {
if (promoCodeData.errorCode == promoErrorCodes.PROMO_STACKING_NOT_ALLOWED) { this.getErrorMessage(promoCodeData.errorCode, promoCodeData.additionalInfo);
this.displayInvalidOnOrderPromoAlert = true;
} else {
this.displayInvalidPromoAlert = true;
}
this.focusOnPromoInput(); this.focusOnPromoInput();
this.resetModalButtonStyle(); this.resetModalButtonStyle();
} }
@ -242,6 +258,7 @@ export default {
promoCode() { promoCode() {
this.displayInvalidPromoAlert = false; this.displayInvalidPromoAlert = false;
this.displayInvalidOnOrderPromoAlert = false; this.displayInvalidOnOrderPromoAlert = false;
this.displaySimilarPromoAlert = false;
}, },
modelValue: { modelValue: {
handler(newValue) { handler(newValue) {