{"version":3,"file":"js/application-60e0e69327e73ad49ed9.js","mappings":"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","sources":["webpack://app/./app/packs/entrypoints/application.js"],"sourcesContent":["// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\nimport Rails from \"@rails/ujs\"\nimport Turbolinks from \"turbolinks\"\n\nimport ahoy from \"ahoy.js\"\n\nimport '../images/server.svg'\nimport '../images/task.svg'\nimport '../images/everyday-design.svg'\nimport '../images/scrum-board-2.svg'\nimport '../images/fingerprint.svg'\nimport '../images/success.svg'\nimport '../images/social-update.svg'\nimport '../images/message-received.svg'\nimport '../images/my-password.svg'\nimport '../images/checkbox.svg'\nimport '../images/preview.png'\nimport '../images/motor-logo-3.png'\n\nRails.start()\nTurbolinks.start()\n\nfunction startVideoObserver () {\n if(!!window.IntersectionObserver){\n let observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio === 1 && entry.target.paused) {\n entry.target.play()\n }\n })\n }, { threshold: 1 })\n\n document.querySelectorAll('video').forEach((video) => observer.observe(video))\n }\n}\n\nconst modalHTML = `\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n`\n\n\nconst modalVideoHTML = `\n
\n
\n
\n\n \n\n
\n \n
\n
\n
\n`\n\nfunction openModal (cta = 'Submit', pkg = 'Pro') {\n let container = document.querySelector('[data-role=\"modal\"]')\n\n if (!container) {\n container = document.createElement('div')\n container.setAttribute('data-role', 'modal')\n\n container.innerHTML = modalHTML.replaceAll('%{cta}', cta || 'Submit').replaceAll('%{package}', pkg)\n }\n\n container.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener('click', () => closeModal())\n })\n\n const form = container.querySelector('form')\n\n form.addEventListener('submit', (e) => {\n e.preventDefault()\n\n fetch('/submit', {\n method : \"POST\",\n body: new FormData(form),\n headers:{\n 'X-Original-Referer': originalReferer,\n 'X-Submit-Type': cta\n }\n }).then(() => {\n// form.parentElement.innerHTML = `\n//
\n// Thank you for your request! We will contact you shortly!
\n// \n//
\n// `\n\n form.parentElement.style.maxWidth = '700px'\n form.parentElement.style.textAlign = 'center'\n form.parentElement.innerHTML = `\n ${cta === 'Start Trial' ? '

We received your trial request! You will receive an email with trial instructions shortly

Feel free to book a demo if you have any additional questions

' : ''}\n \n
\n \n
\n `\n\n container.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener('click', () => closeModal())\n })\n })\n\n })\n\n document.body.appendChild(container)\n}\n\nfunction openVideoModal (video) {\n let container = document.querySelector('[data-role=\"modal\"]')\n\n if (!container) {\n container = document.createElement('div')\n container.setAttribute('data-role', 'modal')\n\n container.innerHTML = modalVideoHTML.replace('%{video}', video)\n }\n\n container.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener('click', () => closeModal())\n })\n\n document.body.appendChild(container)\n}\n\nfunction closeModal () {\n window.history.replaceState(window.history.state, \"\", \"#\");\n\n if (document.querySelector('[data-role=\"modal\"] video')) {\n document.querySelector('[data-role=\"modal\"] video').pause()\n }\n\n if (document.querySelector('[data-role=\"modal\"]')) {\n document.querySelector('[data-role=\"modal\"]').remove()\n }\n}\n\nlet originalReferer\n\nahoy.configure({cookies: false})\n\nwindow.onhashchange = function (e) {\n if (e.newURL.includes('#demo')) {\n openVideoModal('https://motor-admin.s3.amazonaws.com/demo.mp4')\n } else {\n closeModal()\n }\n}\n\ndocument.addEventListener('turbolinks:load', (e) => {\n originalReferer ||= document.referrer\n\n dataLayer.push({\n event: 'pageView',\n virtualUrl: e.data.url,\n })\n\n ahoy.track(\"pageView\", { url: document.location.href, original_referer: originalReferer })\n\n if (process.env.NODE_ENV === 'production') {\n startVideoObserver()\n }\n\n document.querySelectorAll(\"input[readonly]\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n dataLayer.push({\n event: 'deployCommand',\n virtualUrl: location.href\n })\n\n ahoy.track(\"deployCommand\", {\n url: document.location.href,\n content: e.value,\n original_referer: originalReferer\n })\n\n e.select()\n })\n })\n\n document.querySelectorAll(\"button[data-role='open-modal']\").forEach((e) => {\n e.addEventListener('click', () => {\n dataLayer.push({\n event: 'openForm',\n virtualUrl: location.href\n })\n\n ahoy.track(\"openForm\", {\n type: \"book-demo\",\n url: document.location.href,\n original_referer: originalReferer\n })\n\n openModal(e.getAttribute('data-cta'))\n })\n })\n\n document.querySelectorAll(\"button[data-role='open-trial']\").forEach((e) => {\n e.addEventListener('click', () => {\n dataLayer.push({\n event: 'openTrial',\n virtualUrl: location.href\n })\n\n ahoy.track(\"openForm\", {\n type: \"start-trial\",\n url: document.location.href,\n original_referer: originalReferer\n })\n\n openModal(e.getAttribute('data-cta'), e.getAttribute('data-package'))\n })\n })\n\n document.querySelectorAll(\"[data-role='open-demo']\").forEach((e) => {\n e.addEventListener('click', () => {\n window.history.pushState({}, \"\", \"#demo\");\n\n dataLayer.push({\n event: 'openVideo',\n virtualUrl: location.href\n })\n\n ahoy.track(\"openVideo\", { type: \"demo\" })\n\n openVideoModal(e.getAttribute('data-src') || 'https://www.getmotoradmin.com/vids/demo.mp4')\n })\n })\n\n document.querySelectorAll(\"[data-role='heroku-deploy-btn']\").forEach((e) => {\n e.addEventListener('click', () => {\n dataLayer.push({\n event: 'deployHeroku',\n virtualUrl: location.href\n })\n\n ahoy.track('deployHeroku', {\n url: document.location.href,\n original_referer: originalReferer\n })\n })\n })\n\n document.querySelectorAll(\"[data-role='railway-deploy-btn']\").forEach((e) => {\n e.addEventListener('click', () => {\n dataLayer.push({\n event: 'deployRailway',\n virtualUrl: location.href\n })\n\n ahoy.track('deployRailway', {\n url: document.location.href,\n original_referer: originalReferer\n })\n })\n })\n\n document.querySelectorAll(\"[data-role='do-deploy-btn']\").forEach((e) => {\n e.addEventListener('click', () => {\n dataLayer.push({\n event: 'deployDO',\n virtualUrl: location.href\n })\n\n ahoy.track('deployDO', {\n url: document.location.href,\n original_referer: originalReferer\n })\n })\n })\n\n document.querySelectorAll(\"[data-role='open-video']\").forEach((e) => {\n e.addEventListener('click', (e) => openVideoModal(e.target.src))\n })\n\n document.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener('click', () => closeModal())\n })\n\n document.addEventListener('keydown', (e) => {\n if(e.keyCode == 27){\n closeModal()\n }\n })\n})\n"],"names":["Rails","Turbolinks","originalReferer","openModal","cta","pkg","container","document","querySelector","createElement","setAttribute","innerHTML","replaceAll","querySelectorAll","forEach","e","addEventListener","closeModal","form","preventDefault","fetch","method","body","FormData","headers","then","parentElement","style","maxWidth","textAlign","appendChild","openVideoModal","video","replace","window","history","replaceState","state","pause","remove","ahoy","cookies","onhashchange","newURL","includes","referrer","dataLayer","push","event","virtualUrl","data","url","location","href","original_referer","IntersectionObserver","observer","entries","entry","intersectionRatio","target","paused","play","threshold","observe","startVideoObserver","content","value","select","type","getAttribute","pushState","src","keyCode"],"sourceRoot":""}