Merge branch 'beta' of git.treelet.net:crane/retailer-vue into beta

This commit is contained in:
rakesh 2022-01-24 12:50:19 +05:30
commit aa8e69ef45
2 changed files with 98 additions and 98 deletions

View File

@ -16,9 +16,10 @@
</v-container>
</v-overlay>
<div v-show="!cartProductsProgress">
<v-row><v-col cols="12" sm="12" md="12">
<v-row
><v-col cols="12" sm="12" md="12">
<v-col cols="12" sm="12" md="8">
<v-menu offset-y down allow-overflow >
<v-menu offset-y down allow-overflow>
<template v-slot:activator="{ on }">
<v-text-field
prepend-inner-icon="mdi-magnify"
@ -31,9 +32,7 @@
</template>
<div>
<v-card tile flat v-if="searchData">
<RetailerSearchProducts
@actionClose="showSnackBarMessage"
/>
<RetailerSearchProducts @actionClose="showSnackBarMessage" />
</v-card>
</div>
</v-menu>
@ -65,9 +64,8 @@
</v-row>
<div v-show="cartProductsItem.length != 0">
<v-row >
<v-row>
<v-col cols="12" sm="12" md="8">
<v-col cols="12">
<p
class="h3 body-font text-uppercase primary--text"
@ -259,7 +257,6 @@ export default {
return this.$store.state.cartProduct.cartProductsProgress;
}
},
},
metaInfo() {
return {
@ -282,7 +279,6 @@ export default {
};
},
watch: {
cartProductsItem() {
this.stockFlagHideShow();
this.calledCriteoViewBasket();
@ -344,7 +340,9 @@ export default {
params: {},
});
},
searchProducts() {
async searchProducts() {
if (this.timeout) clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
if (this.searchData) {
this.$store.dispatch("catalogBrowser/search", {
fullCatalog: window.craneCatalog,
@ -355,6 +353,7 @@ export default {
sortBy: "relevance",
});
}
}, 500);
},
},

View File

@ -1,5 +1,5 @@
import { getField, updateField } from 'vuex-map-fields'
import { doFilterItems } from '@/services/search.service'
// import { doFilterItems } from '@/services/search.service'
//import { criteoForProductList } from "@/services/util.service";
import Fuse from 'fuse.js'
export const catalogBrowser = {
@ -131,7 +131,7 @@ export const catalogBrowser = {
},
/* eslint-disable no-alert, no-console , no-debugger */
search: ({ commit, state }, { fullCatalog, keywords, filters, pageNumber, pageSize, sortBy }) => {
search:async ({ commit, state }, { fullCatalog, keywords, filters, pageNumber, pageSize, sortBy }) => {
commit('inProgress', true)
@ -140,22 +140,22 @@ export const catalogBrowser = {
// commit('setEnabledFilters', filters)
// debugger
const products = []
if (filters !== undefined && filters.length) {
const categoryFilter = filters.find((f => f.prop == 'ci'))
if (categoryFilter !== undefined) {
console.log('filtering by category')
const category = fullCatalog.allCategoryDetails.find(c => c.id == categoryFilter.value)
if (category) {
for (var pi = 0; pi < category.p.length; pi++) {
const pid = category.p[pi]
const product = fullCatalog.products[pid]
if (product !== undefined) {
products.push(product)
}
}
}
}
}
// if (filters !== undefined && filters.length) {
// const categoryFilter = filters.find((f => f.prop == 'ci'))
// if (categoryFilter !== undefined) {
// console.log('filtering by category')
// const category = fullCatalog.allCategoryDetails.find(c => c.id == categoryFilter.value)
// if (category) {
// for (var pi = 0; pi < category.p.length; pi++) {
// const pid = category.p[pi]
// const product = fullCatalog.products[pid]
// if (product !== undefined) {
// products.push(product)
// }
// }
// }
// }
// }
if (keywords !== null && keywords != '') {
products.length = 0
@ -170,46 +170,47 @@ export const catalogBrowser = {
const availableFilters = [];
let filteredItems = [];
let pageData = [];
if (products.length > 0) {
// let pageData = [];
// if (products.length > 0) {
filteredItems = doFilterItems({
items: products, enabledFilters: state.enabledFilters,
availableFilters, attributesMap: window.attributesMap
})
// filteredItems = doFilterItems({
// items: products, enabledFilters: state.enabledFilters,
// availableFilters, attributesMap: window.attributesMap
// })
switch (sortBy) {
case 'name':
filteredItems.sort((a, b) => {
if (a.n < b.n) return -1
else if (a.n > b.n) return 1
else return 0
})
break
case 'price':
filteredItems.sort((a, b) => {
if (a.p < b.p) return -1
else if (a.p > b.p) return 1
else return 0
})
break
case 'color':
filteredItems.sort((a, b) => {
if (a.dc < b.dc) return -1
else if (a.dc > b.dc) return 1
else return 0
})
break
}
if (pageSize != 'ALL') {
pageSize = Number(pageSize)
pageData = filteredItems.slice((pageNumber - 1) * pageSize, pageNumber * pageSize)
}
else {
pageData = filteredItems;
}
}
commit('setSearchResults', pageData);
// switch (sortBy) {
// case 'name':
// filteredItems.sort((a, b) => {
// if (a.n < b.n) return -1
// else if (a.n > b.n) return 1
// else return 0
// })
// break
// case 'price':
// filteredItems.sort((a, b) => {
// if (a.p < b.p) return -1
// else if (a.p > b.p) return 1
// else return 0
// })
// break
// case 'color':
// filteredItems.sort((a, b) => {
// if (a.dc < b.dc) return -1
// else if (a.dc > b.dc) return 1
// else return 0
// })
// break
// }
// if (pageSize != 'ALL') {
// pageSize = Number(pageSize)
// pageData = filteredItems.slice((pageNumber - 1) * pageSize, pageNumber * pageSize)
// }
// else {
// pageData = filteredItems;
// }
// }
// commit('setSearchResults', pageData);
commit('setSearchResults', products);
commit('setAvailableFilters', availableFilters);
commit('setSearchTerms', { keywords: keywords, pageNumber: pageNumber, pageSize: pageSize, sortBy: sortBy, filters: filters }