UNPKG

plxdcma_eshop

Version:

Instala todo lo necesario para una tienda virtual

176 lines (170 loc) 5.12 kB
var showhopitemsdatasource; var showhopitemsdelegate; function showShopItemsLists(config,datasource,delegate){ shopSellCaracteristics.style.display="none" shopTableItems.style.display="blocks" showhopitemsdatasource=datasource showhopitemsdelegate=delegate reloadShopItemList() } var visibleRowsInShopItems=[] var shopItemRowsHtml=[] var shopItemRowsPaged=[] function updateShopItemList(){ var rowid=0 for(var i = 0 ; i < shopItemRowsHtml.length;i++){ var h=shopItemRowsHtml[i] var row=shopItemRowsHtml[i] for(var i2=0;i2<shittbrchilds.children.length;i2++){ if(isNaN(shittbrchilds.children[i2]) == false){ continue } var c=row.children[i2] c.innerHTML=showhopitemsdatasource.fieldValue(i,i2) } } } function reloadShopItemList(){ shopItemRowsHtml.length=0 visibleRowsInShopItems.length=0 var n=showhopitemsdatasource.numberOfItems() for(var i = 0 ; i < n;i++){ var tr=document.createElement("tr") for(var i2=0;i2<shittbrchilds.children.length;i2++){ if(isNaN(shittbrchilds.children[i2]) == false){ continue } var td=document.createElement(`td`) td.innerHTML=showhopitemsdatasource.fieldValue(i,i2) showhopitemsdatasource.modifField(i,i2,td) tr.appendChild(td) } shopItemRowsHtml.push(tr) visibleRowsInShopItems.push(i) } rerenderVisibleRowsOnShopItems() if(shopSellSearchInput.value != null){ if(shopSellSearchInput.value != ""){ didSearchForItemListInShopRegProduct() } } } function didSearchForItemListInShopRegProducta(){ var visibleRows=[] var sv=shopSellSearchInput.value.toLowerCase() if(sv ==""){ for(var i = 0 ; i < shopItemRowsHtml.length;i++){ visibleRows.push(i) } }else{ for(var i = 0 ; i < shopItemRowsHtml.length;i++){ for(var i2=0;i2<shittbrchilds.children.length;i2++){ if(isNaN(shittbrchilds.children[i2]) == false){ continue } var value=showhopitemsdatasource.fieldValue(i,i2) if(value == null){ continue } value=value.toLowerCase() var sub=value.substr(0,sv.length) if(sub == sv){ visibleRows.push(i) break } } } for(var i = 0 ; i < shopItemRowsHtml.length;i++){ if(visibleRows.indexOf(i) >= 0){ continue } for(var i2=0;i2<shittbrchilds.children.length;i2++){ if(isNaN(shittbrchilds.children[i2]) == false){ continue } var value=showhopitemsdatasource.fieldValue(i,i2) if(value == null){ continue } value=value.toLowerCase() if(value.search(sv)>=0){ visibleRows.push(i) break } } } } console.log(`visibleRows visibleRows`) console.log(visibleRows) visibleRowsInShopItems=visibleRows rerenderVisibleRowsOnShopItems() } function rerenderVisibleRowsOnShopItems(){ shopItemRowsPaged.length=0 shopItemRowsPaged.push([]) for(var each in visibleRowsInShopItems){ var index=visibleRowsInShopItems[each] shopItemRowsPaged[shopItemRowsPaged.length-1].push(index) if(shopItemRowsPaged[shopItemRowsPaged.length-1].length == 10){ shopItemRowsPaged.push([]) } } shoppreviewpartpages.innerHTML="" var fxz=null for(var i = 0 ; i < shopItemRowsPaged.length;i++){ var d=document.createElement("button") d.classList.add("shoppagebtn") d.innerHTML=`${(i+1)}` d.onclick=renderShopItemsPage.bind({page:i}) if(i == 0){ fxz=d.onclick } shoppreviewpartpages.appendChild(d) } if(fxz != null){ fxz() } } function renderShopItemsPage(){ for(var each in shoppreviewpartpages.children){ var btn=shoppreviewpartpages.children[each] if(btn.classList != null){ btn.classList.remove("shoppagebtnselected") } } shoppreviewpartpages.children[this.page].classList.add("shoppagebtnselected") shopreviewitemsellpart.innerHTML="" var r=shopItemRowsPaged[this.page] for(var each in r){ shopreviewitemsellpart.appendChild(shopItemRowsHtml[r[each]] ) } } function reloadshowShopReloadCaracteristics(){ shopPropertiesList.innerHTML="" var n=showhopcaracteristicsdatasource.numberOfCaracteristics() var texts=[] for(var i = 0 ; i < n;i++){ texts.push(showhopcaracteristicsdatasource.textOfCaracteristics(i)) } rerenderRowsWithRemoveBtns(texts,true,function(index,html,text,icon){ if(showhopcaracteristicsdatasource.isApproved(index)){ icon.classList.remove("fa-times") icon.classList.add("fa-check") console.log(`icon icon`) console.log(icon) } icon.classList.add("shophoverabletouchswitch") icon.onclick=function(){ var icon=this.html var state=showhopcaracteristicsdelegate.didTouchActivityIcon(this.index) icon.classList.remove("fa-times") icon.classList.remove("fa-check") if(state){ icon.classList.add("fa-check") }else{ icon.classList.add("fa-times") } }.bind({index:index,html:icon}) shopPropertiesList.appendChild(html) }) }