@fast-simon/dashboard-utilities 1.0.105 → 1.0.106
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/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/services/landingPage.d.ts +1 -1
- package/dist/services/landingPage.js +4 -11
- package/dist/services/landingPage.js.map +1 -1
- package/package.json +1 -1
- package/dist/services/landingPageTest.d.ts +0 -28
- package/dist/services/landingPageTest.js +0 -80
- package/dist/services/landingPageTest.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -24,7 +24,6 @@ import { useDragToSelect } from "./utils/useDragToSelect";
|
|
|
24
24
|
import { CustomTagsFilters } from "./utils/customTagsFilters";
|
|
25
25
|
import { useProductsPerRow } from "./utils/useProductsPerRow";
|
|
26
26
|
import { LandingPage } from "./services/landingPage";
|
|
27
|
-
import { LandingPageTest } from "./services/landingPageTest";
|
|
28
27
|
import { FullTextSearch } from "./services/search";
|
|
29
28
|
import { getFormatProducts } from "./services/getFormatProducts";
|
|
30
29
|
import { useFastState, useFastStateFunctions } from "./components/FastSimonApi";
|
|
@@ -39,4 +38,4 @@ import { getLSVectorSearchDict, getLSVectorSearchOn } from "./utils/getLSVectorS
|
|
|
39
38
|
import { AutocompleteReasoningResponse } from "./@types/autocomplete";
|
|
40
39
|
import { getUseCacheSetting, setUseCacheSetting } from "./utils/getCacheSettings";
|
|
41
40
|
export type { MenuItemName, CustomClasses, SideMenuType, SideMenuItem, ProductLabelType, Banner, EditorProduct, IconProps, ServerProduct, FullTextServerResponseAll, QueryUnderstanding, smartCollectionsResults, AutocompleteReasoningResponse, FeaturedRanking };
|
|
42
|
-
export { BackOfficeFiltersMenu, InStoreFiltersMenu, Droppable, DndContextWrapper, SortableItem, ProductGrid, RenderIfVisible, useDragToSelect, LandingPage,
|
|
41
|
+
export { BackOfficeFiltersMenu, InStoreFiltersMenu, Droppable, DndContextWrapper, SortableItem, ProductGrid, RenderIfVisible, useDragToSelect, LandingPage, FullTextSearch, BackOfficeFiltersIcon, BannersIcon, HelpIcon, InStoreFiltersIcon, PromoteIcon, RestoreIcon, RemoveIcon, GeneralIcon, videoFormats, isEditorProduct, useFastState, useFastStateFunctions, FastSimonApi, MainTheme, Products, getFormatProducts, useProductsPerRow, ProductLabel, CustomTagsFilters, SelectCard, getLSVectorSearchOn, getLSVectorSearchDict, getUseCacheSetting, setUseCacheSetting };
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,6 @@ import { useDragToSelect } from "./utils/useDragToSelect";
|
|
|
21
21
|
import { CustomTagsFilters } from "./utils/customTagsFilters";
|
|
22
22
|
import { useProductsPerRow } from "./utils/useProductsPerRow";
|
|
23
23
|
import { LandingPage } from "./services/landingPage";
|
|
24
|
-
import { LandingPageTest } from "./services/landingPageTest";
|
|
25
24
|
import { FullTextSearch } from "./services/search";
|
|
26
25
|
import { getFormatProducts } from "./services/getFormatProducts";
|
|
27
26
|
import { useFastState, useFastStateFunctions } from "./components/FastSimonApi";
|
|
@@ -30,5 +29,5 @@ import MainTheme from "./components/FastSimonApi";
|
|
|
30
29
|
import { Products } from "./services/products";
|
|
31
30
|
import { getLSVectorSearchDict, getLSVectorSearchOn } from "./utils/getLSVectorSearch";
|
|
32
31
|
import { getUseCacheSetting, setUseCacheSetting } from "./utils/getCacheSettings";
|
|
33
|
-
export { BackOfficeFiltersMenu, InStoreFiltersMenu, Droppable, DndContextWrapper, SortableItem, ProductGrid, RenderIfVisible, useDragToSelect, LandingPage,
|
|
32
|
+
export { BackOfficeFiltersMenu, InStoreFiltersMenu, Droppable, DndContextWrapper, SortableItem, ProductGrid, RenderIfVisible, useDragToSelect, LandingPage, FullTextSearch, BackOfficeFiltersIcon, BannersIcon, HelpIcon, InStoreFiltersIcon, PromoteIcon, RestoreIcon, RemoveIcon, GeneralIcon, videoFormats, isEditorProduct, useFastState, useFastStateFunctions, FastSimonApi, MainTheme, Products, getFormatProducts, useProductsPerRow, ProductLabel, CustomTagsFilters, SelectCard, getLSVectorSearchOn, getLSVectorSearchDict, getUseCacheSetting, setUseCacheSetting };
|
|
34
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAS,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAgB,eAAe,EAAC,MAAM,wBAAwB,CAAA;AAGrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,qBAAqB,MAAM,oCAAoC,CAAA;AACtE,OAAO,kBAAkB,MAAM,iCAAiC,CAAA;AAChE,OAAO,iBAAiB,MAAM,4CAA4C,CAAA;AAC1E,OAAO,SAAS,MAAM,oCAAoC,CAAA;AAC1D,OAAO,YAAY,MAAM,wCAAwC,CAAA;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAA;AAClE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAS,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAgB,eAAe,EAAC,MAAM,wBAAwB,CAAA;AAGrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,qBAAqB,MAAM,oCAAoC,CAAA;AACtE,OAAO,kBAAkB,MAAM,iCAAiC,CAAA;AAChE,OAAO,iBAAiB,MAAM,4CAA4C,CAAA;AAC1E,OAAO,SAAS,MAAM,oCAAoC,CAAA;AAC1D,OAAO,YAAY,MAAM,wCAAwC,CAAA;AACjE,OAAO,EAAC,YAAY,EAAC,MAAM,uCAAuC,CAAA;AAClE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,2BAA2B,CAAA;AAI7E,OAAO,YAAY,MAAM,wCAAwC,CAAA;AACjE,OAAO,SAAS,MAAM,2BAA2B,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAC,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAErF,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAoB/E,OAAO,EACH,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EACnH,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAC3H,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAC,YAAY,EAAE,qBAAqB,EAAC,YAAY,EAAC,SAAS,EAC9H,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAC,qBAAqB,EACtI,kBAAkB,EAAE,kBAAkB,EACzC,CAAC","sourcesContent":["import {CustomClasses, SideMenuType, SideMenuItem, MenuItemName} from \"./@types/sideMenu\"\nimport {ProductLabelType} from \"./@types/productLabel\"\nimport {videoFormats, Banner} from \"./@types/banner\"\nimport {EditorProduct, isEditorProduct} from \"./@types/editorProduct\"\nimport {IconProps} from \"./@types/iconProps\"\n\nimport {BackOfficeFiltersIcon} from \"./icons/BackOfficeFiltersIcon\"\nimport {BannersIcon} from \"./icons/BannersIcon\"\nimport {HelpIcon} from \"./icons/HelpIcon\"\nimport {InStoreFiltersIcon} from \"./icons/InStoreFiltersIcon\"\nimport {PromoteIcon} from \"./icons/PromoteIcon\"\nimport {RemoveIcon} from \"./icons/RemoveIcon\"\nimport {RestoreIcon} from \"./icons/RestoreIcon\"\nimport {GeneralIcon} from \"./icons/GeneralIcon\"\nimport BackOfficeFiltersMenu from './components/BackOfficeFiltersMenu'\nimport InStoreFiltersMenu from './components/InStoreFiltersMenu'\nimport DndContextWrapper from './components/DragAndDrop/DndContextWrapper'\nimport Droppable from './components/DragAndDrop/Droppable'\nimport ProductLabel from './components/ProductLabel/ProductLabel'\nimport {SortableItem} from './components/DragAndDrop/SortableItem'\nimport ProductGrid from \"./components/productGrid/ProductGrid\";\nimport SelectCard from \"./components/SelectCard/SelectCard\";\nimport RenderIfVisible from \"./components/RenderIfVisible\";\nimport {useDragToSelect} from \"./utils/useDragToSelect\";\nimport {CustomTagsFilters} from \"./utils/customTagsFilters\";\nimport {useProductsPerRow} from \"./utils/useProductsPerRow\";\nimport { LandingPage } from \"./services/landingPage\";\nimport { FullTextSearch } from \"./services/search\";\nimport { getFormatProducts } from \"./services/getFormatProducts\";\nimport {useFastState, useFastStateFunctions} from \"./components/FastSimonApi\"\nimport { ServerProduct } from \"./@types/product\"\nimport { FullTextServerResponseAll, QueryUnderstanding } from \"./@types/results\"\nimport { smartCollectionsResults } from \"./@types/categories\"\nimport FastSimonApi from \"./components/FastSimonApi/FastSimonApi\"\nimport MainTheme from \"./components/FastSimonApi\"\nimport { FeaturedRanking } from \"@fast-simon/utilities/lib/@types/product\"\nimport { Products } from \"./services/products\"\nimport {getLSVectorSearchDict, getLSVectorSearchOn } from \"./utils/getLSVectorSearch\"\nimport { AutocompleteReasoningResponse } from \"./@types/autocomplete\"\nimport {getUseCacheSetting, setUseCacheSetting} from \"./utils/getCacheSettings\"\n// export * from './components';\n\nexport type {\n MenuItemName,\n CustomClasses,\n SideMenuType,\n SideMenuItem,\n ProductLabelType,\n Banner,\n EditorProduct,\n IconProps,\n ServerProduct,\n FullTextServerResponseAll,\n QueryUnderstanding,\n smartCollectionsResults,\n AutocompleteReasoningResponse,\n FeaturedRanking\n};\n\nexport {\n BackOfficeFiltersMenu, InStoreFiltersMenu, Droppable, DndContextWrapper, SortableItem, ProductGrid, RenderIfVisible,\n useDragToSelect, LandingPage, FullTextSearch, BackOfficeFiltersIcon, BannersIcon, HelpIcon, InStoreFiltersIcon, PromoteIcon,\n RestoreIcon, RemoveIcon, GeneralIcon, videoFormats, isEditorProduct,useFastState, useFastStateFunctions,FastSimonApi,MainTheme,\n Products, getFormatProducts, useProductsPerRow, ProductLabel, CustomTagsFilters, SelectCard ,getLSVectorSearchOn,getLSVectorSearchDict,\n getUseCacheSetting, setUseCacheSetting\n};"]}
|
|
@@ -18,7 +18,7 @@ interface LandingPageResponse {
|
|
|
18
18
|
avoid_tag_prefixes?: string;
|
|
19
19
|
}
|
|
20
20
|
export declare const LandingPage: {
|
|
21
|
-
landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, }: any) => Promise<{
|
|
21
|
+
landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }: any) => Promise<{
|
|
22
22
|
data: LandingPageResponse;
|
|
23
23
|
getFacets: () => Promise<import("@fast-simon/utilities").Facet[]>;
|
|
24
24
|
}>;
|
|
@@ -12,7 +12,7 @@ import { fastSimonGet } from "./API";
|
|
|
12
12
|
import { FacetsParser } from "@fast-simon/utilities";
|
|
13
13
|
const BASE_URL = (_a = import.meta.env.VITE_SERVING_BASE_URL) !== null && _a !== void 0 ? _a : "https://internal-v3joil6oqa-uc.a.run.app/search";
|
|
14
14
|
export const LandingPage = {
|
|
15
|
-
landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
const params = {
|
|
17
17
|
UUID: uuid,
|
|
18
18
|
store_id: storeID,
|
|
@@ -26,13 +26,10 @@ export const LandingPage = {
|
|
|
26
26
|
search_within_search: searchWithinResultsQuery
|
|
27
27
|
? searchWithinResultsQuery
|
|
28
28
|
: undefined,
|
|
29
|
-
visual_merchandising:
|
|
30
|
-
? JSON.stringify(visualMerchandising)
|
|
31
|
-
.replaceAll('"[', "[")
|
|
32
|
-
.replaceAll(']"', "]")
|
|
33
|
-
: undefined,
|
|
29
|
+
visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('"[', "[").replaceAll(']"', "]"),
|
|
34
30
|
m: 1,
|
|
35
31
|
merchandising_rules: type == 1 ? JSON.stringify(merchandisingRules) : undefined,
|
|
32
|
+
ids_only: idsOnly ? 1 : undefined,
|
|
36
33
|
};
|
|
37
34
|
const res = yield fastSimonGet(BASE_URL, "landing_page_editor", params);
|
|
38
35
|
return {
|
|
@@ -70,11 +67,7 @@ export const LandingPage = {
|
|
|
70
67
|
search_within_search: searchWithinResultsQuery
|
|
71
68
|
? searchWithinResultsQuery
|
|
72
69
|
: undefined,
|
|
73
|
-
visual_merchandising:
|
|
74
|
-
? JSON.stringify(visualMerchandising)
|
|
75
|
-
.replaceAll('"[', "[")
|
|
76
|
-
.replaceAll(']"', "]")
|
|
77
|
-
: undefined,
|
|
70
|
+
visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('"[', "[").replaceAll(']"', "]"),
|
|
78
71
|
merchandising_rules: merchandisingRules
|
|
79
72
|
? JSON.stringify(merchandisingRules)
|
|
80
73
|
: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../src/services/landingPage.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,EAAM,YAAY,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,YAAY,EAAc,MAAM,uBAAuB,CAAA;AAmD/D,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,mCAAI,iDAAiD,CAAC;AAkB5G,MAAM,CAAC,MAAM,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../src/services/landingPage.ts"],"names":[],"mappings":"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","sourcesContent":["import type {SortBy} from \"../@types/sortBy\";\nimport type {Narrow, ServerNarrow} from \"@fast-simon/utilities\";\nimport {API, fastSimonGet} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {AncestorCategory} from \"../@types/categories\";\nimport {EditorProduct} from \"../@types/editorProduct\";\ninterface LandingPageRequest {\n uuid: string;\n storeID: string;\n landingPage: string\n type: number\n page?: number\n sortBy?: SortBy\n facets?: boolean\n narrow?: Narrow\n productsPerPage?: number\n withProductAttributes?: boolean\n searchWithinResultsQuery?: string\n idsOnly?: boolean\n}\n\ninterface LandingPageFacetsOnly extends Omit<LandingPageRequest, \"facets\"> {\n avoid_tag_prefixes?: string\n}\ninterface LandingPageServerResponseFacetsOnly {\n total_results: number\n term: string\n narrow?: ServerNarrow\n facets_completed: true\n facets: ServerFacet[],\n}\n\ninterface LandingPageServerResponseAll {\n items: EditorProduct[]\n alternatives?: string[]\n facets_completed: boolean\n narrow?: ServerNarrow[]\n p: number\n total_p: number\n total_results: number\n term: string\n lp_slug: string\n title: string\n index_page: number\n banner_html: string\n banner_html_mobile: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n cms_number_found?: number\n within_search_results_for?: string,\n ancestor_categories?: AncestorCategory[]\n}\n\nconst BASE_URL = import.meta.env.VITE_SERVING_BASE_URL ?? \"https://internal-v3joil6oqa-uc.a.run.app/search\";\n\ninterface LandingPageResponse {\n items: EditorProduct[]\n facets_completed: boolean\n narrow?: Narrow[]\n p: number\n total_p: number\n isp_quick_view_mode: number\n related_results: boolean\n total_results: number\n lp_slug: string\n title: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n}\n\nexport const LandingPage = {\n landingPage: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n sortBy = \"relevency\",\n facets = true,\n narrow,\n productsPerPage,\n withProductAttributes = undefined,\n searchWithinResultsQuery,\n type,\n visualMerchandising,\n merchandisingRules,\n idsOnly,\n }: any) => {\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: facets ? 1 : 0,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n lp: landingPage,\n page_num: page,\n type: type,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n m: 1,\n merchandising_rules:\n type == 1 ? JSON.stringify(merchandisingRules) : undefined,\n ids_only: idsOnly ? 1 : undefined,\n };\n const res = await fastSimonGet<LandingPageResponse>(\n BASE_URL,\n \"landing_page_editor\",\n params\n );\n return {\n data: res,\n getFacets: async () =>\n res?.facets_completed\n ? transformFacetsOnlyData(\n res.facets,\n res.avoid_tag_prefixes\n )\n : await LandingPage.landingPageFacetsOnly({\n uuid,\n storeID,\n landingPage,\n page,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes,\n visualMerchandising,\n merchandisingRules,\n }),\n };\n },\n\n landingPageFacetsOnly: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes = false,\n visualMerchandising,\n merchandisingRules\n }: any) => {\n const data = await fastSimonGet<LandingPageServerResponseAll>(\n BASE_URL,\n \"landing_page_editor\",\n {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n type: type,\n lp: landingPage,\n page_num: page ?? 1,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n merchandising_rules: merchandisingRules\n ? JSON.stringify(merchandisingRules)\n : undefined,\n m: 1,\n }\n );\n return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);\n },\n};\n\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
|
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { SortBy } from "../@types/sortBy";
|
|
2
|
-
import type { Narrow } from "@fast-simon/utilities";
|
|
3
|
-
import { ServerFacet } from "@fast-simon/utilities";
|
|
4
|
-
import { EditorProduct } from "../@types/editorProduct";
|
|
5
|
-
interface LandingPageResponse {
|
|
6
|
-
items: EditorProduct[];
|
|
7
|
-
facets_completed: boolean;
|
|
8
|
-
narrow?: Narrow[];
|
|
9
|
-
p: number;
|
|
10
|
-
total_p: number;
|
|
11
|
-
isp_quick_view_mode: number;
|
|
12
|
-
related_results: boolean;
|
|
13
|
-
total_results: number;
|
|
14
|
-
lp_slug: string;
|
|
15
|
-
title: string;
|
|
16
|
-
facets: ServerFacet[];
|
|
17
|
-
sort_by: SortBy;
|
|
18
|
-
avoid_tag_prefixes?: string;
|
|
19
|
-
}
|
|
20
|
-
export declare const LandingPageTest: {
|
|
21
|
-
landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }: any) => Promise<{
|
|
22
|
-
data: LandingPageResponse;
|
|
23
|
-
getFacets: () => Promise<import("@fast-simon/utilities").Facet[]>;
|
|
24
|
-
}>;
|
|
25
|
-
landingPageFacetsOnly: ({ uuid, storeID, landingPage, page, narrow, type, productsPerPage, searchWithinResultsQuery, withProductAttributes, visualMerchandising, merchandisingRules }: any) => Promise<import("@fast-simon/utilities").Facet[]>;
|
|
26
|
-
};
|
|
27
|
-
export declare const transformFacetsOnlyData: (r: ServerFacet[], avoidTagPrefixes?: string) => import("@fast-simon/utilities").Facet[];
|
|
28
|
-
export {};
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { fastSimonGet } from "./API";
|
|
11
|
-
import { FacetsParser } from "@fast-simon/utilities";
|
|
12
|
-
//Todo: change the url back to- import.meta.env.VITE_SERVING_BASE_URL ?? "https://internal-v3joil6oqa-uc.a.run.app/search";
|
|
13
|
-
const BASE_URL = "https://ys1testlpmerch---internal-v3joil6oqa-uc.a.run.app/search";
|
|
14
|
-
export const LandingPageTest = {
|
|
15
|
-
landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const params = {
|
|
17
|
-
UUID: uuid,
|
|
18
|
-
store_id: storeID,
|
|
19
|
-
facets_required: facets ? 1 : 0,
|
|
20
|
-
products_per_page: productsPerPage,
|
|
21
|
-
narrow: JSON.stringify(narrow),
|
|
22
|
-
lp: landingPage,
|
|
23
|
-
page_num: page,
|
|
24
|
-
type: type,
|
|
25
|
-
with_product_attributes: withProductAttributes,
|
|
26
|
-
search_within_search: searchWithinResultsQuery
|
|
27
|
-
? searchWithinResultsQuery
|
|
28
|
-
: undefined,
|
|
29
|
-
visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('"[', "[").replaceAll(']"', "]"),
|
|
30
|
-
m: 1,
|
|
31
|
-
merchandising_rules: type == 1 ? JSON.stringify(merchandisingRules) : undefined,
|
|
32
|
-
ids_only: idsOnly ? 1 : undefined,
|
|
33
|
-
};
|
|
34
|
-
const res = yield fastSimonGet(BASE_URL, "landing_page_editor", params);
|
|
35
|
-
return {
|
|
36
|
-
data: res,
|
|
37
|
-
getFacets: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
-
return (res === null || res === void 0 ? void 0 : res.facets_completed)
|
|
39
|
-
? transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes)
|
|
40
|
-
: yield LandingPageTest.landingPageFacetsOnly({
|
|
41
|
-
uuid,
|
|
42
|
-
storeID,
|
|
43
|
-
landingPage,
|
|
44
|
-
page,
|
|
45
|
-
narrow,
|
|
46
|
-
type,
|
|
47
|
-
productsPerPage,
|
|
48
|
-
searchWithinResultsQuery,
|
|
49
|
-
withProductAttributes,
|
|
50
|
-
visualMerchandising,
|
|
51
|
-
merchandisingRules,
|
|
52
|
-
});
|
|
53
|
-
}),
|
|
54
|
-
};
|
|
55
|
-
}),
|
|
56
|
-
landingPageFacetsOnly: ({ uuid, storeID, landingPage, page = 1, narrow, type, productsPerPage, searchWithinResultsQuery, withProductAttributes = false, visualMerchandising, merchandisingRules }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
-
const data = yield fastSimonGet(BASE_URL, "landing_page_editor", {
|
|
58
|
-
UUID: uuid,
|
|
59
|
-
store_id: storeID,
|
|
60
|
-
facets_required: 2,
|
|
61
|
-
products_per_page: productsPerPage,
|
|
62
|
-
narrow: JSON.stringify(narrow),
|
|
63
|
-
type: type,
|
|
64
|
-
lp: landingPage,
|
|
65
|
-
page_num: page !== null && page !== void 0 ? page : 1,
|
|
66
|
-
with_product_attributes: withProductAttributes,
|
|
67
|
-
search_within_search: searchWithinResultsQuery
|
|
68
|
-
? searchWithinResultsQuery
|
|
69
|
-
: undefined,
|
|
70
|
-
visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('"[', "[").replaceAll(']"', "]"),
|
|
71
|
-
merchandising_rules: merchandisingRules
|
|
72
|
-
? JSON.stringify(merchandisingRules)
|
|
73
|
-
: undefined,
|
|
74
|
-
m: 1,
|
|
75
|
-
});
|
|
76
|
-
return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);
|
|
77
|
-
}),
|
|
78
|
-
};
|
|
79
|
-
export const transformFacetsOnlyData = (r, avoidTagPrefixes) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(",") : []);
|
|
80
|
-
//# sourceMappingURL=landingPageTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"landingPageTest.js","sourceRoot":"","sources":["../../src/services/landingPageTest.ts"],"names":[],"mappings":"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","sourcesContent":["import type {SortBy} from \"../@types/sortBy\";\nimport type {Narrow, ServerNarrow} from \"@fast-simon/utilities\";\nimport {API, fastSimonGet} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {AncestorCategory} from \"../@types/categories\";\nimport {EditorProduct} from \"../@types/editorProduct\";\ninterface LandingPageRequest {\n uuid: string;\n storeID: string;\n landingPage: string\n type: number\n page?: number\n sortBy?: SortBy\n facets?: boolean\n narrow?: Narrow\n productsPerPage?: number\n withProductAttributes?: boolean\n searchWithinResultsQuery?: string\n idsOnly?: boolean\n}\ninterface LandingPageFacetsOnly extends Omit<LandingPageRequest, \"facets\"> {\n avoid_tag_prefixes?: string\n}\n\ninterface LandingPageServerResponseFacetsOnly {\n total_results: number\n term: string\n narrow?: ServerNarrow\n facets_completed: true\n facets: ServerFacet[],\n}\n\ninterface LandingPageServerResponseAll {\n items: EditorProduct[]\n alternatives?: string[]\n facets_completed: boolean\n narrow?: ServerNarrow[]\n p: number\n total_p: number\n total_results: number\n term: string\n lp_slug: string\n title: string\n index_page: number\n banner_html: string\n banner_html_mobile: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n cms_number_found?: number\n within_search_results_for?: string,\n ancestor_categories?: AncestorCategory[]\n}\n\n//Todo: change the url back to- import.meta.env.VITE_SERVING_BASE_URL ?? \"https://internal-v3joil6oqa-uc.a.run.app/search\";\nconst BASE_URL =\"https://ys1testlpmerch---internal-v3joil6oqa-uc.a.run.app/search\";\n\ninterface LandingPageResponse {\n items: EditorProduct[]\n facets_completed: boolean\n narrow?: Narrow[]\n p: number\n total_p: number\n isp_quick_view_mode: number\n related_results: boolean\n total_results: number\n lp_slug: string\n title: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n}\nexport const LandingPageTest = {\n landingPage: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n sortBy = \"relevency\",\n facets = true,\n narrow,\n productsPerPage,\n withProductAttributes = undefined,\n searchWithinResultsQuery,\n type,\n visualMerchandising,\n merchandisingRules,\n idsOnly,\n }: any) => {\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: facets ? 1 : 0,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n lp: landingPage,\n page_num: page,\n type: type,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n m: 1,\n merchandising_rules:\n type == 1 ? JSON.stringify(merchandisingRules) : undefined,\n ids_only: idsOnly ? 1 : undefined,\n };\n const res = await fastSimonGet<LandingPageResponse>(\n BASE_URL,\n \"landing_page_editor\",\n params\n );\n return {\n data: res,\n getFacets: async () =>\n res?.facets_completed\n ? transformFacetsOnlyData(\n res.facets,\n res.avoid_tag_prefixes\n )\n : await LandingPageTest.landingPageFacetsOnly({\n uuid,\n storeID,\n landingPage,\n page,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes,\n visualMerchandising,\n merchandisingRules,\n }),\n };\n },\n\n landingPageFacetsOnly: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes = false,\n visualMerchandising,\n merchandisingRules\n }: any) => {\n const data = await fastSimonGet<LandingPageServerResponseAll>(\n BASE_URL,\n \"landing_page_editor\",\n {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n type: type,\n lp: landingPage,\n page_num: page ?? 1,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n merchandising_rules: merchandisingRules\n ? JSON.stringify(merchandisingRules)\n : undefined,\n m: 1,\n }\n );\n return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);\n },\n};\n\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
|