{"version":3,"file":"js/einstein-recommendations-default.js","mappings":"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","sources":["webpack://palacio/./cartridges/app_palacio/cartridge/client/default/js/einstein-recommendations-default.js"],"sourcesContent":["/* eslint-disable */\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n loadProductRecommendations();\n loadCategoryRecommendations();\n loadNoAnchorRecommendations();\n});\n\n/**\n * Validates and Return the cquotient namespace provided by the commerce cloud platform\n */\nfunction getEinsteinUtils() {\n var einsteinUtils = window.CQuotient;\n if (einsteinUtils && (typeof einsteinUtils.getCQUserId == 'function') && (typeof einsteinUtils.getCQCookieId == 'function')) {\n return einsteinUtils;\n }\n return null;\n}\n\n/**\n * Gets all product placeholder elements, which hold einstein recommendations queries the details from the \n * einstein engine and feeds them back to the dom element\n */\nfunction loadProductRecommendations() {\n var einsteinUtils = getEinsteinUtils();\n if (einsteinUtils) {\n var recommendationTiles = Array.from(document.querySelectorAll('.einstein-product-recommendations'));\n recommendationTiles.forEach(parentElement => processRecommendationsTile(parentElement, einsteinUtils, createProductAnchor(parentElement)));\n }\n}\n/**\n * Processes a recommendation tile, with an already initialized product specific anchors array\n */\nfunction createProductAnchor(parentElement) {\n var einsteinParameters = parentElement.dataset;\n return [{ id: einsteinParameters.primaryProductId, sku: einsteinParameters.secondaryProductId, type: einsteinParameters.alternativeGroupType, alt_id: einsteinParameters.alternativeGroupId }];\n}\n\n/**\n * Gets all category placeholder elements, which hold einstein recommendations queries the details from the \n * einstein engine and feeds them back to the dom element\n */\nfunction loadCategoryRecommendations() {\n var einsteinUtils = getEinsteinUtils();\n if (einsteinUtils) {\n var recommendationTiles = Array.from(document.querySelectorAll('.einstein-category-recommendations'));\n recommendationTiles.forEach(parentElement => processRecommendationsTile(parentElement, einsteinUtils, createCategoryAnchor(parentElement)));\n }\n}\n/**\n * Rerieves data attributes from parent element and converts to gretel compatible recommenders array\n */\nfunction createCategoryAnchor(parentElement) {\n var einsteinParameters = parentElement.dataset;\n return [{ id: einsteinParameters.categoryId }];\n}\n\n/**\n * Gets all placeholder elements, which hold einstein recommendations queries the details from the \n * einstein engine and feeds them back to the dom element\n */\nfunction loadNoAnchorRecommendations() {\n var einsteinUtils = getEinsteinUtils();\n if (einsteinUtils) {\n var recommendationTiles = Array.from(document.querySelectorAll('.einstein-noanchor-recommendations'));\n recommendationTiles.forEach(parentElement => processRecommendationsTile(parentElement, einsteinUtils));\n }\n}\n\n/**\n * Processes a recommendation tile, with an already initialized category specific anchors array\n */\nfunction processRecommendationsTile(parentElement, einsteinUtils, anchorsArray) {\n var einsteinParameters = parentElement.dataset;\n var recommender = einsteinParameters.recommender;\n \n var params = {\n userId : einsteinUtils.getCQUserId(),\n cookieId : einsteinUtils.getCQCookieId(),\n ccver : '1.01'\n };\n\n if (anchorsArray) {\n params.anchors = anchorsArray;\n };\n \n function recommendationsReceived(einsteinResponse) {\n fillEinsteinDomElement(einsteinResponse, parentElement);\n }\n\n if (einsteinUtils.getRecs) {\n einsteinUtils.getRecs(einsteinUtils.clientId, recommender, params, recommendationsReceived);\n } else {\n einsteinUtils.widgets = einsteinUtils.widgets || [];\n einsteinUtils.widgets.push({\n recommenderName : einsteinParameters.recommender,\n parameters : params,\n callback : recommendationsReceived\n });\n }\n}\n \n/**\n * Renders the einstein response into a given dom element\n */\nfunction fillEinsteinDomElement(einsteinResponse, parentElement) {\n var recommendedProducts = einsteinResponse[parentElement.dataset.recommender].recs;\n\n if (recommendedProducts && recommendedProducts.length > 0) {\n var template = parentElement.dataset.template;\n var components = [];\n var components = recommendedProducts.map(recommendedProduct => {\n var tiledefinition = {};\n tiledefinition.template = template;\n tiledefinition.model = {type: 'product', id : recommendedProduct.id};\n return tiledefinition;\n });\n\n var url = new URL(parentElement.dataset.productLoadUrl)\n url.searchParams.append('components', JSON.stringify(components));\n url.searchParams.append('limit', parentElement.dataset.limit);\n url.searchParams.append('carouselConfig', parentElement.dataset.carouselConfig || '');\n url.searchParams.append('carouselOptions', JSON.stringify(parentElement.dataset.carouselOptions));\n\n fetch(url.href).then((response) => {\n return response.text()\n }).then((html) => {\n parentElement.innerHTML = html;\n });\n }\n}"],"names":["document","addEventListener","loadProductRecommendations","loadCategoryRecommendations","loadNoAnchorRecommendations","getEinsteinUtils","einsteinUtils","window","CQuotient","getCQUserId","getCQCookieId","recommendationTiles","Array","from","querySelectorAll","forEach","parentElement","processRecommendationsTile","createProductAnchor","einsteinParameters","dataset","id","primaryProductId","sku","secondaryProductId","type","alternativeGroupType","alt_id","alternativeGroupId","createCategoryAnchor","categoryId","anchorsArray","recommender","params","userId","cookieId","ccver","anchors","recommendationsReceived","einsteinResponse","fillEinsteinDomElement","getRecs","clientId","widgets","push","recommenderName","parameters","callback","recommendedProducts","recs","length","template","components","map","recommendedProduct","tiledefinition","model","url","URL","productLoadUrl","searchParams","append","JSON","stringify","limit","carouselConfig","carouselOptions","fetch","href","then","response","text","html","innerHTML"],"sourceRoot":""}