@infrab4a/connect-angular 5.2.1-beta.3 → 5.2.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/services/catalog/strategies/term-search.strategy.mjs +13 -4
- package/fesm2015/infrab4a-connect-angular.mjs +11 -4
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +12 -3
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1644,6 +1644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1644
1644
|
type: Injectable
|
|
1645
1645
|
}], ctorParameters: function () { return [{ type: CatalogRepositoryService }, { type: CatalogHelpersService }]; } });
|
|
1646
1646
|
|
|
1647
|
+
/* eslint-disable no-console */
|
|
1647
1648
|
class TermSearchStrategy {
|
|
1648
1649
|
constructor(repositoryService, helpersService) {
|
|
1649
1650
|
this.repositoryService = repositoryService;
|
|
@@ -1720,22 +1721,29 @@ class TermSearchStrategy {
|
|
|
1720
1721
|
}
|
|
1721
1722
|
sortByTermRelevance(params) {
|
|
1722
1723
|
const { productIds, totalResult, limits, filters, fieldsHelper } = params;
|
|
1723
|
-
const defaultGender = filters?.gender?.at(0) || 'male'
|
|
1724
|
+
// const defaultGender = filters?.gender?.at(0) || 'male'
|
|
1725
|
+
console.log('productIds', productIds);
|
|
1724
1726
|
const stockData = totalResult.data.filter((product) => product.stock.quantity > 0);
|
|
1727
|
+
console.log('stockData', stockData);
|
|
1725
1728
|
const stockOut = totalResult.data.filter((product) => product.stock.quantity <= 0);
|
|
1726
|
-
|
|
1729
|
+
console.log('stockOut', stockOut);
|
|
1730
|
+
// const productIdsStockGender = productIds.filter((product) => stockData.some((result: any) => result.id === product))
|
|
1727
1731
|
// && (result.gender?.includes(defaultGender) || result.gender?.includes('unisex'))
|
|
1728
1732
|
// const productIdsStockNotGender = productIds.filter((product) =>
|
|
1729
1733
|
// stockData.some((result: any) => result.id === product),
|
|
1730
1734
|
// )
|
|
1731
1735
|
// && !result.gender?.includes(defaultGender) && !result.gender?.includes('unisex')
|
|
1732
1736
|
// const productIdsStock = productIdsStockGender.concat(productIdsStockNotGender)
|
|
1733
|
-
const productIdsStock =
|
|
1737
|
+
const productIdsStock = productIds.filter((product) => stockData.some((result) => result.id === product));
|
|
1738
|
+
console.log('productIdsStock', productIdsStock);
|
|
1734
1739
|
const productIdsStockOut = productIds.filter((product) => stockOut.some((result) => result.id === product));
|
|
1740
|
+
console.log('productIdsStockOut', productIdsStockOut);
|
|
1735
1741
|
const limitedProductId = productIdsStock
|
|
1736
1742
|
.concat(productIdsStockOut)
|
|
1737
1743
|
.slice(limits.offset, limits.offset + limits.limit);
|
|
1744
|
+
console.log('limitedProductId', limitedProductId);
|
|
1738
1745
|
const orderedId = productIds.filter((product) => limitedProductId.includes(product));
|
|
1746
|
+
console.log('orderedId', orderedId);
|
|
1739
1747
|
return this.getDetailedProducts(orderedId, totalResult, fieldsHelper);
|
|
1740
1748
|
}
|
|
1741
1749
|
async getDetailedProducts(orderedId, totalResult, fieldsHelper) {
|
|
@@ -1747,6 +1755,7 @@ class TermSearchStrategy {
|
|
|
1747
1755
|
},
|
|
1748
1756
|
fields,
|
|
1749
1757
|
});
|
|
1758
|
+
console.log('detail ordered', orderedId.map((id) => productResult.data.find((product) => product.id === id)).filter(Boolean));
|
|
1750
1759
|
return {
|
|
1751
1760
|
data: orderedId.map((id) => productResult.data.find((product) => product.id === id)).filter(Boolean),
|
|
1752
1761
|
count: totalResult.count,
|