{"version":3,"file":"Widgets.EmbedPopularSuppliersModal-802ec09bc962d77a4397.js","mappings":"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","sources":["webpack://@whistleout/webui/./Areas/Widgets/js/EmbedPopularSuppliersModal.js","webpack://@whistleout/webui/./Areas/Widgets/js/common/utils/EventHelper.js","webpack://@whistleout/webui/./Areas/Widgets/js/common/common.ts","webpack://@whistleout/webui/./Areas/Widgets/js/common/index.ts","webpack://@whistleout/webui/./Areas/Widgets/js/common/widget.ts"],"sourcesContent":["(function () {\n 'use strict';\n\n function main() {\n\n var page = wo$('#share-popular-providers');\n if (!page.length) return;\n var data = WhistleOut.readLookupData(page);\n\n var controller = {\n init: function () {\n page.find('#embed-code-suppliers, #share-url-suppliers').off('click').click(function () {\n WhistleOut.focusAndSelect(this, true);\n WhistleOut.triggerPopoverNotification(this, data.resources.copied, 'bottom');\n });\n\n page.on('show.bs.modal', function () {\n var url = WhistleOut.replaceQueryString(data.embedInfoUrl, location.search);\n wo$.ajax({\n type: 'GET',\n url: url,\n async: true\n }).done(function (updatedData) {\n data = updatedData;\n controller.updateShareUrl();\n }).always(function () {\n controller.updatePreview(true);\n });\n\n if (page.find('input#showWidgetCode-suppliers').length) {\n page.find('input#showWidgetCode-suppliers').prop('checked', false);\n page.find('input#embed-code-suppliers').addClass('hidden');\n }\n });\n\n page.find('input#showWidgetCode-suppliers').change(function () {\n if (this.checked) {\n page.find('input#embed-code-suppliers').removeClass('hidden');\n page.find('input#embed-code-suppliers').click();\n }\n else {\n page.find('input#embed-code-suppliers').addClass('hidden');\n }\n });\n\n var customHeading = wo$('#custom-headings-suppliers');\n page.find('input#show-heading-suppliers').change(function () {\n customHeading.toggleClass('hidden');\n });\n\n var headingTimeout;\n page.find('input#custom-heading-input-suppliers').on('input', function () {\n clearTimeout(headingTimeout);\n headingTimeout = window.setTimeout(function () {\n controller.updatePreview(true);\n }, 1000);\n });\n\n var subheadingTimeout;\n page.find('input#custom-subheading-input-suppliers').on('input', function () {\n clearTimeout(subheadingTimeout);\n subheadingTimeout = window.setTimeout(function () {\n controller.updatePreview(true);\n }, 1000);\n });\n\n var dataUpdateTimeout;\n page.find('[data-update]').on('change', function () {\n clearTimeout(dataUpdateTimeout);\n dataUpdateTimeout = window.setTimeout(function () {\n controller.updatePreview(true);\n }, 500);\n });\n\n page.find('#amp-suppliers').off('click').on('click', function () {\n controller.updatePreview(false);\n });\n\n page.find('#short-url-suppliers').off('click').click(function () {\n controller.updateShareUrl();\n WhistleOut.focusAndSelect(wo$('#share-url-suppliers'));\n });\n\n wo$(window).on('message',\n function (event) {\n if (event.originalEvent.data && Object.prototype.hasOwnProperty.call(event.originalEvent.data, 'sentinel') && event.originalEvent.data.sentinel === 'whistleout-widget') {\n page.find('#embed-preview-suppliers').height(event.originalEvent.data.height);\n }\n });\n },\n\n getEncodedValue: function (page, element) {\n var value = page.find(element).val();\n return value\n ? encodeURIComponent(WhistleOut.encodeHtml(value))\n : null;\n },\n\n updatePreview: function (refreshWidget) {\n try {\n var maxNumberOfResults = page.find('#max-results-suppliers').val();\n var showHeading = page.find('#show-heading-suppliers').is(':checked');\n\n var query = 'n=' + maxNumberOfResults;\n\n var code;\n var amp = page.find('#amp-suppliers').is(':checked');\n var embedAmpUrl = (data.embedAmpUrl + '?' + query).replace(/&/g, '&');\n\n var heading;\n var subheading;\n if (!showHeading) {\n query = WhistleOut.appendQueryParam(query, 'h=' + showHeading);\n }\n else {\n heading = this.getEncodedValue(page, 'input#custom-heading-input-suppliers');\n if (heading) {\n const p = 'hd=' + heading;\n query = WhistleOut.appendQueryParam(query, p);\n embedAmpUrl = WhistleOut.appendQueryParam(embedAmpUrl, p);\n }\n\n subheading = this.getEncodedValue(page, 'input#custom-subheading-input-suppliers');\n if (subheading) {\n const p = 'shd=' + subheading;\n query = WhistleOut.appendQueryParam(query, p);\n embedAmpUrl = WhistleOut.appendQueryParam(embedAmpUrl, p);\n }\n }\n\n if (amp) {\n code = data.embedAmpFormatString.replace('{ampurl}', embedAmpUrl);\n }\n else {\n var embedUrl = data.embedUrl + '?' + query;\n if (data.encode) {\n embedUrl = embedUrl.replace(/&/g, '&');\n }\n\n var embedIFrameUrl = (data.embedIFrameUrl + '?' + query).replace(/&/g, '&');\n code = data.embedFormatString\n .replace('{url}', embedUrl)\n .replace('{ampurl}', embedAmpUrl)\n .replace('{iframeurl}', embedIFrameUrl);\n }\n\n page.find('#embed-code-suppliers')\n .val(code)\n .css('background-color', 'rgba(255,255,0,.3)')\n .animate({\n backgroundColor: 'white'\n }, 2000);\n\n if (refreshWidget) {\n var previewUrl = WhistleOut.updateQueryStringParameter(data.previewUrl, 'maxresults', maxNumberOfResults);\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'showwidgetheading', showHeading);\n\n if (heading) {\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'hd', heading);\n }\n\n if (subheading) {\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'shd', subheading);\n }\n\n page.find('#embed-preview-suppliers').attr('src', previewUrl);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {\n }\n },\n\n updateShareUrl: function () {\n var url = page.find('#short-url-suppliers').is(':checked') ? data.shareShortUrl : data.shareUrl;\n page.find('#share-url-suppliers').val(url);\n }\n };\n\n controller.init();\n };\n\n WhistleOut.initModule(import.meta.url, main);\n\n}());\n","export function addEventListener(elements, events, handler) {\n _addOrRemoveListener('add', elements, events, handler);\n}\n\nexport function removeEventListener(elements, events, handler) {\n _addOrRemoveListener('remove', elements, events, handler);\n}\n\nexport function _addOrRemoveListener(action, elements, events, handler) {\n const eventsArray = events.split(' ');\n\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n\n for (let j = 0; j < eventsArray.length; j++) {\n const event = eventsArray[j];\n\n if (action === 'add') {\n element.addEventListener(event, handler);\n } else {\n element.removeEventListener(event, handler);\n }\n }\n }\n}\n","/* globals ga */\n\nimport type { WoDataLayerItem } from '../../../Shared/js/@types/WoDataLayer';\nimport { WhistleOutContext } from '../../../Shared/js/common/common';\n\nexport class WhistleOutContextWidget extends WhistleOutContext {\n constructor() {\n super();\n this.scope = 'widget';\n }\n\n pushGtmEvent(category: string, action: string, label: string, value: { nonInteraction: boolean }) {\n try {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const data = analyticsClientSideData.data;\n\n this.pushDataLayerItem({\n event: `wo_${category}_${action}`.toLowerCase(),\n customCategory: category,\n customAction: action,\n customLabel: label,\n customValue: isNaN(value as never) ? undefined : +value,\n customCountry: data.country,\n customProductAreaId: data.productAreaId\n });\n } catch (err) {\n this.Rollbar.error(`WhistleOut.pushGtmEvent: category=${category}, action=${action}, label=${label}`, err);\n }\n }\n\n sendPageView(url: string) {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const config = analyticsClientSideData.config;\n\n try {\n if (config.trackPageImpression) {\n if ((!url || url.length <= 0) && analyticsClientSideData.data)\n url = analyticsClientSideData.data.trackingUrl;\n\n wo$.each(config.accounts, function (index, account) {\n ga('create', account.accountNumber, { name: account.trackerId, useAmpClientId: true }, 'auto');\n if (account.linkIdTracking) {\n ga(account.trackerId + '.require', 'linkid');\n }\n ga(account.trackerId + '.set', 'anonymizeIp', true);\n if (!url || url.length <= 0) {\n ga(account.trackerId + '.send', 'pageview');\n } else {\n ga(account.trackerId + '.send', 'pageview', {\n page: url\n });\n }\n });\n }\n } catch (err) {\n this.Rollbar.error(`WhistleOut.sendPageView url=${url}`, err);\n }\n }\n\n pushGtmWidgetPageView(url: string) {\n try {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const customCountry = analyticsClientSideData.data.country;\n\n if (!url || url.length <= 0) {\n url = analyticsClientSideData.data.trackingUrl;\n }\n\n if (!url || url.length <= 0) url = `${location.pathname}${location.search}`;\n\n const dataLayerValue = {\n event: 'widgetCustomPageView',\n customUrl: url,\n customCountry: customCountry\n };\n\n this.pushDataLayerItem(dataLayerValue);\n } catch (err) {\n this.Rollbar.error('WhistleOut.ushGtmPageView', err);\n }\n }\n\n trackPageView(url?: string) {\n try {\n this.sendPageView(url);\n this.pushGtmWidgetPageView(url);\n } catch (err) {\n this.Rollbar.error(`WhistleOut.trackPageView url=${url}`, err);\n }\n }\n\n encodeHtml(str: string) {\n const el = document.createElement('span');\n el.append(document.createTextNode(str));\n return el.innerHTML;\n }\n\n async init() {\n if (this.isInitRequested) {\n return;\n }\n\n await this.initBase();\n }\n}\n","import '../../../Shared/js/polyfills';\n\nimport { WhistleOutContextWidget as WhistleOutContext } from './common';\nimport { widgetInit } from './widget';\n\n(async () => {\n if (window.WhistleOut.isInitRequested) {\n return;\n }\n\n await import(/* webpackMode: 'eager' */ '../vendor');\n\n // Some properties of window.WhistleOut can be initialised\n // by inline scripts before this main initialisation,\n // so we need to merge it\n window.WhistleOut = Object.assign(new WhistleOutContext(), window.WhistleOut || {});\n\n await window.WhistleOut.init();\n widgetInit();\n})();\n","import { pushDataLayerItemWidget } from '../../../Shared/js/utils/datalayer';\nimport * as EventHelper from './utils/EventHelper';\n\nexport function getWidget() {\n return wo$('#widget');\n}\n\nexport function widgetInit() {\n wo$(function () {\n const widget = getWidget();\n if (!widget.length) return;\n\n const controller = {\n resizeTaskId: null,\n resizeTaskAmpId: null,\n init: function () {\n const amp = widget.data('amp').toLowerCase() === 'true';\n const url = widget.data('url');\n\n const startTime = Date.now();\n pushDataLayerItemWidget({\n event: 'widget_load_begin',\n widget_placement: 'iframe'\n });\n\n const el = widget[0];\n\n if (amp) {\n EventHelper.addEventListener([window, el, el.parentElement], 'resize', this.resizeAmp.bind(this));\n EventHelper.addEventListener([window], 'load', this.resizeAmp.bind(this));\n } else {\n EventHelper.addEventListener([window, el, el.parentElement], 'resize', this.resize.bind(this));\n EventHelper.addEventListener([window], 'load', this.resize.bind(this));\n }\n\n wo$.ajax({\n context: this,\n type: 'GET',\n url: url,\n contentType: 'text/html'\n })\n .done(function (data) {\n widget.find('#widget-content').html(data);\n\n WhistleOut.applyPopover();\n WhistleOut.showTracking();\n\n if (WhistleOut.initWidget) {\n WhistleOut.initWidget();\n }\n })\n .fail(function (jqXHR, textStatus, error) {\n widget.find('#widget-content').html(widget.find('#widget-error').html());\n\n WhistleOut.Rollbar.error(\n `ajax error in Widget.js requesting ${url}, status: ${textStatus}, error: ${error}, responseText: ${jqXHR.responseText}`\n );\n\n pushDataLayerItemWidget({\n event: 'widget_error',\n widget_placement: 'iframe',\n error: error\n });\n })\n .always(() => {\n widget.find('#widget-error').remove();\n widget.find('#widget-loading').remove();\n\n const endTime = Date.now();\n pushDataLayerItemWidget({\n event: 'widget_load_end',\n widget_placement: 'iframe',\n duration: (endTime - startTime) / 1000\n });\n\n if (amp) {\n this.resizeAmp();\n } else {\n this.resize();\n }\n });\n },\n\n resize: function () {\n cancelIdleCallback(this.resizeTaskId);\n this.resizeTaskId = requestIdleCallback(this._resize.bind(this), {\n timeout: 300\n });\n },\n\n _resize: function () {\n window.parent.postMessage(\n {\n sentinel: 'whistleout-widget',\n url: document.location.href,\n height: widget.height()\n },\n '*'\n );\n },\n\n resizeAmp: function () {\n cancelIdleCallback(this.resizeTaskAmpId);\n this.resizeTaskAmpId = requestIdleCallback(this._resizeAmp.bind(this), {\n timeout: 300\n });\n },\n\n _resizeAmp: function () {\n window.parent.postMessage(\n {\n sentinel: 'amp',\n type: 'embed-size',\n height: widget.height()\n },\n '*'\n );\n }\n };\n\n controller.init();\n });\n}\n"],"names":["WhistleOut","initModule","import","page","wo$","length","data","readLookupData","controller","init","find","off","click","focusAndSelect","this","triggerPopoverNotification","resources","copied","on","url","replaceQueryString","embedInfoUrl","location","search","ajax","type","async","done","updatedData","updateShareUrl","always","updatePreview","prop","addClass","change","checked","removeClass","headingTimeout","subheadingTimeout","dataUpdateTimeout","customHeading","toggleClass","clearTimeout","window","setTimeout","event","originalEvent","Object","prototype","hasOwnProperty","call","sentinel","height","getEncodedValue","element","value","val","encodeURIComponent","encodeHtml","refreshWidget","code","heading","subheading","maxNumberOfResults","showHeading","is","query","amp","embedAmpUrl","replace","p","appendQueryParam","embedAmpFormatString","embedUrl","encode","embedIFrameUrl","embedFormatString","css","animate","backgroundColor","previewUrl","updateQueryStringParameter","attr","e","shareShortUrl","shareUrl","addEventListener","elements","events","handler","action","eventsArray","split","i","j","_addOrRemoveListener","WhistleOutContextWidget","constructor","super","scope","pushGtmEvent","category","label","getAnalyticsClientSideData","pushDataLayerItem","toLowerCase","customCategory","customAction","customLabel","customValue","isNaN","undefined","customCountry","country","customProductAreaId","productAreaId","err","Rollbar","error","sendPageView","analyticsClientSideData","config","trackPageImpression","trackingUrl","each","accounts","index","account","ga","accountNumber","name","trackerId","useAmpClientId","linkIdTracking","pushGtmWidgetPageView","pathname","dataLayerValue","customUrl","trackPageView","str","el","document","createElement","append","createTextNode","innerHTML","isInitRequested","initBase","assign","widget","getWidget","widgetInit","resizeTaskId","resizeTaskAmpId","startTime","Date","now","widget_placement","parentElement","resizeAmp","bind","resize","context","contentType","html","applyPopover","showTracking","initWidget","fail","jqXHR","textStatus","responseText","remove","endTime","duration","cancelIdleCallback","requestIdleCallback","_resize","timeout","parent","postMessage","href","_resizeAmp"],"sourceRoot":""}