{"version":3,"file":"embedding/child.js","sources":["child.js"],"sourcesContent":["/*----------------------------------------------------------------------------*\\\r\n EMBEDDING.child\r\n child part of the iframe embedding\r\n\\*----------------------------------------------------------------------------*/\r\n\r\n/**\r\n * Use strict as per:\r\n * http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/\r\n */\r\n'use strict';\r\n\r\n\r\n/**\r\n * Check if oy object exists, otherwise create it\r\n */\r\nvar oy = oy || {};\r\noy.embedding = oy.embedding || {};\r\n\r\n\r\n/**\r\n * Jshint global references\r\n * Please define all third party plugins that you use to not break jshinting\r\n */\r\n\r\n\r\n\r\n/* Component\r\n\\*----------------------------------------------------------------------------*/\r\n\r\noy.embedding.child = {\r\n // Gonna fill this later with the origin of the parent\r\n parentOrigin: '',\r\n isInitialised: false,\r\n parentScrollTop: 0,\r\n parentFramePosition: 0,\r\n frameHeight: 0,\r\n parentViewportHeight: 0,\r\n hostName: '',\r\n\r\n\r\n init: function(){\r\n var self = this;\r\n\r\n if (oy.embedding.isEnabled) {\r\n self.isInitialised = true;\r\n self.postHeight();\r\n\r\n window.addEventListener(oy.settings.embedHeightChangeName, function () {\r\n self.postHeight();\r\n }, false);\r\n\r\n fetch('//'+window.location.hostname+'/umbraco/Api/ThirdPartyCookieApi/SetCookieForThirdPartyCheck')\r\n .then(function(){ self.postCookieStatus();\r\n }\r\n );\r\n\r\n }\r\n },\r\n\r\n /**\r\n * Posts height to parent frame\r\n */\r\n postHeight: function() {\r\n var self = this;\r\n if (oy.embedding.isEnabled) {\r\n var height = self._getHeight();\r\n self.frameHeight = height;\r\n window.requestAnimationFrame(function(){\r\n window.parent.postMessage({\r\n 'height': height\r\n }, self.parentOrigin);\r\n });\r\n }\r\n },\r\n postCookieStatus: function() {\r\n var self = this;\r\n if (oy.embedding.isEnabled) {\r\n window.requestAnimationFrame(function(){\r\n\r\n fetch('//'+window.location.hostname+'/umbraco/Api/ThirdPartyCookieApi/GetCookieForThirdPartyCheck')\r\n .then(response => response.json())\r\n .then(function(response){\r\n window.parent.postMessage({\r\n 'thirdpartyCookieSet': response\r\n }, self.parentOrigin);\r\n });\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Get the height of the all child elements of main\r\n */\r\n _getHeight: function () {\r\n var contentIframe = document.querySelectorAll('main > *');\r\n\r\n var height = 0;\r\n\r\n for(var i=0;i= 0 && message.viewportHeight !== undefined) {\r\n oy.embedding.child.parentScrollTop = message.scrollTop;\r\n oy.embedding.child.parentFramePosition = message.framePosition;\r\n oy.embedding.child.parentViewportHeight = message.viewportHeight;\r\n oy.embedding.child.parentDocumentHeight = message.documentHeight;\r\n window.requestAnimationFrame(function(){\r\n window.dispatchEvent(oy.settings.embedScrollChange);\r\n });\r\n }\r\n\r\n }\r\n});\r\n"],"names":[],"mappings":"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","sourceRoot":"/source/"}