UNPKG

commerce-vuex

Version:
234 lines (220 loc) 8.27 kB
export const isoStringToNormalDate = (date) => { const newDateTime = Date.parse(date) return new Date(newDateTime) } export const dateTimeFormate = (date) => { if (typeof date === 'string') { let newDateTime = Date.parse(date); let dateTime = new Date(newDateTime); let timeString = dateTime.getHours().toString().padStart(2, '0') + ':' + dateTime.getMinutes().toString().padStart(2, '0'); return [timeString, dateTime.toISOString().substr(0, 10)] } else { return [] } } export const setSizesRangeGroups = (sizeRange, sizes) => { if (sizes.length > 0) { let regexp = /^\d+$/; let list = [] for (let i = 0; i < sizes.length; i++) { let name = regexp.test(sizes[i]) || !isNaN(sizes[i]) ? parseFloat(sizes[i]) : sizes[i] list.push({ name: name, group: sizeRange }) } return list } } export const addressesFormate = (obj, flag) => { if (flag === 'billing' && obj) return { 'line': obj.bLine, 'postcode': obj.bPostcode, 'city': obj.bCity, 'country': obj.bCountry, 'countryIso3': obj.bCountryIso3 } if (flag === 'shipping'&& obj) return { 'line': obj.sLine, 'postcode': obj.sPostcode, 'city': obj.sCity, 'country': obj.sCountry, 'countryIso3': obj.sCountryIso3 } } export const customAddressesFormate = (obj, flag) => { if (flag === 'billing' && obj) return { 'bLine': obj.line, 'bPostcode': obj.postcode, 'bCity': obj.city, 'bCountry': obj.country, 'bCountryIso3': obj.countryIso3 } if (flag === 'shipping'&& obj) return { 'sLine': obj.line, 'sPostcode': obj.postcode, 'sCity': obj.city, 'sCountry': obj.country, 'sCountryIso3': obj.countryIso3 } } export const billingAsShippingAddress = (obj, flag) => { if(flag ==='shipping' && obj) return {"sLine": obj.bLine, "sPostcode": obj.bPostcode, "sCity": obj.bCity, "sCountry": obj.bCountry, "sCountryIso3": obj.bCountryIso3 } } export const setPriceMap = (priceArray) => { if(priceArray && priceArray.length){ const pricerMap = {} for (let i = 0; i < priceArray.length; i++) { const obj = priceArray[i] if(obj.orderCcy && obj.price) pricerMap[obj.orderCcy.toUpperCase()] = Number(obj.price) } return pricerMap } return null } export const retrievedPriceMap = (priceMap) => { if(priceMap && Object.keys(priceMap).length){ const priceMapInArray = [] Object.keys(priceMap).filter((key) => { priceMapInArray.push({ orderCcy: key.toUpperCase(), price: priceMap[key] }) }) return priceMapInArray } return [{ orderCcy: '', price: '' }] } export const JSONToURLEncoded = (element,key,mainList) => { let list = mainList || []; if(typeof(element)=='object'){ for (let idx in element) JSONToURLEncoded(element[idx],key?key+'['+idx+']':idx,list); } else { list.push(key+'='+encodeURIComponent(element)); } return list.join('&'); } export const otherPaymentTermsList = [ 'Payment on order confirmation', 'Payment before first delivery', 'Payment after last delivery' ] export const updateTermsList=(paymentTermsList)=>{ let copyList=paymentTermsList for (let i=0; i< paymentTermsList.length;i++ ){ if(paymentTermsList[i] && paymentTermsList[i].termsList){ paymentTermsList[i].termsList=[] } // if(paymentTermsList.length === 1){ // let termsList=otherPaymentTermsList // paymentTermsList[i]["termsList"]=termsList // }else if(paymentTermsList.length === 2){ for(let j=0; j< copyList.length;j++){ if(paymentTermsList[i].type !== copyList[j].type && paymentTermsList.length !== otherPaymentTermsList.length){ let termsList=otherPaymentTermsList.filter((item)=> item !== copyList[j].type) paymentTermsList[i]["termsList"]=termsList }else if((paymentTermsList[i].termsList === undefined || paymentTermsList[i].termsList.length === 0 )&& paymentTermsList.length !== otherPaymentTermsList.length){ paymentTermsList[i]["termsList"]=otherPaymentTermsList }else if(paymentTermsList.length === otherPaymentTermsList.length){ let termsList=[paymentTermsList[i].type] paymentTermsList[i]["termsList"]=termsList } } // }else{ // let termsList=[paymentTermsList[i].type] // paymentTermsList[i]["termsList"]=termsList // } } return paymentTermsList } export const getPaymentTypesInObj = (data) => { let obj = { }; for (let i = 0; i < data.length; i++) { if (data[i].type === "Payment on order confirmation" && data[i].paid) { obj["on_order_confirmation"]={} obj["on_order_confirmation"]["percentage"] = data[i].paid; //obj.on_order_confirmation.net_payment_days = data[i].days; } if (data[i].type === "Payment before first delivery" && data[i].paid) { obj["before_first_delivery"]={} obj["before_first_delivery"]["percentage"] = data[i].paid; obj["before_first_delivery"]["net_payment_days"] = data[i].days; } if (data[i].type === "Payment after last delivery" && data[i].paid) { obj["after_last_delivery"]={} obj["after_last_delivery"]["percentage"] = data[i].paid; obj["after_last_delivery"]["net_payment_days"] = data[i].days; } } return obj; }; export const getPaymentTypesInArray = (pmtObjs) => { let paymentOptions = []; //to sort payment terms as per required - confrimation, before, after let data = {}; let sortedKeys = Object.keys(pmtObjs).sort().reverse(); sortedKeys.filter((key) => { data[key] = pmtObjs[key]; }); Object.keys(data).forEach((key) => { let paymentObj = { type: "", paid: 0, days: 0 }; let flag = false; if (data[key]) { Object.keys(data[key]).forEach((v) => { let val = data[key][v]; if (key === "afterLastDelivery" && val !== null) { flag = true; paymentObj.type = "Payment after last delivery"; if (v === "percentage") { paymentObj.paid = data[key][v]; } else { paymentObj.days = data[key][v]; } } // if (key === "afterFirstDelivery" && val !== null) { // flag = true; // paymentObj.type = "Payment after first delivery"; // if (v === "percentage") { // paymentObj.paid = data[key][v]; // } else { // paymentObj.days = data[key][v]; // } // } // if (key === "afterEachDelivery" && val !== null) { // flag = true; // paymentObj.type = "Payment after each delivery"; // if (v === "percentage") { // paymentObj.paid = data[key][v]; // } else { // paymentObj.days = data[key][v]; // } // } if (key === "beforeFirstDelivery" && val !== null) { flag = true; paymentObj.type = "Payment before first delivery"; if (v === "percentage") { paymentObj.paid = data[key][v]; } else { paymentObj.days = data[key][v]; } } // if (key === "beforeEachDelivery" && val !== null) { // flag = true; // paymentObj.type = "Payment before each delivery"; // if (v === "percentage") { // paymentObj.paid = data[key][v]; // } else { // paymentObj.days = data[key][v]; // } // } // if (key === "beforeLastDelivery" && val !== null) { // flag = true; // paymentObj.type = "Payment before last delivery"; // if (v === "percentage") { // paymentObj.paid = data[key][v]; // } else { // paymentObj.days = data[key][v]; // } // } if (key === "onOrderConfirmation" && val !== null) { flag = true; paymentObj.type = "Payment on order confirmation"; if (v === "percentage") { paymentObj.paid = data[key][v]; } else { paymentObj.days = data[key][v]; } } }); } if (flag) { paymentOptions.push(paymentObj); } if(paymentOptions.length === 0){ paymentOptions = [{ type: 'Payment on order confirmation', paid: 30},{ type: 'Payment after last delivery', paid: 70,days: 0 }] } }); return paymentOptions; };