UNPKG

plxdcma_eshop

Version:

Instala todo lo necesario para una tienda virtual

376 lines (326 loc) 8.19 kB
var ShopDB={} var currencyList=["DOP","USD"] var shRegistryCaracteristicsList=[] /* function toDOP(price){ if(isNaN(price)==false){ price=`${price}` } var splited=price.split("") var arr=[[]] var i = splited.length-1 while(i >= 0){ arr[0].splice(0,0,splited[i]) if(arr[0].length==3){ arr.splice(0,0,[]) } i=i-1 } if(arr[0].length == 0){ arr.splice(0,1); } var nextar=[] for(var i = 0 ; i<arr.length;i++){ if(i == 0){ nextar.push(arr[i].join("")) continue }else{ nextar.push(",") nextar.push(arr[i].join("")) } } return `${nextar.join("")}.00`; } */ function toUSD(price){ if(price == null){ return null } var str=`${price}` if(str.indexOf(".") >= 0){ if(str[0] == "$"){ return str } return `$${str}` }else{ // Create our number formatter. const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', // These options can be used to round to whole numbers. trailingZeroDisplay: 'stripIfInteger' // This is probably what most people // want. It will only stop printing // the fraction when the input // amount is a round number (int) // already. If that's not what you // need, have a look at the options // below. //minimumFractionDigits: 0, // This suffices for whole numbers, but will // print 2500.10 as $2,500.1 //maximumFractionDigits: 0, // Causes 2500.99 to be printed as $2,501 }); return formatter.format(price); } } function toDOP(price){ if(price == null){ return null } if(isNaN(price)==false){ price=`${price}` } var splited=price.split("") var arr=[[]] var i = splited.length-1 while(i >= 0){ arr[0].splice(0,0,splited[i]) if(arr[0].length==3){ arr.splice(0,0,[]) } i=i-1 } if(arr[0].length == 0){ arr.splice(0,1); } var nextar=[] for(var i = 0 ; i<arr.length;i++){ if(i == 0){ nextar.push(arr[i].join("")) continue }else{ nextar.push(",") nextar.push(arr[i].join("")) } } return `${nextar.join("")}.00`; } function toCurrency(v,c){ return toDOP(v) } function comatated(v){ return toDOP(v) } var Meses=[ "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" ] var Dias=[ "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" ] function shopReadData(){ } function appendImageToShop(image,data){ var d=document.createElement("img") d.src=image d.style.width="100%" d.data=data return d } var shopmodaldelegate function showShopModalPreviewLoading(delegate){ ShopModalPreview.style.display="block" shopviewloading.style.opacity=1 shopSellCaracteristics.style.display="none" shopTableItems.style.display="none" shopmodaldelegate=delegate } function didTouchShopModalPreviewBodyBtn(index){ shopmodaldelegate.didSwitchToIndex(index) for(var each in shoppreviewparts.children){ if(shoppreviewparts.children[each].style != null){ shoppreviewparts.children[each].style.display="none" } } shoppreviewparts.children[index].style.display="block" } //---- var previewingImagesHolder=[] var previewshopdelegate; var previewItemPreset; function didpressedtobuybtn(){ if(previewshopdelegate != null){ if(previewshopdelegate.didBuy != null){ previewshopdelegate.didBuy() } } } function closeShopItemPreview(){ ShopItemModalPreview.style.display="none" } function reloadPreviewShopItemImages(){ var preset=previewItemPreset previewingImagesHolder.length=0 itemimagesselector.innerHTML="" if(preset.images.length > 0 && preset.images[0] != null){ itemimagesselector.innerHTML="" previewingImagesHolder.length=0 if(typeof(preset.images[0]) == "string"){ shopitemimagepreview.src=preset.images[0] }else{ shopitemimagepreview.src=preset.images[0].big } shopitemimagepreview.style.display="block" itemimagesselector.style.display="block" }else{ shopitemimagepreview.style.display="none" itemimagesselector.style.display="none" } for(var each in preset.images){ var img=preset.images[each] var d=document.createElement("div") if(img == null){ continue } if(typeof(img) == "string"){ d.style.background=`url('${img}')` }else{ d.style.background=`url('${img.small}')` } d.style.backgroundPosition="center" d.style.backgroundSize="cover" d.classList.add("shopSmallimagePreview") d.onclick=function(){ for(var each in previewingImagesHolder){ previewingImagesHolder[each].style.opacity=`0.5`; } this.img.style.opacity=1 shopitemimagepreview.src=this.imgele.big }.bind({img:d,imgele:img}) previewingImagesHolder.push(d) itemimagesselector.appendChild(d) } } function previewShopitem(preset,delegate){ previewshopdelegate=delegate previewItemPreset=preset if(delegate != null){ if(delegate.showEditBtn){ editbtnonshp.onclick=function(){ var config={ close:function(){ ShopItemModalPreview.style.display="none" } } delegate.didConfig(config,preset) } editbtnonshp.style.display="block" }else{ editbtnonshp.style.display="none" } }else{ editbtnonshp.style.display="none" } ShopItemModalPreview.style.display="block" if(preset.images.length > 0){ itemimagesselector.innerHTML="" previewingImagesHolder.length=0 if(shopitemimagepreview.src=preset.images[0] != null){ shopitemimagepreview.src=preset.images[0].big } shopitemimagepreview.style.display="block" itemimagesselector.style.display="block" reloadPreviewShopItemImages() }else{ shopitemimagepreview.style.display="none" itemimagesselector.style.display="none" } itemname.innerHTML=preset.nombre ?? preset.name ?? preset.titulo ?? preset.title; shopitemdescription.innerHTML=preset.descripcion precioitempreview.innerHTML=`${preset.precio ?? preset.price} ${preset.currency ?? preset.moneda ?? preset.curency}`; reloadPriviewShopItemCaracteristics() } function reloadPriviewShopItemCaracteristics(){ itemcaracteristicsections.innerHTML="" rerenderRowsWithRemoveBtns(previewItemPreset.caracteristicas ?? previewItemPreset.caracteristics,false,function(index,html){ itemcaracteristicsections.appendChild(html) }) } function didTouchSaveBtnOnShopModal(){ alert("didTouchSaveBtnOnShopModal") } function shopLoadingScreen(){ var d=document.createElement("div") d.classList.add("shopModal") var dp=document.createElement("p") dp.innerHTML=`<h1 style='text-align:center'><i class='fa fa-spinner fa-spin'></i></h1>` d.appendChild(dp) document.body.appendChild(d) return d } function myShop(action){ switch (action) { case "nuevo/producto": case "new/product": shopRegisterProduct(null,{},function(){ console.log(`reach local`) }) break; } } function producto_precio_inventario(obj){ var precio=obj.precioId var inventario=obj.inventarioId return { msg:"incompleto" } } function myShopPrepareSizesToUpload(producto,o){ var productoId=producto if(producto.id != null){ productoId=producto.id } var toupload=[] var objects=[] for(var each in o.sizes){ var z=o.sizes[each] toupload.push([productoId,z.precio,z.inventario,z.texto.toLowerCase().trim(),o.coin]) objects.push({ product:productoId, precio:z.precio, inventario:z.inventario, texto:z.texto.toLowerCase().trim(), moneda:o.coin }) } return { objects:objects, inserts:toupload } } function myShopSanitizeProductSizes(a){ var sizes=[] for(var each in a){ var x=a[each] sizes.push({ id:x.id, inventario:x.inventario, precio:x.precio, texto:x.texto ?? x.text, }) } var coin="DOP" if(a.length > 0){ coin=a[0].moneda } return { sizes:sizes, coin:coin } } //---