whoami7 - Manager
:
/
home
/
dataiclx
/
vielorbe.com
/
wp-content
/
plugins
/
surecart
/
dist
/
components
/
surecart
/
Upload File:
files >> //home/dataiclx/vielorbe.com/wp-content/plugins/surecart/dist/components/surecart/p-d225de50.js.map
{"version":3,"names":["productDonation","getSerializedState","productDonationData","Object","keys","reduce","acc","productId","lineItem","getLineItemByProductId","id","ad_hoc_amount","price","selectedPrice","custom_amount","_a","amounts","includes","state","onChange","on","set","get","dispose","createStore","newValue","oldValue","JSON","stringify","getValidAdHocAmount","val","validAmounts","filter","amount","isInRange","getInRangeAmounts","updateDonationState","data","updateLineItem","updateCheckoutLineItem","addCheckoutLineItem","forEach","prop","prev","_b","_c","_f","_e","_d","product","prices","find","ad_hoc","quantity"],"sources":["src/store/product-donation/store.ts","src/store/product-donation/getters.ts","src/store/product-donation/mutations.ts","src/store/product-donation/watchers.ts"],"sourcesContent":["import { createStore } from '@stencil/store';\nimport { getSerializedState } from '@store/utils';\nimport { getLineItemByProductId } from '@store/checkout/getters';\nimport { Price, Product } from '../../types';\nconst { productDonation } = getSerializedState();\n\ninterface Store {\n [key: string]: {\n product: Product;\n selectedPrice: Price;\n ad_hoc_amount: number;\n custom_amount: number;\n amounts: number[];\n };\n}\n\n// This gets initial checkout line items and updates the product donation store to match on load.\nconst productDonationData = Object.keys(productDonation || {}).reduce((acc, productId) => {\n const lineItem = getLineItemByProductId(productId);\n if (lineItem?.id) {\n acc[productId] = {\n ...acc[productId],\n ...(lineItem?.ad_hoc_amount ? { ad_hoc_amount: lineItem.ad_hoc_amount } : {}),\n ...(lineItem?.price ? { selectedPrice: lineItem.price } : {}),\n custom_amount: (acc[productId].amounts || [])?.includes(lineItem.ad_hoc_amount) ? null : lineItem.ad_hoc_amount,\n };\n }\n return acc;\n}, productDonation);\n\nconst { state, onChange, on, set, get, dispose } = createStore<Store>({ ...productDonationData }, (newValue, oldValue) => {\n return JSON.stringify(newValue) !== JSON.stringify(oldValue);\n});\n\nexport default state;\nexport { state, onChange, on, set, get, dispose };\n","import { state } from './store';\nimport { isInRange } from '../../functions/util';\n\n/**\n * Get the valid ad hoc amount selected price on the product.\n */\nexport const getValidAdHocAmount = productId => {\n const val = state[productId];\n const validAmounts = (val.amounts || []).filter(amount => isInRange(amount, val.selectedPrice));\n return validAmounts.includes(val?.ad_hoc_amount) ? val?.ad_hoc_amount : validAmounts[0];\n};\n\n/**\n * Get the valid ad hoc amount selected price on the product.\n */\nexport const getInRangeAmounts = productId => {\n const val = state[productId];\n return (val.amounts || []).filter(amount => isInRange(amount, val.selectedPrice));\n};\n","import { addCheckoutLineItem, updateCheckoutLineItem } from '@store/checkout/mutations';\nimport { getLineItemByProductId } from '@store/checkout/getters';\nimport { state } from './store';\n\nexport const updateDonationState = (productId, data) => {\n state[productId] = {\n ...state[productId],\n ...data,\n };\n};\n\nexport const updateLineItem = (productId, data) => {\n const lineItem = getLineItemByProductId(productId);\n // we have a line item, update it\n return lineItem?.id\n ? updateCheckoutLineItem({\n id: lineItem.id,\n data: {\n ...{\n price: lineItem.price.id,\n ...(lineItem?.ad_hoc_amount ? { ad_hoc_amount: lineItem?.ad_hoc_amount } : {}),\n },\n ...data,\n },\n })\n : addCheckoutLineItem(data);\n};\n","import { getValidAdHocAmount } from './getters';\nimport { updateLineItem } from './mutations';\nimport state, { on, set } from './store';\nimport { onChange } from '../checkout/store';\nimport { isInRange } from '../../functions/util';\nimport { getLineItemByProductId } from '@store/checkout/getters';\n\n// when the checkout changes, update the selected price and ad hoc amount\nonChange('checkout', () => {\n Object.keys(state).forEach(productId => {\n const lineItem = getLineItemByProductId(productId);\n\n // line item is updated, update the store\n if (lineItem) {\n return set(productId, {\n ...state[productId],\n selectedPrice: lineItem.price,\n ad_hoc_amount: lineItem.ad_hoc_amount,\n custom_amount: (state[productId].amounts || [])?.includes(lineItem.ad_hoc_amount) ? null : lineItem.ad_hoc_amount,\n });\n }\n\n // line item is deleted, reset the store\n set(productId, {\n ...state[productId],\n selectedPrice: null,\n ad_hoc_amount: null,\n custom_amount: null,\n });\n });\n});\n\n// for each product\nObject.keys(state).forEach(productId => {\n // when the product is updated\n on('set', (prop, val, prev) => {\n // if the product is the one we're looking for\n if (prop !== productId) return;\n // It's been cleared.\n if (!val?.selectedPrice && !val?.ad_hoc_amount && !val?.custom_amount) return;\n // and the selectedPrice has changed\n if (val?.selectedPrice?.id !== prev?.selectedPrice?.id || val?.ad_hoc_amount !== prev?.ad_hoc_amount || val?.custom_amount !== prev?.custom_amount) {\n // use custom amount if it's in range, otherwise use the first valid amount\n const ad_hoc_amount = val?.custom_amount && isInRange(val?.custom_amount, val.selectedPrice) ? val?.custom_amount : getValidAdHocAmount(productId);\n const price = val.selectedPrice?.id || val.product?.prices?.data.find(price => price?.ad_hoc)?.id;\n // if there's no price, return\n if (!price) return;\n // update the line item\n updateLineItem(productId, {\n price,\n quantity: 1, // quantity should always be 1.\n ad_hoc_amount,\n });\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
Copyright ©2021 || Defacer Indonesia