{"version":3,"file":"lazy-load-pardot-form.legacy.js","mappings":"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","sources":["webpack://frontend-starter/./src/scripts/helpers/lazy-helper.js","webpack://frontend-starter/./src/scripts/lazy-load/lazy-load-pardot-form.js"],"sourcesContent":["export default class LazyHelper {\r\n static addScriptFile(href, id, addToHead, async = true) {\r\n if (LazyHelper.doesScriptExists(href)) {\r\n return;\r\n }\r\n let ev1 = document.createElement('script');\r\n ev1.src = href;\r\n ev1.async = async;\r\n ev1.setAttribute('id', id);\r\n ev1.classList.add('optanon-category-C0001');\r\n if (addToHead) {\r\n document.head.appendChild(ev1);\r\n }\r\n else {\r\n document.body.appendChild(ev1);\r\n }\r\n\r\n return ev1;\r\n }\r\n\r\n static addCssFile(href, addToHead) {\r\n let css = document.createElement('link');\r\n css.rel = 'stylesheet';\r\n css.type = 'text/css';\r\n css.href = href;\r\n css.media = 'all';\r\n css.classList.add('optanon-category-C0001');\r\n\r\n if (addToHead) {\r\n document.head.appendChild(css);\r\n }\r\n else {\r\n document.body.appendChild(css);\r\n }\r\n }\r\n\r\n static waitJqueryToLoad(method) {\r\n if (window.$) {\r\n method();\r\n } else {\r\n setTimeout(function () { LazyHelper.waitJqueryToLoad(method); }, 100);\r\n }\r\n }\r\n\r\n static doesScriptExists(url) {\r\n return document.querySelectorAll(`script[src=\"${url}\"]`).length > 0;\r\n }\r\n}","import { $CombinedState } from 'redux';\r\nimport LazyHelper from '../helpers/lazy-helper';\r\n\r\nconst InitPardomForm = {\r\n init: function () {\r\n document.addEventListener(\"DOMContentLoaded\", function () {\r\n let pardomFormJsUrl = '/Mvc/Scripts/PardotForm/pardotform.min.js';\r\n let jqueryScriptUrl = '/Scripts/libs/jquery.min.js';\r\n let frameResizerUrl = 'https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/3.5.3/iframeResizer.min.js';\r\n let frameResizer;\r\n let frameresizerLoaded = true;\r\n\r\n if ('undefined' == typeof window.jQuery) {\r\n if (!LazyHelper.doesScriptExists(jqueryScriptUrl)) {\r\n LazyHelper.addScriptFile(jqueryScriptUrl, 'jquery', false, false);\r\n }\r\n }\r\n\r\n LazyHelper.waitJqueryToLoad(function () {\r\n if (!LazyHelper.doesScriptExists(frameResizerUrl)) {\r\n frameresizerLoaded = false;\r\n frameResizer = LazyHelper.addScriptFile(frameResizerUrl, 'frameresizer', false, false);\r\n frameResizer.onload = function () {\r\n frameresizerLoaded = true;\r\n var pardotForm = document.querySelector('iframe[id^=\"PardotForm\"].auto-resize');\r\n if (pardotForm !== null) {\r\n iFrameResize({ autoResize: true, checkOrigin: false }, 'iframe');\r\n }\r\n }\r\n }\r\n });\r\n\r\n let fancyBox = document.getElementsByClassName('js-fancybox');\r\n let isJsLoaded = false;\r\n for (let index = 0; index < fancyBox.length; index++) {\r\n let element = fancyBox[index];\r\n element.onclick = function () {\r\n loadPardotForm(element);\r\n element.addEventListener(\"click\", function () {\r\n if (element.classList.contains(\"auto-resize\")) {\r\n $(this).fancybox({\r\n beforeShow: function () {\r\n iFrameResize({ autoResize: true, checkOrigin: false }, '.fancybox-iframe')\r\n $('.fancybox-inner').addClass('full-height');\r\n }\r\n });\r\n }\r\n });\r\n return false;\r\n };\r\n }\r\n\r\n\r\n function loadPardotForm(clickedElement) {\r\n if (isJsLoaded) {\r\n return;\r\n }\r\n\r\n isJsLoaded = true;\r\n let jqueryFancyBoxJsUrl = '/Scripts/libs/fancybox.min.js';\r\n let jqueryFancyBoxCssUrl = '/Scripts/libs/fancybox.min.css';\r\n\r\n LazyHelper.addCssFile(jqueryFancyBoxCssUrl, true);\r\n\r\n LazyHelper.waitJqueryToLoad(function () {\r\n let fancyBox;\r\n let fancyboxLoaded = true;\r\n if (!LazyHelper.doesScriptExists(jqueryFancyBoxJsUrl)) {\r\n fancyboxLoaded = false;\r\n fancyBox = LazyHelper.addScriptFile(jqueryFancyBoxJsUrl, 'jquery-fancybox', false, false);\r\n fancyBox.onload = function () {\r\n fancyboxLoaded = true;\r\n }\r\n }\r\n\r\n if (!LazyHelper.doesScriptExists(pardomFormJsUrl)) {\r\n let scriptsLoadedTimer = setInterval(function () {\r\n if (fancyboxLoaded && frameresizerLoaded) {\r\n clearInterval(scriptsLoadedTimer);\r\n loadPardotFormScript(clickedElement);\r\n }\r\n }, 100);\r\n }\r\n });\r\n\r\n function loadPardotFormScript(clickedElement) {\r\n let pardotForm = LazyHelper.addScriptFile(pardomFormJsUrl, 'pardot-form', false);\r\n\r\n pardotForm.onload = function () {\r\n // Create browser compatible event handler.\r\n var eventMethod = window.addEventListener ? \"addEventListener\" : \"attachEvent\";\r\n var eventer = window[eventMethod];\r\n var messageEvent = eventMethod == \"attachEvent\" ? \"onmessage\" : \"message\";\r\n // Listen for a message from the iframe.\r\n eventer(messageEvent, function (e) {\r\n if (isNaN(e.data)) return;\r\n\r\n // replace iframe[id^=\"PardotForm\"] with what ever what ever iframe id you need\r\n var pardotForm = document.querySelector('iframe[id^=\"PardotForm\"]');\r\n if (pardotForm !== null) {\r\n pardotForm.style.cssText = 'max-width: 100%; height: ' + e.data + 'px;';\r\n }\r\n\r\n var fancyBoxFrame = document.querySelector('iframe[id^=\"fancybox-frame\"]');\r\n if (fancyBoxFrame !== null) {\r\n fancyBoxFrame.style.cssText = 'max-width: 100%;';\r\n }\r\n }, false);\r\n\r\n setTimeout(function () {\r\n clickedElement.click();\r\n }, 100);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\nInitPardomForm.init();"],"names":["LazyHelper","href","id","addToHead","async","doesScriptExists","ev1","document","createElement","src","setAttribute","classList","add","head","appendChild","body","css","rel","type","media","method","window","$","setTimeout","waitJqueryToLoad","url","querySelectorAll","length","addEventListener","pardomFormJsUrl","jqueryScriptUrl","frameResizerUrl","frameresizerLoaded","jQuery","addScriptFile","onload","querySelector","iFrameResize","autoResize","checkOrigin","fancyBox","getElementsByClassName","isJsLoaded","index","element","onclick","clickedElement","jqueryFancyBoxJsUrl","addCssFile","fancyboxLoaded","scriptsLoadedTimer","setInterval","clearInterval","eventMethod","eventer","e","isNaN","data","pardotForm","style","cssText","fancyBoxFrame","click","loadPardotFormScript","loadPardotForm","contains","this","fancybox","beforeShow","addClass"],"sourceRoot":""}