{"version":3,"file":"Widgets.EmbedSearchModal-b57869f3afb52708131b.js","mappings":"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","sources":["webpack://@whistleout/webui/./Areas/Widgets/js/EmbedSearchModal.js","webpack://@whistleout/webui/./Areas/Widgets/js/common/utils/EventHelper.js","webpack://@whistleout/webui/../node_modules/.pnpm/core-js@3.31.1/node_modules/core-js/modules/esnext.iterator.find.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-search-results');\n if (!page.length) return;\n var data = WhistleOut.readLookupData(page);\n\n var controller = {\n init: function () {\n page.find('#embed-code, #share-url').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 if (page.find('input#showWidgetCode').length) {\n page.find('input#showWidgetCode').prop('checked', false);\n page.find('input#embed-code').addClass('hidden');\n }\n });\n\n page.find('input#showWidgetCode').change(function () {\n if (this.checked) {\n page.find('input#embed-code').removeClass('hidden');\n page.find('input#embed-code').click();\n }\n else {\n page.find('input#embed-code').addClass('hidden');\n }\n });\n\n var customHeading = wo$('#custom-headings');\n page.find('input#show-heading').change(function () {\n customHeading.toggleClass('hidden');\n });\n\n var headingTimeout;\n page.find('input#custom-heading-input').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').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').off('click').on('click', function () {\n controller.updatePreview(false);\n });\n\n page.find('#short-url').off('click').click(function () {\n controller.updateShareUrl();\n WhistleOut.focusAndSelect(wo$('#share-url'));\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').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').val();\n var includeFeaturedResults = page.find('#include-featured-results').is(':checked');\n var singleResultPerSupplier = page.find('#single-result-supplier').is(':checked');\n var onlyMonetisedProducts = page.find('#only-monitised-products').is(':checked');\n var showHeading = page.find('#show-heading').is(':checked');\n var showNumbers = page.find('#show-numbers');\n\n var query = 'n=' + maxNumberOfResults;\n if (includeFeaturedResults) query = WhistleOut.appendQueryParam(query, 'f=' + includeFeaturedResults);\n if (!singleResultPerSupplier) query = WhistleOut.appendQueryParam(query, 's=' + singleResultPerSupplier);\n if (onlyMonetisedProducts) query = WhistleOut.appendQueryParam(query, 'm=' + onlyMonetisedProducts);\n\n var code;\n var amp = page.find('#amp').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');\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');\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 (showNumbers.length === 1 && !showNumbers.is(':checked')) {\n query = WhistleOut.appendQueryParam(query, 'sn=false');\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')\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, 'includefeatured', includeFeaturedResults);\n if (singleResultPerSupplier) {\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'maxresultspersupplier', '1');\n }\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'monetised', onlyMonetisedProducts);\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 if (showNumbers.length === 1 && !showNumbers.is(':checked')) {\n previewUrl = WhistleOut.updateQueryStringParameter(previewUrl, 'shownumbers', false);\n }\n\n page.find('#embed-preview').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').is(':checked') ? data.shareShortUrl : data.shareUrl;\n page.find('#share-url').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","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.find` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n find: function find(predicate) {\n anObject(this);\n aCallable(predicate);\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop(value);\n }, { IS_RECORD: true, INTERRUPTED: true }).result;\n }\n});\n","/* globals ga */\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { WhistleOutContext } from '../../../Shared/js/common/common';\nexport class WhistleOutContextWidget extends WhistleOutContext {\n constructor() {\n super();\n this.scope = 'widget';\n }\n pushGtmEvent(category, action, label, value) {\n try {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const data = analyticsClientSideData.data;\n this.pushDataLayerItem({\n event: `wo_${category}_${action}`.toLowerCase(),\n customCategory: category,\n customAction: action,\n customLabel: label,\n customValue: isNaN(value) ? undefined : +value,\n customCountry: data.country,\n customProductAreaId: data.productAreaId\n });\n }\n catch (err) {\n this.Rollbar.error(`WhistleOut.pushGtmEvent: category=${category}, action=${action}, label=${label}`, err);\n }\n }\n sendPageView(url) {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const config = analyticsClientSideData.config;\n try {\n if (config.trackPageImpression) {\n if ((!url || url.length <= 0) && analyticsClientSideData.data)\n url = analyticsClientSideData.data.trackingUrl;\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 }\n else {\n ga(account.trackerId + '.send', 'pageview', {\n page: url\n });\n }\n });\n }\n }\n catch (err) {\n this.Rollbar.error(`WhistleOut.sendPageView url=${url}`, err);\n }\n }\n pushGtmWidgetPageView(url) {\n try {\n const analyticsClientSideData = this.getAnalyticsClientSideData();\n const customCountry = analyticsClientSideData.data.country;\n if (!url || url.length <= 0) {\n url = analyticsClientSideData.data.trackingUrl;\n }\n if (!url || url.length <= 0)\n url = `${location.pathname}${location.search}`;\n const dataLayerValue = {\n event: 'widgetCustomPageView',\n customUrl: url,\n customCountry: customCountry\n };\n this.pushDataLayerItem(dataLayerValue);\n }\n catch (err) {\n this.Rollbar.error('WhistleOut.ushGtmPageView', err);\n }\n }\n trackPageView(url) {\n try {\n this.sendPageView(url);\n this.pushGtmWidgetPageView(url);\n }\n catch (err) {\n this.Rollbar.error(`WhistleOut.trackPageView url=${url}`, err);\n }\n }\n encodeHtml(str) {\n const el = document.createElement('span');\n el.append(document.createTextNode(str));\n return el.innerHTML;\n }\n init() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.isInitRequested) {\n return;\n }\n yield this.initBase();\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport '../../../Shared/js/polyfills';\nimport { WhistleOutContextWidget as WhistleOutContext } from './common';\nimport { widgetInit } from './widget';\n(() => __awaiter(void 0, void 0, void 0, function* () {\n if (window.WhistleOut.isInitRequested) {\n return;\n }\n yield import(/* webpackMode: 'eager' */ '../vendor');\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 yield window.WhistleOut.init();\n widgetInit();\n}))();\n","import { pushDataLayerItemWidget } from '../../../Shared/js/utils/datalayer';\nimport * as EventHelper from './utils/EventHelper';\nexport function getWidget() {\n return wo$('#widget');\n}\nexport function widgetInit() {\n wo$(function () {\n const widget = getWidget();\n if (!widget.length)\n return;\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 const startTime = Date.now();\n pushDataLayerItemWidget({\n event: 'widget_load_begin',\n widget_placement: 'iframe'\n });\n const el = widget[0];\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 }\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 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 WhistleOut.applyPopover();\n WhistleOut.showTracking();\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 WhistleOut.Rollbar.error(`ajax error in Widget.js requesting ${url}, status: ${textStatus}, error: ${error}, responseText: ${jqXHR.responseText}`);\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 const endTime = Date.now();\n pushDataLayerItemWidget({\n event: 'widget_load_end',\n widget_placement: 'iframe',\n duration: (endTime - startTime) / 1000\n });\n if (amp) {\n this.resizeAmp();\n }\n else {\n this.resize();\n }\n });\n },\n resize: function () {\n cancelIdleCallback(this.resizeTaskId);\n this.resizeTaskId = requestIdleCallback(this._resize.bind(this), {\n timeout: 300\n });\n },\n _resize: function () {\n window.parent.postMessage({\n sentinel: 'whistleout-widget',\n url: document.location.href,\n height: widget.height()\n }, '*');\n },\n resizeAmp: function () {\n cancelIdleCallback(this.resizeTaskAmpId);\n this.resizeTaskAmpId = requestIdleCallback(this._resizeAmp.bind(this), {\n timeout: 300\n });\n },\n _resizeAmp: function () {\n window.parent.postMessage({\n sentinel: 'amp',\n type: 'embed-size',\n height: widget.height()\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","maxNumberOfResults","includeFeaturedResults","is","singleResultPerSupplier","onlyMonetisedProducts","showHeading","showNumbers","query","appendQueryParam","heading","subheading","amp","embedAmpUrl","replace","p","embedAmpFormatString","embedUrl","encode","embedIFrameUrl","embedFormatString","css","animate","backgroundColor","previewUrl","updateQueryStringParameter","attr","e","shareShortUrl","shareUrl","addEventListener","elements","events","handler","action","eventsArray","split","i","j","_addOrRemoveListener","$","iterate","aCallable","anObject","getIteratorDirect","target","proto","real","predicate","record","counter","stop","IS_RECORD","INTERRUPTED","result","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","thisArg","generator","isInitRequested","initBase","P","Promise","resolve","reject","fulfilled","step","next","rejected","then","apply","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":""}