CSR-1384: more cleanup, remove deep cloning

This commit is contained in:
Adam Caouette 2023-10-11 14:01:50 -04:00
parent 4c8e81d38d
commit a47dfbc27e
2 changed files with 15 additions and 20 deletions

View file

@ -21,9 +21,8 @@ export default {
name: "add-vaps-modal-buttons", name: "add-vaps-modal-buttons",
props: { props: {
cartItems: Object, cartItems: Object,
rainDefenseItem: Object,
wiperItems: Object,
vapsTilesCmsName: String, vapsTilesCmsName: String,
availableLineItems: Object,
}, },
data() { data() {
return { return {
@ -55,13 +54,19 @@ export default {
}); });
}, },
rainDefensePrice() { rainDefensePrice() {
const lineItem = this.rainDefenseItem; // const lineItem = this.rainDefenseItem;
const lineItem = this.availableLineItems.find((item) => {
return item.partType === "RAIN DEFENSE";
});
const price = lineItem.laborAmount + lineItem.sellingPrice + lineItem.kitPrice; const price = lineItem.laborAmount + lineItem.sellingPrice + lineItem.kitPrice;
return parseFloat(price).toFixed(2); return parseFloat(price).toFixed(2);
}, },
wipersPrice() { wipersPrice() {
let price = 0; let price = 0;
const lineItems = this.wiperItems; const lineItems = this.availableLineItems.filter((item) => {
return item.partType.includes(" WIPER");
});
lineItems?.forEach((item) => { lineItems?.forEach((item) => {
price += item.laborAmount + item.sellingPrice + item.kitPrice; price += item.laborAmount + item.sellingPrice + item.kitPrice;
}); });

View file

@ -34,8 +34,7 @@
<add-vaps-modal-buttons <add-vaps-modal-buttons
:cartItems="cartItems" :cartItems="cartItems"
:wiperItems="availableWipers" :availableLineItems="availableLineItems"
:rainDefenseItem="availableRainDefense"
vapsTilesCmsName="VapsProductTiles" vapsTilesCmsName="VapsProductTiles"
v-on="{ 'buttonEvent.openModal': openModal }" /> v-on="{ 'buttonEvent.openModal': openModal }" />
@ -105,7 +104,6 @@ import alert from "@/ux-components/alert/alert";
import baseMixin from "@/mixins/base-mixin.js"; import baseMixin from "@/mixins/base-mixin.js";
import { settleAllPromises } from "@/helpers/layout-helper"; import { settleAllPromises } from "@/helpers/layout-helper";
import { deepClone } from "@/helpers/object-helper";
import { storeActions } from "@/constants/store-actions"; import { storeActions } from "@/constants/store-actions";
import store from "@/store"; import store from "@/store";
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
@ -128,6 +126,8 @@ export default {
null, null,
"payment-method" "payment-method"
); );
console.log("rainDefensePromise: ", rainDefensePromise);
const supportingItemsPromise = baseMixin.methods.dispatchStoreActionWithLogging( const supportingItemsPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_SUPPORTING_ITEMS, storeActions.GET_SUPPORTING_ITEMS,
null, null,
@ -155,15 +155,13 @@ export default {
const resultMap = await settleAllPromises(promiseResultMap); const resultMap = await settleAllPromises(promiseResultMap);
const resultMapCopy = deepClone(resultMap) ?? []; const glassParts = (await store.getters.order.lineItems.glassParts) ?? [];
const glassPartsCopy = deepClone(store.getters.order.lineItems.glassParts) ?? [];
const availableLineItems = [ const availableLineItems = [
resultMap.rainDefense, resultMap.rainDefense,
...resultMap.supportingItems, ...resultMap.supportingItems,
...resultMap.wipers, ...resultMap.wipers,
...glassPartsCopy, ...glassParts,
]; ];
const pricedAvailableLineItems = await baseMixin.methods.dispatchStoreActionWithLogging( const pricedAvailableLineItems = await baseMixin.methods.dispatchStoreActionWithLogging(
@ -176,12 +174,10 @@ export default {
); );
const lineItems = store.getters.lineItems; const lineItems = store.getters.lineItems;
const cartItems = [...glassPartsCopy, ...lineItems.supportingItems, ...lineItems.vaps]; const cartItems = [...glassParts, ...lineItems.supportingItems, ...lineItems.vaps]; // TOBEREMOVED BY AJC IN CSR-1384
// Call the "next" function to complete the transition to this page. // Call the "next" function to complete the transition to this page.
next((vm) => { next((vm) => {
vm.availableWipers = resultMap.wipers; // TOBEREMOVED BY AJC IN CSR-1384
vm.availableRainDefense = resultMap.rainDefense; // TOBEREMOVED BY AJC IN CSR-1384
vm.cartItems = cartItems; // TOBEREMOVED BY AJC IN CSR-1384 vm.cartItems = cartItems; // TOBEREMOVED BY AJC IN CSR-1384
vm.setCmsContent(resultMap.cmsContent); vm.setCmsContent(resultMap.cmsContent);
@ -192,8 +188,6 @@ export default {
data() { data() {
return { return {
cartItems: [], // TOBEREMOVED BY AJC IN CSR-1384 cartItems: [], // TOBEREMOVED BY AJC IN CSR-1384
availableWipers: [], // TOBEREMOVED BY AJC IN CSR-1384
availableRainDefense: {}, // TOBEREMOVED BY AJC IN CSR-1384
lineItems: [], lineItems: [],
availableLineItems: [], availableLineItems: [],
@ -326,10 +320,6 @@ export default {
// console.log("this.$store.getters.damage ", this.$store.getters.damage) // console.log("this.$store.getters.damage ", this.$store.getters.damage)
return this.$store.getters.damage; return this.$store.getters.damage;
}, },
storeLineItems() {
// console.log("storeLineItems, aka lineItems from store: ", this.$store.getters.lineItems)
return this.$store.getters.lineItems;
},
}, },
components: { components: {
funnelHeader, funnelHeader,