From 55224926d9285467ada120b404bcca40dc757c34 Mon Sep 17 00:00:00 2001 From: sidharth <sidhj01@gmail.com> Date: Fri, 21 Jan 2022 17:33:32 +0530 Subject: [PATCH 1/2] debounce with product search --- git_info.json | 2 +- public/index.html | 12 +-- src/routes/retailer/cart_products.vue | 81 +++++++++--------- src/stores/retailer/catalog_browser.js | 113 +++++++++++++------------ 4 files changed, 104 insertions(+), 104 deletions(-) diff --git a/git_info.json b/git_info.json index a929f9a..c18e197 100644 --- a/git_info.json +++ b/git_info.json @@ -1 +1 @@ -{"branch_name":"beta","last_commit_date":"2022-01-20T09:20:12.000Z","last_commit_author":"rakesh","last_commit_hash":"aecadf3107a47299cdc79a7ea795e944f95452fd"} \ No newline at end of file +{"branch_name":"beta","last_commit_date":"2022-01-20T09:38:46.000Z","last_commit_author":"rakesh","last_commit_hash":"ad63d7d012c005f4fd033a9432f7feb1494fbf8e"} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 26a3d0e..49859d7 100644 --- a/public/index.html +++ b/public/index.html @@ -39,7 +39,7 @@ <!-- built files will be auto injected --> <!-- Listrak Analytics – Javascript Framework --> - <script type="text/javascript"> + <!-- <script type="text/javascript"> var biJsHost = (("https:" == document.location.protocol) ? "https://" : "http://"); (function (d, s, id, tid, vid) { var js, ljs = d.getElementsByTagName(s)[0]; @@ -49,9 +49,9 @@ js.src = biJsHost + "cdn.listrakbi.com/scripts/script.js?m=" + tid + "&v=" + vid; ljs.parentNode.insertBefore(js, ljs); })(document, 'script', 'ltkSDK', 'yJ3fjhPTdCKx', '1'); - </script> + </script> --> <!--START Pepperjam CODE--> - <script> + <!-- <script> (function () { var a = document.createElement("script"); a.type = "text/javascript", a.async = !0, a.src = "//container.pepperjam.com/4135755510.js"; @@ -62,10 +62,10 @@ b.parentNode.insertBefore(a, b) } })(); - </script> + </script> --> <!--END Pepperjam CODE--> <!-- Criteo Homepage Tag --> - <script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script> + <!-- <script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script> <script type="text/javascript"> window.criteo_q = window.criteo_q || []; var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d"; @@ -75,7 +75,7 @@ { event: "setSiteType", type: deviceType }, // { event: "viewHome" } ); - </script> + </script> --> <!-- END Criteo Home Page Tag --> </body> diff --git a/src/routes/retailer/cart_products.vue b/src/routes/retailer/cart_products.vue index 1ee6287..958979a 100644 --- a/src/routes/retailer/cart_products.vue +++ b/src/routes/retailer/cart_products.vue @@ -16,36 +16,35 @@ </v-container> </v-overlay> <div v-show="!cartProductsProgress"> - <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 > - <template v-slot:activator="{ on }"> - <v-text-field - prepend-inner-icon="mdi-magnify" - placeholder="Enter Item, Name, Keyword" - v-model="searchData" - v-on="on" - @input="searchProducts" - > - </v-text-field> - </template> - <div> - <v-card tile flat v-if="searchData"> - <RetailerSearchProducts - @actionClose="showSnackBarMessage" - /> - </v-card> - </div> - </v-menu> - </v-col> - </v-col> - </v-row> + <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> + <template v-slot:activator="{ on }"> + <v-text-field + prepend-inner-icon="mdi-magnify" + placeholder="Enter Item, Name, Keyword" + v-model="searchData" + v-on="on" + @input="searchProducts" + > + </v-text-field> + </template> + <div> + <v-card tile flat v-if="searchData"> + <RetailerSearchProducts @actionClose="showSnackBarMessage" /> + </v-card> + </div> + </v-menu> + </v-col> + </v-col> + </v-row> <v-row v-show="cartProductsItem.length == 0"> <v-col> <v-alert class="alert-box-outline" type="error" text dense >You have no items in your shopping cart.</v-alert > - <!-- <p> + <!-- <p> Click <span class=" @@ -65,12 +64,11 @@ </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" + class="h3 body-font text-uppercase primary--text" v-if="!cartProductsProgress" > Your Cart ( {{ cartProductsItem.length }} ) @@ -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(); @@ -345,16 +341,19 @@ export default { }); }, searchProducts() { - if (this.searchData) { - this.$store.dispatch("catalogBrowser/search", { - fullCatalog: window.craneCatalog, - keywords: this.searchData, - filters: [], - pageNumber: 1, - pageSize: "ALL", - sortBy: "relevance", - }); - } + if (this.timeout) clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + if (this.searchData) { + this.$store.dispatch("catalogBrowser/search", { + fullCatalog: window.craneCatalog, + keywords: this.searchData, + filters: [], + pageNumber: 1, + pageSize: "ALL", + sortBy: "relevance", + }); + } + }, 500); }, }, @@ -362,7 +361,7 @@ export default { this.$store.dispatch("catalogBrowser/index", { productsCatalog: window.craneCatalog.products, }); - /* if (this.userAuth) { + /* if (this.userAuth) { this.$store.dispatch("userCartProduct/fetchCartCoupon"); this.calledCriteoViewBasket(); diff --git a/src/stores/retailer/catalog_browser.js b/src/stores/retailer/catalog_browser.js index e64a2e5..5df6e5e 100644 --- a/src/stores/retailer/catalog_browser.js +++ b/src/stores/retailer/catalog_browser.js @@ -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 } From fbaf3668e41e52e9d2592edda368949138cbe909 Mon Sep 17 00:00:00 2001 From: sidharth <sidhj01@gmail.com> Date: Fri, 21 Jan 2022 17:39:47 +0530 Subject: [PATCH 2/2] undo criteo script --- git_info.json | 1 - public/index.html | 12 ++++++------ src/routes/retailer/cart_products.vue | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 git_info.json diff --git a/git_info.json b/git_info.json deleted file mode 100644 index c18e197..0000000 --- a/git_info.json +++ /dev/null @@ -1 +0,0 @@ -{"branch_name":"beta","last_commit_date":"2022-01-20T09:38:46.000Z","last_commit_author":"rakesh","last_commit_hash":"ad63d7d012c005f4fd033a9432f7feb1494fbf8e"} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 49859d7..26a3d0e 100644 --- a/public/index.html +++ b/public/index.html @@ -39,7 +39,7 @@ <!-- built files will be auto injected --> <!-- Listrak Analytics – Javascript Framework --> - <!-- <script type="text/javascript"> + <script type="text/javascript"> var biJsHost = (("https:" == document.location.protocol) ? "https://" : "http://"); (function (d, s, id, tid, vid) { var js, ljs = d.getElementsByTagName(s)[0]; @@ -49,9 +49,9 @@ js.src = biJsHost + "cdn.listrakbi.com/scripts/script.js?m=" + tid + "&v=" + vid; ljs.parentNode.insertBefore(js, ljs); })(document, 'script', 'ltkSDK', 'yJ3fjhPTdCKx', '1'); - </script> --> + </script> <!--START Pepperjam CODE--> - <!-- <script> + <script> (function () { var a = document.createElement("script"); a.type = "text/javascript", a.async = !0, a.src = "//container.pepperjam.com/4135755510.js"; @@ -62,10 +62,10 @@ b.parentNode.insertBefore(a, b) } })(); - </script> --> + </script> <!--END Pepperjam CODE--> <!-- Criteo Homepage Tag --> - <!-- <script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script> + <script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script> <script type="text/javascript"> window.criteo_q = window.criteo_q || []; var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d"; @@ -75,7 +75,7 @@ { event: "setSiteType", type: deviceType }, // { event: "viewHome" } ); - </script> --> + </script> <!-- END Criteo Home Page Tag --> </body> diff --git a/src/routes/retailer/cart_products.vue b/src/routes/retailer/cart_products.vue index 958979a..14a5717 100644 --- a/src/routes/retailer/cart_products.vue +++ b/src/routes/retailer/cart_products.vue @@ -340,7 +340,7 @@ export default { params: {}, }); }, - searchProducts() { + async searchProducts() { if (this.timeout) clearTimeout(this.timeout); this.timeout = setTimeout(() => { if (this.searchData) {