-
@@ -100,6 +120,8 @@ import contentGroupModal from "@/fmg-components/content-group-modal/content-grou
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
import afterpayModalBanner from "@/layouts/quote/afterpay-modal-banner/afterpay-modal-banner";
import recalDisclaimer from "@/layouts/quote/recal-disclaimer/recal-disclaimer.vue";
+import saveProgressModalQuestion from "@/fmg-components/save-progress-modal-question/save-progress-modal-question";
+import saveProgressPopupQuestion from "@/fmg-components/save-progress-popup-question/save-progress-popup-question";
// Supporting files
import baseMixin from "@/mixins/base-mixin.js";
@@ -134,6 +156,7 @@ import { packageNames } from "@/constants/package-names";
import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper";
import { containsRecalParts } from "@/helpers/recal-helper";
import { externalParameterStatus } from "@/constants/external-parameters";
+import { saveQuote } from "@/helpers/heritage-integration/order-helper.js";
defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
@@ -183,6 +206,10 @@ export default {
];
const resultMap = await settleAllPromises(promiseResultMap);
+ const emailFromStore = store.getters.order.customer.emailAddress;
+ const isEmailInStoreOnPageLoad = emailFromStore?.length > 0;
+ const showSaveProgressPopup = isEmailInStoreOnPageLoad ? false : true;
+
const lineItems = deepClone(store.getters.order.lineItems);
lineItems.vaps = lineItems.vaps ?? [];
const nullSafeGlassParts = lineItems.glassParts ?? [];
@@ -263,6 +290,8 @@ export default {
// Call the "next" function to complete the transition to this page.
next(async (vm) => {
vm.setCmsContent(resultMap.cmsContent);
+ vm.isEmailInStoreOnPageLoad = isEmailInStoreOnPageLoad;
+ vm.showSaveProgressPopup = showSaveProgressPopup;
vm.addableVaps = addableVaps;
vm.lineItems = lineItems;
vm.availableLineItems = pricingResults;
@@ -409,6 +438,8 @@ export default {
servicePackage: null,
holdParentAccountNumber: null,
holdBillToAccountNumber: null,
+ isEmailInStoreOnPageLoad: null,
+ showSaveProgressPopup: null,
};
},
computed: {
@@ -495,6 +526,14 @@ export default {
backButtonAction() {
vehicleQuestionsMixin.methods.navigateBack(this);
},
+ saveProgress() {
+ this.isEmailInStoreOnPageLoad = true;
+ this.showSaveProgressPopup = false;
+ saveQuote({ pageNameToLog: "quote" });
+ },
+ closeSaveProgressPopup() {
+ this.showSaveProgressPopup = false;
+ },
forwardButtonAction() {
this.dispatchStoreAction(
this.storeActions.SAVE_PAYMENT_TYPE,
@@ -680,10 +719,22 @@ export default {
afterpayModalBanner,
promoModalQuestion,
recalDisclaimer,
+ saveProgressModalQuestion,
+ saveProgressPopupQuestion,
},
};
+