{"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":""}