{"version":3,"sources":["Content/Logo/LogoProgram.js"],"names":["factory","moduleName","ccs_define","moduleExport","window","ccsJq","$","c","addToCartSelector","qtySpanSelector","eventDataAttr","eventParamsData","productIdAttr","qtyGlobalVariablePrefix","productLinkSelector","atcShownClass","linkShownClass","processedFlag","price","elementSelector","getPriceSelector","priceUrlAttr","parsingPriceJsAttr","runImmediatelyAttr","errorLogCallAttr","fallbackTextAttr","showIfPriceAttr","loadingClass","scanEvents","entryId","$entry","on","e","$el","target","atcIfPriceExists","is","ns","namespace","$priceElement","elementId","attr","$elementAtc","find","children","$elementQty","length","data","closest","addClass","click","$span","this","eventData","clientParams","Qty","ccs_cc_log","dispatchEvent","enableAddToCart","linkIfPriceExists","$element","removeAttr","title","enableProductLink","fallbackText","text","hide","trigger","requestPrice","callback","priceUrl","parsingJs","errorLogCall","errorClientParams","Error","errorEventInfo","logCall","actionContext","type","ajaxRequest","url","dataType","xhr","ajaxSettings","setRequestHeader","name","value","call","success","response","grabPriceRecursive","json","tryConvert","JSON","parse","$html","parsingPriceFunc","Function","result","promise","done","resp","resultType","trim","dispatchDynamicPriceEvent","extend","errorType","exception","error","ajaxStatus","httpStatus","httpCode","status","ajaxCode","isFunction","css_request_price_filter","ajax","convertFunc","additionalEventParams","newContext","stringValue","getEventParams","serverContext","eventClientParams","Et","Action","ActionContext","stringify","detectFeatures","filter","each","show","remove","scanPriceFeatures","document","off","eventInfo","logoProgram","CcsLogoProgram"],"mappings":"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","file":"LogoProgram.min.js","sourcesContent":["(function (factory) {\r\n\tvar moduleName = \"logoProgram\";\r\n\r\n\tif (typeof ccs_define === \"function\") {\r\n\t\tccs_define(moduleName, [\"jquery\"], factory);\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar moduleExport = factory(window.ccsJq);\r\n\tif (typeof moduleExport !== \"undefined\") {\r\n\t\twindow[moduleName] = moduleExport;\r\n\t}\r\n}\r\n\t(function ($) {\r\n\r\n\t\tvar c = {\r\n\t\t\taddToCartSelector: \"[data-logo-addtocart]\",\r\n\t\t\tqtySpanSelector: \".ccs-logo-quantity\",\r\n\t\t\teventDataAttr: \"data-logo-event\",\r\n\t\t\teventParamsData: \"logo-event-params\",\r\n\t\t\tproductIdAttr: \"data-logo-productid\",\r\n\t\t\tqtyGlobalVariablePrefix: \"cclpQuantity\",\r\n\t\t\tproductLinkSelector: \"[data-logo-productlink]\",\r\n\t\t\tatcShownClass: \"ccs-logo-atc-shown\",\r\n\t\t\tlinkShownClass: \"ccs-logo-link-shown\",\r\n\t\t\tprocessedFlag: \"ccsLogoProcessed\",\r\n\r\n\t\t\tprice: {\r\n\t\t\t\telementSelector: \"span[data-logo-dynamic-price]\",\r\n\t\t\t\tgetPriceSelector: \"a[data-logo-getprice]\",\r\n\t\t\t\tpriceUrlAttr: \"data-logo-price-url\",\r\n\t\t\t\tparsingPriceJsAttr: \"data-logo-price-parsingjs\",\r\n\t\t\t\trunImmediatelyAttr: \"data-logo-price-runimmediately\",\r\n\t\t\t\terrorLogCallAttr: \"data-logo-price-error\",\r\n\t\t\t\tfallbackTextAttr: \"data-logo-price-fallback-text\",\r\n\t\t\t\tshowIfPriceAttr: \"data-logo-show-if-price\",\r\n\t\t\t\tloadingClass: \"ccs-logo-price-loading\"\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//#region events feature\r\n\r\n\t\tfunction scanEvents(entryId) {\r\n\t\t\tvar $entry = $(\"#\" + entryId);\r\n\r\n\t\t\t$entry.on(\"ccsPrice.init ccsPrice.success\", function (e) {\r\n\t\t\t\tvar $el = $(e.target);\r\n\r\n\t\t\t\tvar atcIfPriceExists = $el.is(\"[\" + c.price.showIfPriceAttr + \"~=atc]\");\r\n\r\n\t\t\t\tvar ns = e.namespace;\r\n\r\n\t\t\t\tif (!atcIfPriceExists && ns === \"init\" || atcIfPriceExists && ns === \"success\")\r\n\t\t\t\t\tenableAddToCart($entry, $el);\r\n\t\t\t});\r\n\r\n\t\t\t$entry.on(\"ccsPrice.init ccsPrice.success\", function (e) {\r\n\t\t\t\tvar $el = $(e.target);\r\n\r\n\t\t\t\tvar linkIfPriceExists = $el.is(\"[\" + c.price.showIfPriceAttr + \"~=link]\");\r\n\r\n\t\t\t\tvar ns = e.namespace;\r\n\r\n\t\t\t\tif (!linkIfPriceExists && ns === \"init\" || linkIfPriceExists && ns === \"success\")\r\n\t\t\t\t\tenableProductLink($entry, $el);\r\n\t\t\t});\r\n\r\n\t\t\t$entry.on(\"ccsPrice.error\", function (e) {\r\n\t\t\t\tvar $el = $(e.target);\r\n\r\n\t\t\t\tvar fallbackText = $el.attr(c.price.fallbackTextAttr);\r\n\r\n\t\t\t\tif (fallbackText) {\r\n\t\t\t\t\t$el.text(fallbackText);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$el.find(\".\" + c.price.loadingClass).hide();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$entry.find(c.price.elementSelector).trigger(\"ccsPrice.init\");\r\n\t\t}\r\n\r\n\t\tfunction enableAddToCart($entry, $priceElement) {\r\n\t\t\tvar elementId = $priceElement.attr(c.productIdAttr);\r\n\r\n\t\t\tvar $elementAtc = $entry.find(c.addToCartSelector + \"[\" + c.productIdAttr + \"='\" + elementId + \"']\").children();\r\n\t\t\tvar $elementQty = $entry.find(c.qtySpanSelector + \"[\" + c.productIdAttr + \"='\" + elementId + \"']\");\r\n\r\n\t\t\tif ($elementAtc.length === 0 || $elementAtc.data(c.processedFlag))\r\n\t\t\t\treturn;\r\n\r\n\t\t\t$elementAtc.closest(c.addToCartSelector).addClass(c.atcShownClass);\r\n\t\t\t$elementQty.closest(c.qtySpanSelector).addClass(c.atcShownClass);\r\n\r\n\t\t\t$elementAtc\r\n\t\t\t\t.data(c.processedFlag, true)\r\n\t\t\t\t.click(function () {\r\n\t\t\t\t\tvar $span = $(this).closest(c.addToCartSelector);\r\n\t\t\t\t\tvar elementId = $span.attr(c.productIdAttr);\r\n\t\t\t\t\tvar eventData = $span.attr(c.eventDataAttr);\r\n\r\n\t\t\t\t\tvar clientParams = $span.data(c.eventParamsData) || {};\r\n\t\t\t\t\tclientParams.Qty = window[c.qtyGlobalVariablePrefix + elementId] || 1;\r\n\r\n\t\t\t\t\tccs_cc_log.dispatchEvent(eventData, clientParams, 100);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction enableProductLink($entry, $priceElement) {\r\n\t\t\tvar elementId = $priceElement.attr(c.productIdAttr);\r\n\r\n\t\t\tvar $element = $entry.find(c.productLinkSelector + \"[\" + c.productIdAttr + \"='\" + elementId + \"'] a\");\r\n\r\n\t\t\tif ($element.length === 0 || $element.data(c.processedFlag))\r\n\t\t\t\treturn;\r\n\r\n\t\t\t$element\r\n\t\t\t\t.attr(\"href\", $element.attr(\"data-href\"))\r\n\t\t\t\t.removeAttr(\"data-href\");\r\n\r\n\t\t\tvar title = $element.attr(\"data-title\");\r\n\r\n\t\t\tif (title) {\r\n\t\t\t\t$element\r\n\t\t\t\t\t.attr(\"title\", title)\r\n\t\t\t\t\t.removeAttr(\"data-href\");\r\n\t\t\t}\r\n\r\n\t\t\t$element.addClass(c.linkShownClass);\r\n\r\n\t\t\t$element\r\n\t\t\t\t.data(c.processedFlag, true)\r\n\t\t\t\t.click(function () {\r\n\t\t\t\t\tvar $span = $(this).closest(c.productLinkSelector);\r\n\t\t\t\t\tvar eventData = $span.attr(c.eventDataAttr);\r\n\t\t\t\t\tvar clientParams = $span.data(c.eventParamsData) || {};\r\n\r\n\t\t\t\t\tccs_cc_log.dispatchEvent(eventData, clientParams, 100);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\t//#endregion\r\n\r\n\t\t//#region dynamic price feature\r\n\r\n\t\tfunction scanPriceFeatures(entryId) {\r\n\t\t\tvar $entry = $(\"#\" + entryId);\r\n\r\n\t\t\t$entry\r\n\t\t\t\t.find(c.price.elementSelector)\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\treturn !$(this).data(c.processedFlag);\r\n\t\t\t\t})\r\n\t\t\t\t.data(c.processedFlag, true)\r\n\t\t\t\t.each(function () {\r\n\t\t\t\t\tvar $priceElement = $(this);\r\n\r\n\t\t\t\t\tvar priceUrl = $priceElement.attr(c.price.priceUrlAttr);\r\n\t\t\t\t\tvar parsingJs = $priceElement.attr(c.price.parsingPriceJsAttr);\r\n\t\t\t\t\tvar errorLogCall = $priceElement.attr(c.price.errorLogCallAttr);\r\n\r\n\t\t\t\t\tvar callback = function(e) {\r\n\t\t\t\t\t\tvar result = (e.result || \"\").trim();\r\n\r\n\t\t\t\t\t\tif (result) {\r\n\t\t\t\t\t\t\t$priceElement.text(result);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t$priceElement.trigger(\"ccsPrice.\" + (result ? \"success\" : \"error\"));\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif ($priceElement.attr(c.price.runImmediatelyAttr)) {\r\n\t\t\t\t\t\t$priceElement.find(\".\" + c.price.loadingClass).show();\r\n\t\t\t\t\t\trequestPrice(callback, priceUrl, parsingJs, errorLogCall);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$priceElement.on(\"click\", c.price.getPriceSelector,\r\n\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\t$priceElement.find(\".\" + c.price.loadingClass).show();\r\n\t\t\t\t\t\t\t\t$(this).remove();\r\n\t\t\t\t\t\t\t\trequestPrice(callback, priceUrl, parsingJs, errorLogCall);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction requestPrice(callback, priceUrl, parsingJs, errorLogCall, errorClientParams) {\r\n\t\t\tif (!callback || !priceUrl || !parsingJs) {\r\n\t\t\t\tthrow new Error('Can\\'t request price: missing function argiments.');\r\n\t\t\t}\r\n\r\n\t\t\tvar errorEventInfo = errorLogCall\r\n\t\t\t\t? {\r\n\t\t\t\t\tlogCall: errorLogCall,\r\n\t\t\t\t\tactionContext: { type: \"dynamicPrice\", priceUrl: priceUrl }\r\n\t\t\t\t}\r\n\t\t\t\t: null;\r\n\r\n\t\t\tvar ajaxRequest = {\r\n\t\t\t\turl: priceUrl,\r\n\t\t\t\tdataType: \"text\", // We expect text response only.\r\n\t\t\t\txhr: function () {\r\n\t\t\t\t\tvar xhr = $.ajaxSettings.xhr();\r\n\t\t\t\t\tvar setRequestHeader = xhr.setRequestHeader;\r\n\t\t\t\t\txhr.setRequestHeader = function(name, value) {\r\n\t\t\t\t\t\tif (name === \"X-Requested-With\")\r\n\t\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t\tsetRequestHeader.call(this, name, value);\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn xhr;\r\n\t\t\t\t},\r\n\t\t\t\tsuccess: function (response) {\r\n\t\t\t\t\tgrabPriceRecursive(response, callback, parsingJs, errorEventInfo);\r\n\t\t\t\t},\r\n\t\t\t\terror: function (e, ajaxStatus, httpStatus) {\r\n\t\t\t\t\tif (errorEventInfo && ajaxStatus !== \"abort\" && ajaxStatus !== \"timeout\") { //Network problem or page reload are not dynamic pricing problems\r\n\t\t\t\t\t\tdispatchDynamicPriceEvent(\r\n\t\t\t\t\t\t\terrorEventInfo.logCall,\r\n\t\t\t\t\t\t\t$.extend(\r\n\t\t\t\t\t\t\t\terrorEventInfo.actionContext,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\terrorType: \"ajax\",\r\n\t\t\t\t\t\t\t\t\thttpCode: e.status, // renamed to ajaxCode TODO: remove httpCode after transition period.\r\n\t\t\t\t\t\t\t\t\tajaxCode: e.status,\r\n\t\t\t\t\t\t\t\t\tajaxStatus: ajaxStatus,\r\n\t\t\t\t\t\t\t\t\thttpStatus: httpStatus\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\terrorClientParams);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcallback({ error: e });\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tif ($.isFunction(window.css_request_price_filter)) {\r\n\t\t\t\twindow.css_request_price_filter(ajaxRequest);\r\n\t\t\t}\r\n\r\n\t\t\t$.ajax(ajaxRequest);\r\n\t\t}\r\n\r\n\t\tfunction grabPriceRecursive(response, callback, parsingJs, errorEventInfo) {\r\n\t\t\ttry {\r\n\t\t\t\tvar json = tryConvert(response, JSON.parse);\r\n\t\t\t\tvar $html = tryConvert(response, $);\r\n\r\n\t\t\t\tvar parsingPriceFunc = new Function(\"$\", \"raw\", \"$html\", \"json\", parsingJs);\r\n\t\t\t\tvar result = parsingPriceFunc($, response, $html, json);\r\n\r\n\t\t\t\tif (result && result.promise) {\r\n\t\t\t\t\tresult.done(function (resp) {\r\n\t\t\t\t\t\tgrabPriceRecursive(resp, callback, parsingJs, errorEventInfo);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar resultType = typeof result;\r\n\t\t\t\t\tif (resultType === \"number\") {\r\n\t\t\t\t\t\tresult = \"\" + result;\r\n\t\t\t\t\t} else if (resultType !== \"string\") {\r\n\t\t\t\t\t\tresult = \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (errorEventInfo && $.trim(result) === \"\") {\r\n\t\t\t\t\t\tdispatchDynamicPriceEvent(\r\n\t\t\t\t\t\t\terrorEventInfo.logCall,\r\n\t\t\t\t\t\t\t$.extend(\r\n\t\t\t\t\t\t\t\terrorEventInfo.actionContext,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\terrorType: \"emptyResult\"\r\n\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcallback({ result: result });\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tif (errorEventInfo) {\r\n\t\t\t\t\tdispatchDynamicPriceEvent(\r\n\t\t\t\t\t\terrorEventInfo.logCall,\r\n\t\t\t\t\t\t$.extend(\r\n\t\t\t\t\t\t\terrorEventInfo.actionContext,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\terrorType: \"parsingException\",\r\n\t\t\t\t\t\t\t\texception: e.name\r\n\t\t\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcallback({ error: e });\r\n\t\t\t\tthrow e;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction tryConvert(response, convertFunc) {\r\n\t\t\ttry {\r\n\t\t\t\treturn convertFunc($.trim(response));\r\n\t\t\t} catch (e) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction dispatchDynamicPriceEvent(eventData, actionContext, additionalEventParams) {\r\n\t\t\tif (!eventData) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar newContext = actionContext;\r\n\r\n\t\t\tvar stringValue = ccs_cc_log.getEventParams(eventData)[\"ActionContext\"];\r\n\t\t\tif (stringValue) {\r\n\t\t\t\tvar serverContext = JSON.parse(stringValue);\r\n\t\t\t\tnewContext = $.extend({}, serverContext, actionContext);\r\n\t\t\t}\r\n\r\n\t\t\tvar eventClientParams = { Et: \"Submit\", Action: \"error\", ActionContext: JSON.stringify(newContext) };\r\n\r\n\t\t\tif (additionalEventParams) {\r\n\t\t\t\teventClientParams = $.extend(eventClientParams, additionalEventParams);\r\n\t\t\t}\r\n\r\n\t\t\tccs_cc_log.dispatchEvent(eventData, eventClientParams);\r\n\t\t}\r\n\r\n\t\t//#endregion\r\n\r\n\t\tfunction detectFeatures(entryId) {\r\n\t\t\tscanEvents(entryId);\r\n\t\t\tscanPriceFeatures(entryId);\r\n\t\t}\r\n\r\n\r\n\r\n\t\t$(document).off(\"ccs.logo-shown\").on(\"ccs.logo-shown\", function (e, eventInfo) {\r\n\t\t\tdetectFeatures(eventInfo.entryId);\r\n\t\t});\r\n\r\n\t\tvar logoProgram = {\r\n\t\t\tdetectFeatures: detectFeatures,\r\n\t\t\tscanEvents: scanEvents,\r\n\t\t\trequestPrice: requestPrice\r\n\t\t};\r\n\r\n\t\treturn window.CcsLogoProgram = logoProgram;\r\n\r\n}));\r\n"],"sourceRoot":"../.."}