plxdcma_eshop
Version:
Instala todo lo necesario para una tienda virtual
176 lines (170 loc) • 5.12 kB
JavaScript
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)
})
}