{"version":3,"file":"sf.ext.js","mappings":"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","sources":["webpack://sssp/./src/sf.ext.js"],"sourcesContent":["/* eslint-disable camelcase */\nvar sf = {};\nsf.ext = {};\n\n// interni conf\nvar _conf = {};\n_conf.protocol = location.protocol.match(/s/i) ? 'https' : 'http';\n\n// jmeno instance SF v parent window\nsf._nameSF = '';\n\n// var _cbs = {};\nvar _runingExpand = false;\nvar _runingCollapse = false;\nvar _status = 'collapsed';\n\nvar _origin = '*';\n\nvar geom_info = null;\n\n// je registrovan posluchac\nsf.is_registered = false;\nsf.sandbox_cb = null;\n\n// posluchac z iframe\nsf._listen = function (e) {\n try {\n var d = JSON.parse(e.data);\n if (d.method !== 'init' && d.sfName !== sf._nameSF) {\n return;\n }\n switch (d.method) {\n case 'init':\n _origin = e.origin;\n sf._init(d);\n break;\n case 'geom':\n sf._updateGeom(d);\n break;\n case 'expand':\n sf._expandDone(d);\n break;\n case 'collapse':\n sf._collapseDone(d);\n break;\n case 'cookie':\n sf._cookieDone(d);\n break;\n }\n } catch (err) {\n // Nothing happens\n }\n};\n\nwindow.addEventListener('message', sf._listen);\n\n// posila data rodici\nsf._sendData = function (data) {\n // mam jiz ulozny pozadavek daneho typu - collapse, expandd, ...\n //if(!(type in _cbs)) {\n //_cbs[type] = cb; // ulozim callback fci do objektu callbacku\n\n data.sfName = sf._nameSF; // tohle posleme vzdy kvuli identifikaci;\n if (window.parent.postMessage) {\n window.parent.postMessage(JSON.stringify(data), _origin);\n }\n //}\n};\n\n// zavola se pri inicializaci iframu, kdyz parent posle info\nsf._init = function (d) {\n // internal\n sf._nameSF = d.sfName;\n\n window.adData = window.adData || {};\n window.adData.dsp = d.dsp;\n\n if (d.said) {\n window.adData.said = d.said;\n }\n\n window.dispatchEvent(new CustomEvent('adDataAccessible', { detail: d }));\n\n // SF specific\n geom_info = d.geom_info;\n\n sf._callsandboxCallback('ready', d);\n};\n\nsf._callsandboxCallback = function (status, data) {\n if (!sf.is_registered) {\n return;\n }\n sf.sandbox_cb(status, data);\n};\n\n// update geom data z postMessage pri resize ci scrollu v parentovi\nsf._updateGeom = function (d) {\n geom_info = d.geom_info;\n sf._callsandboxCallback('geom-update', { cmd: '' });\n};\n\nsf._expandDone = function () {\n _runingExpand = false;\n // podminku na failed\n _status = 'expanded';\n sf._callsandboxCallback('expanded', { cmd: '' });\n};\n\nsf._collapseDone = function () {\n _runingCollapse = false;\n _status = 'collapsed';\n sf._callsandboxCallback('collapsed', { cmd: '' });\n};\n\nsf._cookieDone = function (d) {\n if (d.status.cmd === 'read-cookie') {\n sf._callsandboxCallback('', { cmd: d.status.cmd, info: d.cookie, reason: 'OK' });\n } else {\n sf._callsandboxCallback('', { cmd: d.status.cmd, info: '', reason: 'OK' });\n }\n};\n\nsf._hidePaw = function () {\n const setHidden = () => {\n const seznamControls = document.getElementById('seznamControls');\n const packaClass = document.getElementsByClassName('packa');\n let done = false;\n if (seznamControls) {\n seznamControls.style = 'display: none';\n done = true;\n }\n if (packaClass && packaClass.length > 0) {\n for (var i = 0; i < packaClass.length; i++) {\n packaClass[i].style = 'display: none';\n }\n done = true;\n }\n return done;\n };\n let removePawRetry = 0;\n if (!setHidden()) {\n const intervalID = window.setInterval(() => {\n if (setHidden() || ++removePawRetry > 10) {\n window.clearInterval(intervalID);\n window.removeEventListener('load', sf._hidePaw);\n }\n }, 50);\n } else {\n window.removeEventListener('load', sf._hidePaw);\n }\n};\n\nif (document.readyState !== 'complete') {\n window.addEventListener('load', sf._hidePaw);\n} else {\n sf._hidePaw();\n}\n\n// ########################################################################\n\nvar conf = {};\n// podporovane prostredky\n// musi se predat z hosta pri vytvoreni iframu\nconf.support = {\n 'exp-ovr': true,\n 'exp-push': true,\n 'read-cookie': true,\n 'write-cookie': true,\n};\n\nsf.ext.register = function (width, height, cb) {\n if (sf.is_registered) {\n return;\n }\n\n sf.is_registered = true;\n sf.sandbox_cb = cb;\n sf._sendData({\n method: 'register',\n baseDimensions: { width, height },\n });\n};\n\nsf.ext.supports = function (key) {\n if (typeof key === 'undefined') {\n return conf.support;\n }\n\n return key in conf.support;\n};\n\nsf.ext.geom = function () {\n return geom_info;\n};\n\n/**\n * Expand safe frame by resizeDimensions\n *\n * @param {*} resizeDimensions Object with top, right, bottom left position and push parameter.\n * For example {b: 100, r: 200, push: true}: bottom=100, right=200 and make position static on the screen.\n * @param config Can be used to adjust expand behavior.\n * - pawTimeout: miliseconds timeout after we show paw symbol on bottom right corner\n * - resizeTimeout: miliseconds timeout operation is done\n */\nsf.ext.expand = function (resizeDimensions, config) {\n if (_runingExpand || _status === 'expanded') {\n return;\n }\n\n _runingExpand = true;\n\n // potrebujeme objekt s rozmery pro zvetseni\n if (!resizeDimensions) {\n return;\n }\n\n // zkontorluj s povolenymi rozmery\n var extAllowed = geom_info.exp;\n for (var o in extAllowed) {\n if (extAllowed.hasOwnProperty(o) && resizeDimensions[o] && resizeDimensions[o] > extAllowed[o]) {\n _runingExpand = false;\n throw new Error('No valid or over limit resize dimensions');\n }\n }\n\n config = config || {};\n // posli nahoru info o zvetseni\n sf._sendData({ method: 'expand', resizeDimensions, config });\n};\n\n/**\n * Collapse safe frame to default.\n *\n * @param config Can be used to adjust expand behavior.\n * - pawTimeout: miliseconds timeout after we show paw symbol on bottom right corner\n * - resizeTimeout: miliseconds timeout operation is done\n */\nsf.ext.collapse = function (config) {\n if (_runingCollapse) {\n return;\n }\n _runingCollapse = true;\n\n config = config || {};\n // posli nahoru info o zvetseni\n sf._sendData({ method: 'collapse', config });\n};\n\n/**\n *\n * @param {Object} options - config object\n * @param {Number} options.width\n * @param {Number} options.height\n * @param {Number} options.x\n * @param {Number} options.y\n * @param {Number} options.allowOffscreen\n * @param {Number} options.push\n */\nsf.ext.setResizeProperties = function (options) {\n sf._sendData({\n method: 'setResizeProperties',\n options,\n });\n};\n\nsf.ext.status = function () {\n var status = _status;\n if (_runingExpand) {\n status = 'expanding';\n }\n if (_runingCollapse) {\n status = 'collapsing';\n }\n\n return status;\n};\n\nsf.ext.meta = function () {};\n\nsf.ext.cookie = function (cookieName, cookieData) {\n if (!sf.is_registered) {\n return;\n }\n\n if (!cookieName) {\n sf._callsandboxCallback('failed');\n return;\n } // neni jmeno nuedelame nic\n if (cookieData && !cookieData.info) {\n sf._callsandboxCallback('failed', { cmd: 'write-cookie' });\n return;\n } // error nejsou informace k zapsani\n if (cookieData) {\n if (conf.support['write-cookie']) {\n sf._sendData({ method: 'cookie', cookieName, cookieData });\n } else {\n sf._callsandboxCallback('failed', { cmd: 'write-cookie' });\n }\n } else {\n if (conf.support['read-cookie']) {\n sf._sendData({ method: 'cookie', cookieName });\n } else {\n sf._callsandboxCallback('failed', { cmd: 'read-cookie' });\n }\n }\n};\n\nsf.ext.inViewPercentage = function () {\n return geom_info.self.xiv * geom_info.self.yiv;\n};\nsf.ext.winHasFocus = function () {\n return true;\n //return !window.parent.document.hidden;\n};\n\nwindow.$sf = {\n ext: sf.ext,\n};\n"],"names":["sf","location","protocol","match","_nameSF","_runingExpand","_runingCollapse","_status","_origin","geom_info","is_registered","sandbox_cb","_listen","e","d","JSON","parse","data","method","sfName","origin","_init","_updateGeom","_expandDone","_collapseDone","_cookieDone","err","window","addEventListener","_sendData","parent","postMessage","stringify","adData","dsp","said","dispatchEvent","CustomEvent","detail","_callsandboxCallback","status","cmd","info","cookie","reason","_hidePaw","setHidden","seznamControls","document","getElementById","packaClass","getElementsByClassName","done","style","length","i","removePawRetry","removeEventListener","intervalID","setInterval","clearInterval","readyState","conf","ext","register","width","height","cb","baseDimensions","supports","key","support","geom","expand","resizeDimensions","config","extAllowed","exp","o","hasOwnProperty","Error","collapse","setResizeProperties","options","meta","cookieName","cookieData","inViewPercentage","self","xiv","yiv","winHasFocus","$sf"],"sourceRoot":""}