@fast-simon/dashboard-utilities 1.0.28 → 1.0.30
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/dist/components/BackOfficeFiltersMenu/styles.module.css +3 -4
- package/dist/components/CheckboxFilter/Checkbox/styles.module.css +2 -0
- package/dist/components/FacetItem/styles.module.css +1 -1
- package/dist/components/FromToFilter/styles.module.css +1 -1
- package/dist/components/InStoreFiltersMenu/styles.module.css +3 -4
- package/dist/components/LastReceivedDateFilter/styles.module.css +3 -3
- package/dist/components/RadioFilter/Radio/styles.module.css +2 -0
- package/dist/components/productGrid/styles.module.css +4 -1
- package/dist/dashboard-utilities/src/@types/banner.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/categories.d.ts +89 -0
- package/dist/dashboard-utilities/src/@types/categories.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/categoriesNavigation.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/context.d.ts +49 -0
- package/dist/dashboard-utilities/src/@types/context.js +2 -0
- package/dist/dashboard-utilities/src/@types/context.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/currency.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/editorProduct.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/facets.d.ts +45 -0
- package/dist/dashboard-utilities/src/@types/facets.js +19 -0
- package/dist/dashboard-utilities/src/@types/facets.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/iconProps.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/narrow.d.ts +7 -0
- package/dist/dashboard-utilities/src/@types/narrow.js +2 -0
- package/dist/dashboard-utilities/src/@types/narrow.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/product.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/productLabel.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/promoTile.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/results.d.ts +104 -0
- package/dist/dashboard-utilities/src/@types/results.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/sideMenu.js.map +1 -0
- package/dist/dashboard-utilities/src/@types/sortBy.js.map +1 -0
- package/dist/dashboard-utilities/src/App.js.map +1 -0
- package/dist/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -0
- package/dist/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -0
- package/dist/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.js.map +1 -0
- package/dist/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.js.map +1 -0
- package/dist/dashboard-utilities/src/components/DragAndDrop/Droppable.js.map +1 -0
- package/dist/dashboard-utilities/src/components/DragAndDrop/SortableItem.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FacetItem/FacetItem.js.map +1 -0
- package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/FastSimonApi.d.ts +5 -2
- package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/FastSimonApi.js +220 -182
- package/dist/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FastSimonApi/context.d.ts +51 -0
- package/dist/dashboard-utilities/src/components/FastSimonApi/context.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FastSimonApi/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FastSimonApi/reducer.d.ts +279 -0
- package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/reducer.js +3 -1
- package/dist/dashboard-utilities/src/components/FastSimonApi/reducer.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FromToFilter/From/From.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FromToFilter/FromToFilter.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FromToFilter/To/To.js.map +1 -0
- package/dist/dashboard-utilities/src/components/FromToFilter/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -0
- package/dist/dashboard-utilities/src/components/InStoreFiltersMenu/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/Input/Input.js.map +1 -0
- package/dist/dashboard-utilities/src/components/Input/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -0
- package/dist/dashboard-utilities/src/components/LastReceivedDateFilter/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/components/RadioFilter/Radio/Radio.js.map +1 -0
- package/dist/dashboard-utilities/src/components/RadioFilter/RadioFilter.js.map +1 -0
- package/dist/dashboard-utilities/src/components/RadioFilter/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js.map +1 -0
- package/dist/dashboard-utilities/src/components/ReactDatePicker/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js.map +1 -0
- package/dist/dashboard-utilities/src/components/RenderIfVisible/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/SingleFilter/SingleFilter.js.map +1 -0
- package/dist/dashboard-utilities/src/components/SingleFilter/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/components/SliderFilter/SliderFilter.js.map +1 -0
- package/dist/dashboard-utilities/src/components/SliderFilter/index.js.map +1 -0
- package/dist/dashboard-utilities/src/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/dashboard-utilities/src/components/common.d.ts +23 -0
- package/dist/dashboard-utilities/src/components/common.js +31 -0
- package/dist/dashboard-utilities/src/components/common.js.map +1 -0
- package/dist/{components → dashboard-utilities/src/components}/productGrid/ProductGrid.d.ts +2 -1
- package/dist/dashboard-utilities/src/components/productGrid/ProductGrid.js +25 -0
- package/dist/dashboard-utilities/src/components/productGrid/ProductGrid.js.map +1 -0
- package/dist/dashboard-utilities/src/components/productGrid/index.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/BackOfficeFiltersIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/BannersIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/GeneralIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/HelpIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/InStoreFiltersIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/PromoteIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/RemoveIcon.js.map +1 -0
- package/dist/dashboard-utilities/src/icons/RestoreIcon.js.map +1 -0
- package/dist/{index.d.ts → dashboard-utilities/src/index.d.ts} +2 -1
- package/dist/{index.js → dashboard-utilities/src/index.js} +2 -1
- package/dist/dashboard-utilities/src/index.js.map +1 -0
- package/dist/dashboard-utilities/src/main.js.map +1 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/index.d.ts +6 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/index.js +70 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/index.js.map +1 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/utils.d.ts +17 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/utils.js +105 -0
- package/dist/dashboard-utilities/src/sections/fullTextSearch/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/sections/index.d.ts +3 -0
- package/dist/dashboard-utilities/src/sections/index.js +215 -0
- package/dist/dashboard-utilities/src/sections/index.js.map +1 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/index.d.ts +6 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/index.js +103 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/index.js.map +1 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/utils.d.ts +35 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/utils.js +148 -0
- package/dist/dashboard-utilities/src/sections/smartCollections/utils.js.map +1 -0
- package/dist/dashboard-utilities/src/services/API.js.map +1 -0
- package/dist/dashboard-utilities/src/services/fullTextSearch.d.ts +4 -0
- package/dist/dashboard-utilities/src/services/fullTextSearch.js +40 -0
- package/dist/dashboard-utilities/src/services/fullTextSearch.js.map +1 -0
- package/dist/dashboard-utilities/src/services/landingPage.js.map +1 -0
- package/dist/dashboard-utilities/src/services/products.d.ts +9 -0
- package/dist/dashboard-utilities/src/services/products.js +16 -0
- package/dist/dashboard-utilities/src/services/products.js.map +1 -0
- package/dist/{services → dashboard-utilities/src/services}/search.d.ts +2 -0
- package/dist/{services → dashboard-utilities/src/services}/search.js +36 -1
- package/dist/dashboard-utilities/src/services/search.js.map +1 -0
- package/dist/dashboard-utilities/src/services/smartCollections.d.ts +5 -0
- package/dist/dashboard-utilities/src/services/smartCollections.js +45 -0
- package/dist/dashboard-utilities/src/services/smartCollections.js.map +1 -0
- package/dist/dashboard-utilities/src/utils/customTagsFilters.js.map +1 -0
- package/dist/dashboard-utilities/src/utils/useDragToSelect.js.map +1 -0
- package/dist/serving/src/@types/Tab.d.ts +9 -0
- package/dist/serving/src/@types/Tab.js +6 -0
- package/dist/serving/src/@types/Tab.js.map +1 -0
- package/dist/serving/src/@types/bigcommerceCurrency.d.ts +7 -0
- package/dist/serving/src/@types/bigcommerceCurrency.js +2 -0
- package/dist/serving/src/@types/bigcommerceCurrency.js.map +1 -0
- package/dist/serving/src/@types/bigcommerceCustomer.d.ts +19 -0
- package/dist/serving/src/@types/bigcommerceCustomer.js +2 -0
- package/dist/serving/src/@types/bigcommerceCustomer.js.map +1 -0
- package/dist/serving/src/@types/categories.js +2 -0
- package/dist/serving/src/@types/categories.js.map +1 -0
- package/dist/serving/src/@types/currency.d.ts +1 -0
- package/dist/serving/src/@types/currency.js +2 -0
- package/dist/serving/src/@types/currency.js.map +1 -0
- package/dist/serving/src/@types/device.d.ts +1 -0
- package/dist/serving/src/@types/device.js +2 -0
- package/dist/serving/src/@types/device.js.map +1 -0
- package/dist/serving/src/@types/editor.d.ts +461 -0
- package/dist/serving/src/@types/editor.js +8 -0
- package/dist/serving/src/@types/editor.js.map +1 -0
- package/dist/serving/src/@types/gridView.d.ts +4 -0
- package/dist/serving/src/@types/gridView.js +6 -0
- package/dist/serving/src/@types/gridView.js.map +1 -0
- package/dist/serving/src/@types/ispOptions.d.ts +64 -0
- package/dist/serving/src/@types/ispOptions.js +2 -0
- package/dist/serving/src/@types/ispOptions.js.map +1 -0
- package/dist/serving/src/@types/narrow.d.ts +7 -0
- package/dist/serving/src/@types/narrow.js +2 -0
- package/dist/serving/src/@types/narrow.js.map +1 -0
- package/dist/serving/src/@types/platform.d.ts +1 -0
- package/dist/serving/src/@types/platform.js +2 -0
- package/dist/serving/src/@types/platform.js.map +1 -0
- package/dist/serving/src/@types/product.d.ts +158 -0
- package/dist/serving/src/@types/product.js +8 -0
- package/dist/serving/src/@types/product.js.map +1 -0
- package/dist/serving/src/@types/promoTile.d.ts +11 -0
- package/dist/serving/src/@types/promoTile.js +2 -0
- package/dist/serving/src/@types/promoTile.js.map +1 -0
- package/dist/serving/src/@types/sortBy.d.ts +3 -0
- package/dist/serving/src/@types/sortBy.js +2 -0
- package/dist/serving/src/@types/sortBy.js.map +1 -0
- package/dist/serving/src/@types/translations.d.ts +11 -0
- package/dist/serving/src/@types/translations.js +8 -0
- package/dist/serving/src/@types/translations.js.map +1 -0
- package/dist/serving/src/@types/variation.d.ts +4 -0
- package/dist/serving/src/@types/variation.js +2 -0
- package/dist/serving/src/@types/variation.js.map +1 -0
- package/dist/serving/src/services/API.d.ts +23 -0
- package/dist/serving/src/services/API.js +56 -0
- package/dist/serving/src/services/API.js.map +1 -0
- package/dist/serving/src/services/siteSettings.d.ts +80 -0
- package/dist/serving/src/services/siteSettings.js +53 -0
- package/dist/serving/src/services/siteSettings.js.map +1 -0
- package/dist/serving/src/store/actions/setSegments.d.ts +2 -0
- package/dist/serving/src/store/actions/setSegments.js +19 -0
- package/dist/serving/src/store/actions/setSegments.js.map +1 -0
- package/dist/serving/src/store/store.d.ts +88 -0
- package/dist/serving/src/store/store.js +83 -0
- package/dist/serving/src/store/store.js.map +1 -0
- package/dist/serving/src/utils/consts.d.ts +5 -0
- package/dist/serving/src/utils/consts.js +6 -0
- package/dist/serving/src/utils/consts.js.map +1 -0
- package/dist/serving/src/utils/debug.d.ts +13 -0
- package/dist/serving/src/utils/debug.js +71 -0
- package/dist/serving/src/utils/debug.js.map +1 -0
- package/dist/serving/src/utils/getUserVariation.d.ts +1 -0
- package/dist/serving/src/utils/getUserVariation.js +12 -0
- package/dist/serving/src/utils/getUserVariation.js.map +1 -0
- package/dist/serving/src/utils/showShopifyPreviewBar.d.ts +1 -0
- package/dist/serving/src/utils/showShopifyPreviewBar.js +7 -0
- package/dist/serving/src/utils/showShopifyPreviewBar.js.map +1 -0
- package/dist/serving/src/utils/tree.d.ts +36 -0
- package/dist/serving/src/utils/tree.js +118 -0
- package/dist/serving/src/utils/tree.js.map +1 -0
- package/package.json +1 -1
- package/dist/@types/banner.js.map +0 -1
- package/dist/@types/categories.js.map +0 -1
- package/dist/@types/categoriesNavigation.js.map +0 -1
- package/dist/@types/currency.js.map +0 -1
- package/dist/@types/editorProduct.js.map +0 -1
- package/dist/@types/iconProps.js.map +0 -1
- package/dist/@types/product.js.map +0 -1
- package/dist/@types/productLabel.js.map +0 -1
- package/dist/@types/promoTile.js.map +0 -1
- package/dist/@types/results.d.ts +0 -42
- package/dist/@types/results.js.map +0 -1
- package/dist/@types/sideMenu.js.map +0 -1
- package/dist/@types/sortBy.js.map +0 -1
- package/dist/App.js.map +0 -1
- package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +0 -1
- package/dist/components/BackOfficeFiltersMenu/index.js.map +0 -1
- package/dist/components/BackOfficeFiltersMenu/utils.js.map +0 -1
- package/dist/components/CheckboxFilter/Checkbox/Checkbox.js.map +0 -1
- package/dist/components/CheckboxFilter/CheckboxFilter.js.map +0 -1
- package/dist/components/DragAndDrop/DndContextWrapper.js.map +0 -1
- package/dist/components/DragAndDrop/Droppable.js.map +0 -1
- package/dist/components/DragAndDrop/SortableItem.js.map +0 -1
- package/dist/components/FacetItem/FacetItem.js.map +0 -1
- package/dist/components/FastSimonApi/FastSimonApi.js.map +0 -1
- package/dist/components/FastSimonApi/context.d.ts +0 -50
- package/dist/components/FastSimonApi/context.js.map +0 -1
- package/dist/components/FastSimonApi/index.js.map +0 -1
- package/dist/components/FastSimonApi/reducer.d.ts +0 -172
- package/dist/components/FastSimonApi/reducer.js.map +0 -1
- package/dist/components/FromToFilter/From/From.js.map +0 -1
- package/dist/components/FromToFilter/FromToFilter.js.map +0 -1
- package/dist/components/FromToFilter/To/To.js.map +0 -1
- package/dist/components/FromToFilter/utils.js.map +0 -1
- package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +0 -1
- package/dist/components/InStoreFiltersMenu/index.js.map +0 -1
- package/dist/components/Input/Input.js.map +0 -1
- package/dist/components/Input/index.js.map +0 -1
- package/dist/components/LastReceivedDateFilter/LastReceivedDate.js.map +0 -1
- package/dist/components/LastReceivedDateFilter/utils.js.map +0 -1
- package/dist/components/RadioFilter/Radio/Radio.js.map +0 -1
- package/dist/components/RadioFilter/RadioFilter.js.map +0 -1
- package/dist/components/RadioFilter/utils.js.map +0 -1
- package/dist/components/ReactDatePicker/ReactDatePicker.js.map +0 -1
- package/dist/components/ReactDatePicker/index.js.map +0 -1
- package/dist/components/RenderIfVisible/RenderIfVisible.js.map +0 -1
- package/dist/components/RenderIfVisible/index.js.map +0 -1
- package/dist/components/SingleFilter/SingleFilter.js.map +0 -1
- package/dist/components/SingleFilter/utils.js.map +0 -1
- package/dist/components/SliderFilter/SliderFilter.js.map +0 -1
- package/dist/components/SliderFilter/index.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/common.d.ts +0 -1
- package/dist/components/common.js +0 -10
- package/dist/components/common.js.map +0 -1
- package/dist/components/productGrid/ProductGrid.js +0 -22
- package/dist/components/productGrid/ProductGrid.js.map +0 -1
- package/dist/components/productGrid/index.js.map +0 -1
- package/dist/icons/BackOfficeFiltersIcon.js.map +0 -1
- package/dist/icons/BannersIcon.js.map +0 -1
- package/dist/icons/GeneralIcon.js.map +0 -1
- package/dist/icons/HelpIcon.js.map +0 -1
- package/dist/icons/InStoreFiltersIcon.js.map +0 -1
- package/dist/icons/PromoteIcon.js.map +0 -1
- package/dist/icons/RemoveIcon.js.map +0 -1
- package/dist/icons/RestoreIcon.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/services/API.js.map +0 -1
- package/dist/services/landingPage.js.map +0 -1
- package/dist/services/search.js.map +0 -1
- package/dist/utils/customTagsFilters.js.map +0 -1
- package/dist/utils/useDragToSelect.js.map +0 -1
- /package/dist/{@types → dashboard-utilities/src/@types}/banner.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/banner.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/categories.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/categoriesNavigation.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/categoriesNavigation.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/currency.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/currency.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/editorProduct.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/editorProduct.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/iconProps.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/iconProps.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/product.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/product.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/productLabel.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/productLabel.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/promoTile.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/promoTile.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/results.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/sideMenu.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/sideMenu.js +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/sortBy.d.ts +0 -0
- /package/dist/{@types → dashboard-utilities/src/@types}/sortBy.js +0 -0
- /package/dist/{App.d.ts → dashboard-utilities/src/App.d.ts} +0 -0
- /package/dist/{App.js → dashboard-utilities/src/App.js} +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/BackOfficeFiltersMenu.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/utils.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/BackOfficeFiltersMenu/utils.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/CheckboxFilter/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/CheckboxFilter/Checkbox/Checkbox.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/CheckboxFilter/CheckboxFilter.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/CheckboxFilter/CheckboxFilter.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/DndContextWrapper.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/DndContextWrapper.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/Droppable.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/Droppable.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/SortableItem.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/DragAndDrop/SortableItem.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FacetItem/FacetItem.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FacetItem/FacetItem.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/context.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FastSimonApi/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/From/From.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/From/From.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/FromToFilter.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/FromToFilter.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/To/To.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/To/To.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/utils.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/FromToFilter/utils.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/InStoreFiltersMenu/InStoreFiltersMenu.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/InStoreFiltersMenu/InStoreFiltersMenu.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/InStoreFiltersMenu/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/InStoreFiltersMenu/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Input/Input.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Input/Input.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Input/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Input/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/LastReceivedDateFilter/LastReceivedDate.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/LastReceivedDateFilter/LastReceivedDate.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/LastReceivedDateFilter/utils.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/LastReceivedDateFilter/utils.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/Radio/Radio.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/Radio/Radio.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/RadioFilter.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/RadioFilter.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/utils.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RadioFilter/utils.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/ReactDatePicker/ReactDatePicker.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/ReactDatePicker/ReactDatePicker.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/ReactDatePicker/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/ReactDatePicker/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RenderIfVisible/RenderIfVisible.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RenderIfVisible/RenderIfVisible.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RenderIfVisible/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/RenderIfVisible/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SingleFilter/SingleFilter.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SingleFilter/SingleFilter.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SingleFilter/utils.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SingleFilter/utils.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SliderFilter/SliderFilter.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SliderFilter/SliderFilter.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SliderFilter/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/SliderFilter/index.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Tooltip/Tooltip.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/Tooltip/Tooltip.js +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/productGrid/index.d.ts +0 -0
- /package/dist/{components → dashboard-utilities/src/components}/productGrid/index.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/BackOfficeFiltersIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/BackOfficeFiltersIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/BannersIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/BannersIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/GeneralIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/GeneralIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/HelpIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/HelpIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/InStoreFiltersIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/InStoreFiltersIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/PromoteIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/PromoteIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/RemoveIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/RemoveIcon.js +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/RestoreIcon.d.ts +0 -0
- /package/dist/{icons → dashboard-utilities/src/icons}/RestoreIcon.js +0 -0
- /package/dist/{main.d.ts → dashboard-utilities/src/main.d.ts} +0 -0
- /package/dist/{main.js → dashboard-utilities/src/main.js} +0 -0
- /package/dist/{services → dashboard-utilities/src/services}/API.d.ts +0 -0
- /package/dist/{services → dashboard-utilities/src/services}/API.js +0 -0
- /package/dist/{services → dashboard-utilities/src/services}/landingPage.d.ts +0 -0
- /package/dist/{services → dashboard-utilities/src/services}/landingPage.js +0 -0
- /package/dist/{utils → dashboard-utilities/src/utils}/customTagsFilters.d.ts +0 -0
- /package/dist/{utils → dashboard-utilities/src/utils}/customTagsFilters.js +0 -0
- /package/dist/{utils → dashboard-utilities/src/utils}/useDragToSelect.d.ts +0 -0
- /package/dist/{utils → dashboard-utilities/src/utils}/useDragToSelect.js +0 -0
- /package/dist/{@types → serving/src/@types}/categories.d.ts +0 -0
|
@@ -20,11 +20,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
22
|
import { useEffect, useReducer, useState } from "react";
|
|
23
|
-
import { FastSimonSDK, } from "fast-simon-sdk";
|
|
24
23
|
import { FastState, FastStateFunctions } from "./context";
|
|
25
24
|
import { ThemeProvider } from "react-jss";
|
|
26
25
|
import { fastStateReducer } from "./reducer";
|
|
27
26
|
import { newObject } from "../common";
|
|
27
|
+
import { FullTextSearch } from "../../services/search";
|
|
28
|
+
import { SmartCollections } from "../../services/smartCollections";
|
|
28
29
|
const mainTheme = {
|
|
29
30
|
primaryColor: "#1976d2",
|
|
30
31
|
lighterPrimary: "rgba(25,118,210,0.71)",
|
|
@@ -32,30 +33,6 @@ const mainTheme = {
|
|
|
32
33
|
errorRed: "#ff0033",
|
|
33
34
|
loadingYellow: "#f3b706",
|
|
34
35
|
};
|
|
35
|
-
const report = ({ page, sortBy, categoryID, narrowBy, term }) => {
|
|
36
|
-
if (term) {
|
|
37
|
-
FastSimonSDK.event({
|
|
38
|
-
eventName: "search",
|
|
39
|
-
data: {
|
|
40
|
-
query: term,
|
|
41
|
-
narrowBy,
|
|
42
|
-
sortBy,
|
|
43
|
-
page
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
FastSimonSDK.event({
|
|
49
|
-
eventName: "collection",
|
|
50
|
-
data: {
|
|
51
|
-
categoryID: categoryID,
|
|
52
|
-
narrowBy,
|
|
53
|
-
sortBy,
|
|
54
|
-
page
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
36
|
const FastSimonApi = (_a) => {
|
|
60
37
|
var _b;
|
|
61
38
|
var { storeID, uuid, children, defaultSort, promoTiles = false, theme, withProductAttributes = false, isInfiniteScroll = false, getTitle, useFilters, noReport = false, customTitleChange } = _a, props = __rest(_a, ["storeID", "uuid", "children", "defaultSort", "promoTiles", "theme", "withProductAttributes", "isInfiniteScroll", "getTitle", "useFilters", "noReport", "customTitleChange"]);
|
|
@@ -75,7 +52,8 @@ const FastSimonApi = (_a) => {
|
|
|
75
52
|
recommendations: {},
|
|
76
53
|
singleProducts: {},
|
|
77
54
|
searchWithinSearch: "",
|
|
78
|
-
segments: undefined
|
|
55
|
+
segments: undefined,
|
|
56
|
+
flag: ""
|
|
79
57
|
});
|
|
80
58
|
const [categories, setCategories] = useState([]);
|
|
81
59
|
const { results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments } = state;
|
|
@@ -91,65 +69,157 @@ const FastSimonApi = (_a) => {
|
|
|
91
69
|
function setIsLoading(isLoading) {
|
|
92
70
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setIsLoading', payload: isLoading });
|
|
93
71
|
}
|
|
94
|
-
function setQuery(query) {
|
|
72
|
+
function setQuery(query, flags) {
|
|
95
73
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setQuery', payload: query });
|
|
96
|
-
|
|
74
|
+
// Create the object with the computed property
|
|
75
|
+
let fetchParams = {
|
|
76
|
+
uuid: uuid,
|
|
77
|
+
storeID: storeID,
|
|
97
78
|
term: query,
|
|
98
79
|
sortBy: defaultSort,
|
|
99
|
-
segments: state.segments
|
|
100
|
-
|
|
80
|
+
segments: state.segments,
|
|
81
|
+
withProductAttributes: withProductAttributes,
|
|
82
|
+
};
|
|
83
|
+
if (flags && flags.length > 0) {
|
|
84
|
+
flags.forEach((f) => {
|
|
85
|
+
let flagProp = "disable_" + f;
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
fetchParams[flagProp] = true;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
91
|
+
}
|
|
92
|
+
function setFlag(flags) {
|
|
93
|
+
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setFlag', payload: flags });
|
|
94
|
+
// Create the object with the computed property
|
|
95
|
+
let fetchParams = {
|
|
96
|
+
uuid: uuid,
|
|
97
|
+
storeID: storeID,
|
|
98
|
+
term: state.query,
|
|
99
|
+
narrowBy: state.narrow,
|
|
100
|
+
sortBy: state.defaultSort,
|
|
101
|
+
segments: state.segments,
|
|
102
|
+
categoryID: state.collectionID,
|
|
103
|
+
withProductAttributes: withProductAttributes,
|
|
104
|
+
};
|
|
105
|
+
if (flags.length > 0) {
|
|
106
|
+
flags.forEach((f) => {
|
|
107
|
+
let flagProp = "disable_" + f;
|
|
108
|
+
// Add the dynamic key to the object
|
|
109
|
+
// @ts-ignore
|
|
110
|
+
fetchParams[flagProp] = true;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
101
114
|
}
|
|
102
|
-
function setSortBy(sortBy) {
|
|
115
|
+
function setSortBy(sortBy, flags) {
|
|
103
116
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setSortBy', payload: sortBy });
|
|
104
|
-
|
|
117
|
+
// Create the object with the computed property
|
|
118
|
+
let fetchParams = {
|
|
119
|
+
uuid: uuid,
|
|
120
|
+
storeID: storeID,
|
|
105
121
|
term: state.query,
|
|
106
122
|
narrowBy: state.narrow,
|
|
107
123
|
sortBy: sortBy,
|
|
108
124
|
categoryID: state.collectionID,
|
|
109
|
-
segments: state.segments
|
|
110
|
-
|
|
125
|
+
segments: state.segments,
|
|
126
|
+
withProductAttributes: withProductAttributes,
|
|
127
|
+
};
|
|
128
|
+
if (flags && flags.length > 0) {
|
|
129
|
+
flags.forEach((f) => {
|
|
130
|
+
let flagProp = "disable_" + f;
|
|
131
|
+
// @ts-ignore
|
|
132
|
+
fetchParams[flagProp] = true;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
111
136
|
}
|
|
112
|
-
function setSegments(segments) {
|
|
137
|
+
function setSegments(segments, flags) {
|
|
113
138
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setSegments', payload: segments });
|
|
114
|
-
|
|
139
|
+
let fetchParams = {
|
|
140
|
+
withProductAttributes: withProductAttributes,
|
|
141
|
+
uuid: uuid,
|
|
142
|
+
storeID: storeID,
|
|
115
143
|
term: state.query,
|
|
116
144
|
narrowBy: state.narrow,
|
|
117
145
|
sortBy: state.sortBy,
|
|
118
146
|
categoryID: state.collectionID,
|
|
119
147
|
segments: segments
|
|
120
|
-
}
|
|
148
|
+
};
|
|
149
|
+
if (flags && flags.length > 0) {
|
|
150
|
+
flags.forEach((f) => {
|
|
151
|
+
let flagProp = "disable_" + f;
|
|
152
|
+
// @ts-ignore
|
|
153
|
+
fetchParams[flagProp] = true;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
121
157
|
}
|
|
122
158
|
function setType(type) {
|
|
123
159
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setType', payload: type });
|
|
124
160
|
}
|
|
125
|
-
function setCollectionID(collectionID) {
|
|
161
|
+
function setCollectionID(collectionID, flags) {
|
|
126
162
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setCollectionID', payload: collectionID });
|
|
127
|
-
|
|
163
|
+
// Create the object with the computed property
|
|
164
|
+
let fetchParams = {
|
|
165
|
+
uuid: uuid,
|
|
166
|
+
storeID: storeID,
|
|
128
167
|
categoryID: collectionID,
|
|
129
168
|
sortBy: defaultSort,
|
|
130
169
|
segments: state.segments
|
|
131
|
-
}
|
|
170
|
+
};
|
|
171
|
+
if (flags && flags.length > 0) {
|
|
172
|
+
flags.forEach((f) => {
|
|
173
|
+
let flagProp = "disable_" + f;
|
|
174
|
+
// Add the dynamic key to the object
|
|
175
|
+
// @ts-ignore
|
|
176
|
+
fetchParams[flagProp] = true;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
132
180
|
}
|
|
133
|
-
function setPage(page) {
|
|
181
|
+
function setPage(page, flags) {
|
|
134
182
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setPage', payload: page });
|
|
135
|
-
|
|
183
|
+
let fetchParams = {
|
|
184
|
+
withProductAttributes: withProductAttributes,
|
|
185
|
+
uuid: uuid,
|
|
186
|
+
storeID: storeID,
|
|
136
187
|
term: state.query,
|
|
137
|
-
narrowBy: narrow,
|
|
188
|
+
narrowBy: state.narrow,
|
|
138
189
|
sortBy: state.sortBy,
|
|
139
190
|
categoryID: state.collectionID,
|
|
140
191
|
page: page,
|
|
141
192
|
segments: state.segments
|
|
142
|
-
}
|
|
193
|
+
};
|
|
194
|
+
if (flags && flags.length > 0) {
|
|
195
|
+
flags.forEach((f) => {
|
|
196
|
+
let flagProp = "disable_" + f;
|
|
197
|
+
// @ts-ignore
|
|
198
|
+
fetchParams[flagProp] = true;
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
143
202
|
}
|
|
144
|
-
function setNarrow(narrow) {
|
|
203
|
+
function setNarrow(narrow, flags) {
|
|
145
204
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setNarrow', payload: narrow });
|
|
146
|
-
|
|
205
|
+
let fetchParams = {
|
|
206
|
+
withProductAttributes: withProductAttributes,
|
|
207
|
+
uuid: uuid,
|
|
208
|
+
storeID: storeID,
|
|
147
209
|
term: state.query,
|
|
148
210
|
narrowBy: narrow,
|
|
149
211
|
sortBy: state.sortBy,
|
|
150
212
|
categoryID: state.collectionID,
|
|
151
213
|
segments: state.segments
|
|
152
|
-
}
|
|
214
|
+
};
|
|
215
|
+
if (flags && flags.length > 0) {
|
|
216
|
+
flags.forEach((f) => {
|
|
217
|
+
let flagProp = "disable_" + f;
|
|
218
|
+
// @ts-ignore
|
|
219
|
+
fetchParams[flagProp] = true;
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
153
223
|
}
|
|
154
224
|
function setState(_a) {
|
|
155
225
|
var _b;
|
|
@@ -158,114 +228,62 @@ const FastSimonApi = (_a) => {
|
|
|
158
228
|
console.log("setState", newState);
|
|
159
229
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'setState', payload: newState });
|
|
160
230
|
fetchResults({
|
|
231
|
+
uuid: uuid,
|
|
232
|
+
storeID: storeID,
|
|
161
233
|
term: newState.query,
|
|
162
|
-
narrowBy: newState.narrow,
|
|
234
|
+
narrowBy: newState.narrow ? newState.narrow : undefined,
|
|
163
235
|
sortBy: (_b = newState.sortBy) !== null && _b !== void 0 ? _b : defaultSort,
|
|
164
236
|
categoryID: newState.collectionID,
|
|
165
237
|
page: newState.page,
|
|
166
238
|
segments: newState.segments
|
|
167
239
|
}, Boolean(!results && isInfiniteScroll && newState.page && newState.page > 1));
|
|
168
240
|
}
|
|
169
|
-
function setRecommendations(props) {
|
|
170
|
-
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: "setRecommendations", payload: props });
|
|
171
|
-
}
|
|
172
241
|
function setSingleProducts(products) {
|
|
173
242
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: "setSingleProducts", payload: products });
|
|
174
243
|
}
|
|
175
|
-
function setAutocomplete(results) {
|
|
176
|
-
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: "setAutocomplete", payload: results });
|
|
177
|
-
}
|
|
178
244
|
function setReady(isReady) {
|
|
179
245
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: "setReady", payload: isReady });
|
|
180
246
|
}
|
|
181
|
-
function setSearchWithinSearch(searchWithinSearch) {
|
|
247
|
+
function setSearchWithinSearch(searchWithinSearch, flags) {
|
|
182
248
|
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: "setSearchWithinSearch", payload: searchWithinSearch });
|
|
183
|
-
|
|
249
|
+
let fetchParams = {
|
|
250
|
+
withProductAttributes: withProductAttributes,
|
|
251
|
+
uuid: uuid,
|
|
252
|
+
storeID: storeID,
|
|
184
253
|
term: query,
|
|
185
|
-
narrowBy: narrow,
|
|
186
|
-
sortBy: sortBy,
|
|
187
|
-
categoryID: collectionID,
|
|
188
|
-
page: page,
|
|
254
|
+
narrowBy: state.narrow,
|
|
255
|
+
sortBy: state.sortBy,
|
|
256
|
+
categoryID: state.collectionID,
|
|
257
|
+
page: state.page,
|
|
189
258
|
segments: state.segments,
|
|
190
259
|
searchWithinSearch
|
|
191
|
-
}
|
|
260
|
+
};
|
|
261
|
+
if (flags && flags.length > 0) {
|
|
262
|
+
flags.forEach((f) => {
|
|
263
|
+
let flagProp = "disable_" + f;
|
|
264
|
+
// @ts-ignore
|
|
265
|
+
fetchParams[flagProp] = true;
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
fetchResults(fetchParams, isInfiniteScroll);
|
|
192
269
|
}
|
|
193
270
|
function fetchResults(props, isInfiniteScroll) {
|
|
194
271
|
// on first request check if we need to fetch more then 1 product
|
|
195
|
-
if (!results && isInfiniteScroll && props.page && props.page > 1) {
|
|
196
|
-
FastSimonSDK.getSetup({
|
|
197
|
-
keys: ["products_per_page", "categories_products_per_page"],
|
|
198
|
-
callback: r => {
|
|
199
|
-
if (props.term) {
|
|
200
|
-
onSearch(newObject(Object.assign(Object.assign({}, props), { productsPerPage: r.products_per_page * props.page, page: 1, infiniteScrollPage: props.page })), isInfiniteScroll);
|
|
201
|
-
}
|
|
202
|
-
else if (props.categoryID) {
|
|
203
|
-
onCollection(newObject(Object.assign(Object.assign({}, props), { productsPerPage: r.categories_products_per_page * props.page, page: 1, infiniteScrollPage: props.page })), isInfiniteScroll);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
272
|
if (props.term) {
|
|
210
|
-
onSearch(newObject(Object.assign({}, props)), isInfiniteScroll);
|
|
273
|
+
onSearch(newObject(Object.assign(Object.assign({}, props), { page: props.page || 1, infiniteScrollPage: isInfiniteScroll })), isInfiniteScroll);
|
|
211
274
|
}
|
|
212
275
|
else if (props.categoryID) {
|
|
213
|
-
onCollection(newObject(Object.assign({}, props)), isInfiniteScroll);
|
|
214
|
-
}
|
|
215
|
-
if (!noReport) {
|
|
216
|
-
report(Object.assign({}, props));
|
|
276
|
+
onCollection(newObject(Object.assign(Object.assign({}, props), { page: props.page || 1, infiniteScrollPage: isInfiniteScroll })), isInfiniteScroll);
|
|
217
277
|
}
|
|
218
|
-
|
|
219
|
-
function fetchRecommnedetions({ productID, specs }) {
|
|
220
|
-
if (!state.isReady) {
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
FastSimonSDK.productRecommendation({
|
|
224
|
-
productID,
|
|
225
|
-
specs,
|
|
226
|
-
callback: (response => {
|
|
227
|
-
response.payload.forEach(widget => {
|
|
228
|
-
setRecommendations({
|
|
229
|
-
id: widget.widgetID,
|
|
230
|
-
widget
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
})
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
function fetchSingleProducts(ids) {
|
|
237
|
-
if (!state.isReady) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
FastSimonSDK.getProducts({
|
|
241
|
-
productIds: ids
|
|
242
|
-
}).then(r => {
|
|
243
|
-
setSingleProducts(r);
|
|
244
|
-
}).catch(e => console.warn(e));
|
|
245
|
-
}
|
|
246
|
-
function fetchAutocomplete(query) {
|
|
247
|
-
if (!state.isReady) {
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
FastSimonSDK.instantSearch({
|
|
251
|
-
query,
|
|
252
|
-
callback: response => {
|
|
253
|
-
setAutocomplete(response.payload);
|
|
254
|
-
}
|
|
255
|
-
});
|
|
278
|
+
return;
|
|
256
279
|
}
|
|
257
|
-
useEffect(() => {
|
|
258
|
-
setReady(false);
|
|
259
|
-
FastSimonSDK.initialization({
|
|
260
|
-
storeID, uuid, type, onReady: () => {
|
|
261
|
-
setReady(true);
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
}, [storeID, uuid, type]);
|
|
265
280
|
useEffect(() => {
|
|
266
281
|
function handleSetQueryEvent(event) {
|
|
267
282
|
setQuery(event.detail);
|
|
268
283
|
}
|
|
284
|
+
function handleSetFlagEvent(event) {
|
|
285
|
+
setFlag(event.details);
|
|
286
|
+
}
|
|
269
287
|
function handleSetCollectionEvent(event) {
|
|
270
288
|
setCollectionID(event.detail);
|
|
271
289
|
}
|
|
@@ -299,6 +317,7 @@ const FastSimonApi = (_a) => {
|
|
|
299
317
|
window.addEventListener('fast-simon-update-sort', handleSetSortEvent);
|
|
300
318
|
window.addEventListener('fast-simon-update-narrow', handleSetNarrowEvent);
|
|
301
319
|
window.addEventListener('fast-simon-update-segments', handleSetSegmentsEvent);
|
|
320
|
+
window.addEventListener('fast-simon-update-flag', handleSetFlagEvent);
|
|
302
321
|
return () => {
|
|
303
322
|
window.removeEventListener('fast-simon-update-query', handleSetQueryEvent);
|
|
304
323
|
window.removeEventListener('fast-simon-update-collection', handleSetCollectionEvent);
|
|
@@ -307,78 +326,99 @@ const FastSimonApi = (_a) => {
|
|
|
307
326
|
window.removeEventListener('fast-simon-update-sort', handleSetSortEvent);
|
|
308
327
|
window.removeEventListener('fast-simon-update-narrow', handleSetNarrowEvent);
|
|
309
328
|
window.removeEventListener('fast-simon-update-segments', handleSetSegmentsEvent);
|
|
329
|
+
window.removeEventListener('fast-simon-update-flag', handleSetFlagEvent);
|
|
310
330
|
};
|
|
311
331
|
}, []);
|
|
312
332
|
const onSearch = (props, isInfiniteScroll) => {
|
|
313
333
|
setIsLoading({ products: true, filters: true });
|
|
314
334
|
let resultsMerged = false;
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
335
|
+
FullTextSearch.getReasoningFullTextSearch(Object.assign(Object.assign({}, props), { withAttributes: promoTiles || withProductAttributes })).then((response) => {
|
|
336
|
+
response = getFormatedData(response, props);
|
|
337
|
+
//if (!resultsMerged) {
|
|
338
|
+
mergeResults(response, isInfiniteScroll);
|
|
339
|
+
// resultsMerged = true;
|
|
340
|
+
//} //else {
|
|
341
|
+
// mergeResultsKeepProduct(response);
|
|
342
|
+
// }
|
|
343
|
+
if (!customTitleChange) {
|
|
344
|
+
document.title = `Search Result for ${query}`;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
customTitleChange(results);
|
|
348
|
+
}
|
|
349
|
+
if (!response) {
|
|
350
|
+
setIsLoading({
|
|
351
|
+
filters: true, products: false
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
setIsLoading({
|
|
356
|
+
filters: false, products: false
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
});
|
|
340
360
|
};
|
|
341
361
|
const onCollection = (props, isInfiniteScroll) => {
|
|
342
362
|
setIsLoading({ products: true, filters: true });
|
|
343
363
|
let resultsMerged = false;
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
else {
|
|
359
|
-
customTitleChange(results);
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
if (response.action === "products") {
|
|
363
|
-
setIsLoading({
|
|
364
|
-
filters: true, products: false
|
|
365
|
-
});
|
|
364
|
+
SmartCollections.getSmartCollections(Object.assign(Object.assign({}, props), { withAttributes: promoTiles || withProductAttributes }))
|
|
365
|
+
.then((response) => {
|
|
366
|
+
response = getFormatedData(response, props);
|
|
367
|
+
console.log({ 'resultsMerged': resultsMerged, 'response': response, 'results': results });
|
|
368
|
+
// if (!resultsMerged) {
|
|
369
|
+
mergeResults(response, isInfiniteScroll);
|
|
370
|
+
// resultsMerged = true;
|
|
371
|
+
// } else {
|
|
372
|
+
// mergeResultsKeepProduct(response);
|
|
373
|
+
// }
|
|
374
|
+
getAllCategories().then(r => {
|
|
375
|
+
var _a, _b;
|
|
376
|
+
if (!customTitleChange) {
|
|
377
|
+
document.title = (_b = (_a = r.find(c => c.id === props.categoryID)) === null || _a === void 0 ? void 0 : _a.l) !== null && _b !== void 0 ? _b : "Collection";
|
|
366
378
|
}
|
|
367
379
|
else {
|
|
368
|
-
|
|
369
|
-
filters: false, products: false
|
|
370
|
-
});
|
|
380
|
+
customTitleChange(results);
|
|
371
381
|
}
|
|
372
|
-
}
|
|
382
|
+
});
|
|
383
|
+
});
|
|
373
384
|
};
|
|
374
385
|
const getAllCategories = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
375
386
|
if (categories.length > 0) {
|
|
376
387
|
return new Promise(resolve => resolve(categories));
|
|
377
388
|
}
|
|
378
|
-
const data =
|
|
389
|
+
const data = categories || [];
|
|
379
390
|
setCategories(data);
|
|
380
391
|
return data;
|
|
381
392
|
});
|
|
393
|
+
const getFormatedData = (response, props) => {
|
|
394
|
+
const results = response;
|
|
395
|
+
results.products = response.items;
|
|
396
|
+
delete results.items;
|
|
397
|
+
results.totalResults = response.total_results;
|
|
398
|
+
delete results.total_results;
|
|
399
|
+
if (response.sort_by) {
|
|
400
|
+
results.sortBy = response.sort_by;
|
|
401
|
+
delete results.sort_by;
|
|
402
|
+
}
|
|
403
|
+
if (response.pop_products_no_results) {
|
|
404
|
+
results.isNoResults = true;
|
|
405
|
+
}
|
|
406
|
+
if (response.total_p) {
|
|
407
|
+
results.pageCount = response.total_p;
|
|
408
|
+
delete results.total_p;
|
|
409
|
+
}
|
|
410
|
+
if (response.ancestor_categories) {
|
|
411
|
+
results.ancestors = response.ancestor_categories;
|
|
412
|
+
delete results.ancestor_categories;
|
|
413
|
+
}
|
|
414
|
+
if (response.avoid_tag_prefixes) {
|
|
415
|
+
results.avoidPrefixList = response.avoid_tag_prefixes.split(",");
|
|
416
|
+
}
|
|
417
|
+
results.page = response.p || 1;
|
|
418
|
+
delete results.p;
|
|
419
|
+
return results;
|
|
420
|
+
};
|
|
421
|
+
// @ts-ignore
|
|
382
422
|
return (_jsx(FastStateFunctions.Provider, Object.assign({ value: {
|
|
383
423
|
setQuery,
|
|
384
424
|
setSort: setSortBy,
|
|
@@ -387,11 +427,9 @@ const FastSimonApi = (_a) => {
|
|
|
387
427
|
getAllCategories,
|
|
388
428
|
setCollection: setCollectionID,
|
|
389
429
|
setState,
|
|
390
|
-
fetchRecommnedetions,
|
|
391
|
-
fetchSingleProducts,
|
|
392
|
-
fetchAutocomplete,
|
|
393
430
|
setSearchWithinSearch,
|
|
394
|
-
setSegments
|
|
431
|
+
setSegments,
|
|
432
|
+
setFlag
|
|
395
433
|
} }, { children: _jsx(FastState.Provider, Object.assign({ value: { narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete } }, { children: _jsx(ThemeProvider, Object.assign({ theme: Object.assign(Object.assign({}, mainTheme), theme) }, { children: children })) })) })));
|
|
396
434
|
};
|
|
397
435
|
export default FastSimonApi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FastSimonApi.js","sourceRoot":"","sources":["../../../../../src/components/FastSimonApi/FastSimonApi.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useReducer, useState} from \"react\";\r\nimport {FastState, FastStateFunctions, IsLoading, SetStateProps} from \"./context\";\r\nimport {ThemeProvider} from \"react-jss\";\r\nimport {fastStateReducer} from \"./reducer\";\r\nimport {newObject} from \"../common\";\r\n\r\nimport {SortBy} from \"../../@types/sortBy\";\r\nimport {fullTextSearchProps, FullTextServerResponseAll} from \"../../@types/results\";\r\n\r\nimport {Product} from \"../../@types/product\";\r\nimport {FastCategory, smartCollectionsProps, smartCollectionsResults} from \"../../@types/categories\";\r\nimport {Narrow, ServerNarrow} from \"../../@types/narrow\";\r\nimport {FullTextSearch} from \"../../services/search\";\r\nimport {SmartCollections} from \"../../services/smartCollections\";\r\nimport {Products} from \"../../services/products\";\r\n\r\n\r\n\r\n\r\nexport type AppType = \"SPA\" | \"MPA\";\r\n\r\ninterface Props {\r\n storeID: number;\r\n uuid: string;\r\n type?: AppType;\r\n onReady?: VoidFunction;\r\n cartToken?: string;\r\n defaultSort?: SortBy\r\n collectionID?: string\r\n withProductAttributes?: boolean\r\n promoTiles?: boolean\r\n getTitle?: ({}: { categoryID?: string, query?: string }) => string\r\n isInfiniteScroll?: boolean\r\n useFilters?: boolean\r\n noReport?: boolean\r\n customTitleChange?: (results?: FullTextServerResponseAll | smartCollectionsResults) => void\r\n theme?: Partial<MainTheme>\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport interface MainTheme {\r\n primaryColor: string\r\n lighterPrimary: string\r\n successGreen: string\r\n errorRed: string\r\n loadingYellow: string,\r\n}\r\n\r\nconst mainTheme: MainTheme = {\r\n primaryColor: \"#1976d2\",\r\n lighterPrimary: \"rgba(25,118,210,0.71)\",\r\n successGreen: \"#4BB543\",\r\n errorRed: \"#ff0033\",\r\n loadingYellow: \"#f3b706\",\r\n}\r\n\r\n\r\nconst FastSimonApi: React.FC<Props> = ({\r\n storeID, uuid, children,\r\n defaultSort , promoTiles = false, theme,\r\n withProductAttributes = false, isInfiniteScroll = false, getTitle,\r\n useFilters, noReport = false, customTitleChange, ...props\r\n }) => {\r\n const [state, dispatch] = (useReducer as any)?.(fastStateReducer, {\r\n isReady: false,\r\n type: props.type ?? 'SPA',\r\n page: 1,\r\n query: '',\r\n sortBy: defaultSort,\r\n isLoading: {\r\n products: false,\r\n filters: false,\r\n },\r\n collectionID: props.collectionID,\r\n narrow: undefined,\r\n results: undefined,\r\n recommendations: {},\r\n singleProducts: {},\r\n searchWithinSearch: \"\",\r\n segments: undefined,\r\n flag:\"\"\r\n });\r\n\r\n const [categories, setCategories] = useState<FastCategory[]>([]);\r\n\r\n const {results, isLoading, query, sortBy, type, collectionID, page, narrow, recommendations, singleProducts, isReady, autocomplete, segments\r\n\r\n } = state;\r\n\r\n function setResults(results: FullTextServerResponseAll | smartCollectionsResults | undefined) {\r\n (dispatch as any)?.({type: 'setResults', payload: results});\r\n }\r\n\r\n function mergeResults(results: FullTextServerResponseAll | smartCollectionsResults, infiniteScroll: boolean) {\r\n (dispatch as any)?.({type: 'mergeResults', payload: {results, infiniteScroll}});\r\n }\r\n\r\n function mergeResultsKeepProduct(results: FullTextServerResponseAll | smartCollectionsResults) {\r\n (dispatch as any)?.({type: 'mergeResultsKeepProduct', payload: {results}});\r\n }\r\n\r\n function setIsLoading(isLoading: IsLoading) {\r\n (dispatch as any)?.({type: 'setIsLoading', payload: isLoading});\r\n }\r\n\r\n function setQuery(query: string,flags?:string[]) {\r\n (dispatch as any)?.({type: 'setQuery', payload: query});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: query,\r\n sortBy: defaultSort,\r\n segments: state.segments,\r\n withProductAttributes:withProductAttributes,\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n }\r\n function setFlag(flags: string[]) {\r\n (dispatch as any)?.({type: 'setFlag', payload: flags});\r\n\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n uuid: uuid,\r\n storeID: storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.defaultSort,\r\n segments: state.segments,\r\n categoryID: state.collectionID,\r\n withProductAttributes: withProductAttributes,\r\n };\r\n\r\n if(flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n // Add the dynamic key to the object\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n }\r\n\r\n function setSortBy(sortBy: SortBy,flags?:string[]) {\r\n (dispatch as any)?.({type: 'setSortBy', payload: sortBy});\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments,\r\n withProductAttributes:withProductAttributes,\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n function setSegments(segments: string[],flags?:string[]) {\r\n (dispatch as any)?.({type: 'setSegments', payload: segments});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: segments\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n function setType(type: AppType) {\r\n (dispatch as any)?.({type: 'setType', payload: type});\r\n }\r\n\r\n function setCollectionID(collectionID: string,flags?:string[]) {\r\n (dispatch as any)?.({type: 'setCollectionID', payload: collectionID});\r\n\r\n // Create the object with the computed property\r\n let fetchParams = {\r\n uuid:uuid,\r\n storeID:storeID,\r\n categoryID: collectionID,\r\n sortBy: defaultSort,\r\n segments: state.segments\r\n };\r\n\r\n if(flags && flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n // Add the dynamic key to the object\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n\r\n\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setPage(page: number,flags?:string[]) {\r\n (dispatch as any)?.({type: 'setPage', payload: page});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n page: page,\r\n segments: state.segments\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setNarrow(narrow: Narrow[] | undefined,flags?:string[]) {\r\n (dispatch as any)?.({type: 'setNarrow', payload: narrow});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: state.query,\r\n narrowBy: narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n segments: state.segments\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function setState({...newState}: SetStateProps) {\r\n console.log(\"state\", state);\r\n console.log(\"setState\", newState);\r\n\r\n (dispatch as any)?.({type: 'setState', payload: newState});\r\n\r\n fetchResults({\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: newState.query,\r\n narrowBy: newState.narrow?newState.narrow:undefined,\r\n sortBy: newState.sortBy ?? defaultSort,\r\n categoryID: newState.collectionID,\r\n page: newState.page,\r\n segments: newState.segments\r\n }, Boolean(!results && isInfiniteScroll && newState.page && newState.page > 1));\r\n }\r\n\r\n\r\n function setSingleProducts(products: Product[]) {\r\n (dispatch as any)?.({type: \"setSingleProducts\", payload: products});\r\n }\r\n\r\n\r\n function setReady(isReady: boolean) {\r\n (dispatch as any)?.({type: \"setReady\", payload: isReady});\r\n }\r\n\r\n function setSearchWithinSearch(searchWithinSearch: string,flags?:string[]) {\r\n (dispatch as any)?.({type: \"setSearchWithinSearch\", payload: searchWithinSearch});\r\n\r\n let fetchParams = {\r\n withProductAttributes:withProductAttributes,\r\n uuid:uuid,\r\n storeID:storeID,\r\n term: query,\r\n narrowBy: state.narrow,\r\n sortBy: state.sortBy,\r\n categoryID: state.collectionID,\r\n page: state.page,\r\n segments: state.segments,\r\n searchWithinSearch\r\n };\r\n\r\n if(flags&&flags.length>0)\r\n {\r\n flags.forEach((f)=>{\r\n let flagProp = \"disable_\" + f;\r\n\r\n // @ts-ignore\r\n fetchParams[flagProp as any] = true;\r\n });\r\n }\r\n fetchResults(fetchParams, isInfiniteScroll);\r\n\r\n }\r\n\r\n function fetchResults(props: {\r\n uuid:string, storeID:number, term?: string, page?: number, narrowBy?: Narrow[] | undefined,\r\n sortBy?: SortBy, categoryID?: string, searchWithinSearch?: string, segments?: string[] ,withProductAttributes?:boolean,\r\n disable_semantics?:number,disable_merchandising?:number,disable_strategies?:number,disable_turbolinks?:number,disable_personalization?:number}, isInfiniteScroll: boolean) {\r\n\r\n // on first request check if we need to fetch more then 1 product\r\n\r\n if (props.term) {\r\n onSearch(newObject({\r\n ...props,\r\n page: props.page || 1,\r\n infiniteScrollPage: isInfiniteScroll,\r\n }) as Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll);\r\n } else if (props.categoryID) {\r\n onCollection(newObject({\r\n ...props,\r\n page: props.page || 1,\r\n infiniteScrollPage: isInfiniteScroll,\r\n }) as Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll);\r\n }\r\n\r\n return;\r\n\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n function handleSetQueryEvent(event: any) {\r\n setQuery(event.detail);\r\n }\r\n\r\n function handleSetFlagEvent(event: any){\r\n setFlag(event.details)\r\n\r\n }\r\n function handleSetCollectionEvent(event: any) {\r\n setCollectionID(event.detail);\r\n }\r\n\r\n function handleSetCollectionURLEvent(event: any) {\r\n getAllCategories().then(r => {\r\n const id = r.find(c => c.u === event.detail)?.id;\r\n\r\n if (id) {\r\n setCollectionID(id);\r\n return;\r\n }\r\n\r\n window.location.href = event.detail;\r\n })\r\n }\r\n\r\n function handleSetPageEvent(event: any) {\r\n setPage(event.detail);\r\n }\r\n\r\n function handleSetSortEvent(event: any) {\r\n setSortBy(event.detail);\r\n }\r\n\r\n function handleSetNarrowEvent(event: any) {\r\n setNarrow(event.detail);\r\n }\r\n\r\n function handleSetSegmentsEvent(event: any) {\r\n setSegments(event.detail);\r\n }\r\n window.addEventListener('fast-simon-update-query', handleSetQueryEvent);\r\n window.addEventListener('fast-simon-update-collection', handleSetCollectionEvent);\r\n window.addEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\r\n window.addEventListener('fast-simon-update-page', handleSetPageEvent);\r\n window.addEventListener('fast-simon-update-sort', handleSetSortEvent);\r\n window.addEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\r\n window.addEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\r\n window.addEventListener('fast-simon-update-flag', handleSetFlagEvent);\r\n\r\n return () => {\r\n window.removeEventListener('fast-simon-update-query', handleSetQueryEvent);\r\n window.removeEventListener('fast-simon-update-collection', handleSetCollectionEvent);\r\n window.removeEventListener('fast-simon-update-collection-url', handleSetCollectionURLEvent);\r\n window.removeEventListener('fast-simon-update-page', handleSetPageEvent);\r\n window.removeEventListener('fast-simon-update-sort', handleSetSortEvent);\r\n window.removeEventListener('fast-simon-update-narrow', handleSetNarrowEvent);\r\n window.removeEventListener('fast-simon-update-segments', handleSetSegmentsEvent);\r\n window.removeEventListener('fast-simon-update-flag', handleSetFlagEvent);\r\n }\r\n\r\n }, []);\r\n\r\n const onSearch = (props: Omit<fullTextSearchProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n let resultsMerged = false;\r\n FullTextSearch.getReasoningFullTextSearch({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes,\r\n }).then((response) => {\r\n response=getFormatedData(response,props);\r\n\r\n //if (!resultsMerged) {\r\n mergeResults(response, isInfiniteScroll);\r\n // resultsMerged = true;\r\n //} //else {\r\n // mergeResultsKeepProduct(response);\r\n // }\r\n\r\n if (!customTitleChange) {\r\n document.title = `Search Result for ${query}`;\r\n } else {\r\n customTitleChange(results);\r\n }\r\n\r\n if (!response) {\r\n setIsLoading({\r\n filters: true, products: false\r\n });\r\n } else {\r\n setIsLoading({\r\n filters: false, products: false\r\n });\r\n }\r\n });\r\n }\r\n\r\n const onCollection = (props: Omit<smartCollectionsProps, \"callback\">, isInfiniteScroll: boolean) => {\r\n setIsLoading({products: true, filters: true});\r\n\r\n let resultsMerged = false;\r\n SmartCollections.getSmartCollections({\r\n ...props,\r\n withAttributes: promoTiles || withProductAttributes})\r\n .then( (response) => {\r\n response=getFormatedData(response,props);\r\n console.log({'resultsMerged': resultsMerged, 'response': response, 'results': results});\r\n // if (!resultsMerged) {\r\n mergeResults(response, isInfiniteScroll);\r\n // resultsMerged = true;\r\n // } else {\r\n // mergeResultsKeepProduct(response);\r\n // }\r\n\r\n getAllCategories().then(r => {\r\n if (!customTitleChange) {\r\n document.title = r.find(c => c.id === props.categoryID)?.l ?? \"Collection\";\r\n } else {\r\n customTitleChange(results);\r\n }\r\n });\r\n });\r\n }\r\n\r\n const getAllCategories = async () => {\r\n if (categories.length > 0) {\r\n return new Promise<FastCategory[]>(resolve => resolve(categories))\r\n }\r\n\r\n const data = categories || [];\r\n\r\n setCategories(data)\r\n\r\n return data;\r\n }\r\n\r\n const getFormatedData = (response: any,props:any) => {\r\n const results = response;\r\n\r\n results.products = response.items;\r\n delete results.items;\r\n results.totalResults = response.total_results;\r\n delete results.total_results;\r\n if (response.sort_by) {\r\n results.sortBy = response.sort_by;\r\n delete results.sort_by;\r\n }\r\n\r\n if (response.pop_products_no_results) {\r\n results.isNoResults = true;\r\n }\r\n\r\n if (response.total_p) {\r\n results.pageCount = response.total_p;\r\n delete results.total_p;\r\n }\r\n\r\n\r\n if (response.ancestor_categories) {\r\n results.ancestors = response.ancestor_categories;\r\n delete results.ancestor_categories;\r\n }\r\n\r\n if (response.avoid_tag_prefixes) {\r\n results.avoidPrefixList = response.avoid_tag_prefixes.split(\",\");\r\n }\r\n\r\n results.page = response.p || 1;\r\n delete results.p;\r\n\r\n\r\n return results;\r\n };\r\n\r\n\r\n // @ts-ignore\r\n return (\r\n <FastStateFunctions.Provider\r\n value={{\r\n setQuery,\r\n setSort: setSortBy,\r\n setNarrow,\r\n setPage,\r\n getAllCategories,\r\n setCollection: setCollectionID,\r\n setState,\r\n setSearchWithinSearch,\r\n setSegments,\r\n setFlag\r\n }}>\r\n <FastState.Provider\r\n value={{narrow, results, page, query, sortBy, type, collectionID, isLoading, recommendations, singleProducts, isReady, autocomplete}}>\r\n <ThemeProvider theme={{...mainTheme, ...theme}}>\r\n {children}\r\n </ThemeProvider>\r\n </FastState.Provider>\r\n </FastStateFunctions.Provider>\r\n )\r\n};\r\n\r\nexport default FastSimonApi;"]}
|