/** * Don't delete the Licences Attributions in embed.js.min */ /** * Embeds the iframe into
*/ (function () { var config = new window.foo_config(); var baseUrl = octoTemplate("https://bar.foo.com/", "http://localhost:4200/"); var otherUrlPart = config.otherUrlPart; if (otherUrlPart == null) { console.error("foo_config otherUrlPart is undefined"); return; } var encode = function (rawHtml) { return rawHtml.replace(//g, ">"); } var fooPortalSection = document.getElementById("foo_portal"); if (fooPortalSection == null) { console.error("An element with id 'foo_portal' must exist"); return; } var html = '' + '' + ''; fooPortalSection.innerHTML = html; })(); function octoTemplate(value, fallback) { if (value.substr(0, 2) === "#{") { return fallback; } return value; } /* * IE8 Polyfils for iframeResizer.js * * Public domain code - Mozilla Contributors * https://developer.mozilla.org/ */ Array.prototype.forEach || (Array.prototype.forEach = function (a) { "use strict"; if (void 0 === this || null === this || "function" != typeof a) throw new TypeError; for (var b = Object(this), c = b.length >>> 0, d = arguments.length >= 2 ? arguments[1] : void 0, e = 0; c > e; e++)e in b && a.call(d, b[e], e, b) }), Function.prototype.bind || (Function.prototype.bind = function (a) { if ("function" != typeof this) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); var b = Array.prototype.slice.call(arguments, 1), c = this, d = function () { }, e = function () { return c.apply(this instanceof d ? this : a, b.concat(Array.prototype.slice.call(arguments))) }; return d.prototype = this.prototype, e.prototype = new d, e }), Array.prototype.forEach || (Array.prototype.forEach = function (a, b) { if (null === this) throw new TypeError(" this is null or not defined"); if ("function" != typeof a) throw new TypeError(a + " is not a function"); for (var c = Object(this), d = c.length >>> 0, e = 0; d > e; e++)e in c && a.call(b, c[e], e, c) }); /*! iFrame Resizer (iframeSizer.min.js ) - v3.5.12 - 2017-03-29 * Desc: Force cross domain iframes to size to content. * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame. * Copyright: (c) 2017 David J. Bradshaw - dave@bradshaw.net * License: MIT */ !function (a) { "use strict"; function b(a, b, c) { "addEventListener" in window ? a.addEventListener(b, c, !1) : "attachEvent" in window && a.attachEvent("on" + b, c) } function c(a, b, c) { "removeEventListener" in window ? a.removeEventListener(b, c, !1) : "detachEvent" in window && a.detachEvent("on" + b, c) } function d() { var a, b = ["moz", "webkit", "o", "ms"]; for (a = 0; a < b.length && !N; a += 1)N = window[b[a] + "RequestAnimationFrame"]; N || h("setup", "RequestAnimationFrame not supported") } function e(a) { var b = "Host page: " + a; return window.top !== window.self && (b = window.parentIFrame && window.parentIFrame.getId ? window.parentIFrame.getId() + ": " + a : "Nested host page: " + a), b } function f(a) { return K + "[" + e(a) + "]" } function g(a) { return P[a] ? P[a].log : G } function h(a, b) { k("log", a, b, g(a)) } function i(a, b) { k("info", a, b, g(a)) } function j(a, b) { k("warn", a, b, !0) } function k(a, b, c, d) { !0 === d && "object" == typeof window.console && console[a](f(b), c) } function l(a) { function d() { function a() { s(U), p(V), I("resizedCallback", U) } f("Height"), f("Width"), t(a, U, "init") } function e() { var a = T.substr(L).split(":"); return { iframe: P[a[0]].iframe, id: a[0], height: a[1], width: a[2], type: a[3] } } function f(a) { var b = Number(P[V]["max" + a]), c = Number(P[V]["min" + a]), d = a.toLowerCase(), e = Number(U[d]); h(V, "Checking " + d + " is in range " + c + "-" + b), c > e && (e = c, h(V, "Set " + d + " to min value")), e > b && (e = b, h(V, "Set " + d + " to max value")), U[d] = "" + e } function g() { function b() { function a() { var a = 0, b = !1; for (h(V, "Checking connection is from allowed list of origins: " + d); a < d.length; a++)if (d[a] === c) { b = !0; break } return b } function b() { var a = P[V].remoteHost; return h(V, "Checking connection is from: " + a), c === a } return d.constructor === Array ? a() : b() } var c = a.origin, d = P[V].checkOrigin; if (d && "" + c != "null" && !b()) throw new Error("Unexpected message received from: " + c + " for " + U.iframe.id + ". Message was: " + a.data + ". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains."); return !0 } function k() { return K === ("" + T).substr(0, L) && T.substr(L).split(":")[0] in P } function l() { var a = U.type in { "true": 1, "false": 1, undefined: 1 }; return a && h(V, "Ignoring init message from meta parent page"), a } function w(a) { return T.substr(T.indexOf(":") + J + a) } function y(a) { h(V, "MessageCallback passed: {iframe: " + U.iframe.id + ", message: " + a + "}"), I("messageCallback", { iframe: U.iframe, message: JSON.parse(a) }), h(V, "--") } function z() { var a = document.body.getBoundingClientRect(), b = U.iframe.getBoundingClientRect(); return JSON.stringify({ iframeHeight: b.height, iframeWidth: b.width, clientHeight: Math.max(document.documentElement.clientHeight, window.innerHeight || 0), clientWidth: Math.max(document.documentElement.clientWidth, window.innerWidth || 0), offsetTop: parseInt(b.top - a.top, 10), offsetLeft: parseInt(b.left - a.left, 10), scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset }) } function A(a, b) { function c() { u("Send Page Info", "pageInfo:" + z(), a, b) } x(c, 32) } function B() { function a(a, b) { function c() { P[f] ? A(P[f].iframe, f) : d() } ["scroll", "resize"].forEach(function (d) { h(f, a + d + " listener for sendPageInfo"), b(window, d, c) }) } function d() { a("Remove ", c) } function e() { a("Add ", b) } var f = V; e(), P[f].stopPageInfo = d } function C() { P[V] && P[V].stopPageInfo && (P[V].stopPageInfo(), delete P[V].stopPageInfo) } function D() { var a = !0; return null === U.iframe && (j(V, "IFrame (" + U.id + ") not found"), a = !1), a } function E(a) { var b = a.getBoundingClientRect(); return o(V), { x: Math.floor(Number(b.left) + Number(M.x)), y: Math.floor(Number(b.top) + Number(M.y)) } } function F(a) { function b() { M = f, G(), h(V, "--") } function c() { return { x: Number(U.width) + e.x, y: Number(U.height) + e.y } } function d() { window.parentIFrame ? window.parentIFrame["scrollTo" + (a ? "Offset" : "")](f.x, f.y) : j(V, "Unable to scroll to requested position, window.parentIFrame not found") } var e = a ? E(U.iframe) : { x: 0, y: 0 }, f = c(); h(V, "Reposition requested from iFrame (offset x:" + e.x + " y:" + e.y + ")"), window.top !== window.self ? d() : b() } function G() { !1 !== I("scrollCallback", M) ? p(V) : q() } function H(a) { function b() { var a = E(f); h(V, "Moving to in page link (#" + d + ") at x: " + a.x + " y: " + a.y), M = { x: a.x, y: a.y }, G(), h(V, "--") } function c() { window.parentIFrame ? window.parentIFrame.moveToAnchor(d) : h(V, "In page link #" + d + " not found and window.parentIFrame not found") } var d = a.split("#")[1] || "", e = decodeURIComponent(d), f = document.getElementById(e) || document.getElementsByName(e)[0]; f ? b() : window.top !== window.self ? c() : h(V, "In page link #" + d + " not found") } function I(a, b) { return m(V, a, b) } function N() { switch (P[V].firstRun && S(), U.type) { case "close": n(U.iframe); break; case "message": y(w(6)); break; case "scrollTo": F(!1); break; case "scrollToOffset": F(!0); break; case "pageInfo": A(P[V].iframe, V), B(); break; case "pageInfoStop": C(); break; case "inPageLink": H(w(9)); break; case "reset": r(U); break; case "init": d(), I("initCallback", U.iframe); break; default: d() } } function O(a) { var b = !0; return P[a] || (b = !1, j(U.type + " No settings for " + a + ". Message was: " + T)), b } function Q() { for (var a in P) u("iFrame requested init", v(a), document.getElementById(a), a) } function S() { P[V].firstRun = !1 } var T = a.data, U = {}, V = null; "[iFrameResizerChild]Ready" === T ? Q() : k() ? (U = e(), V = R = U.id, clearTimeout(P[V].msgTimeout), !l() && O(V) && (h(V, "Received: " + T), D() && g() && N())) : i(V, "Ignored: " + T) } function m(a, b, c) { var d = null, e = null; if (P[a]) { if (d = P[a][b], "function" != typeof d) throw new TypeError(b + " on iFrame[" + a + "] is not a function"); e = d(c) } return e } function n(a) { var b = a.id; h(b, "Removing iFrame: " + b), a.parentNode && a.parentNode.removeChild(a), m(b, "closedCallback", b), h(b, "--"), delete P[b] } function o(b) { null === M && (M = { x: window.pageXOffset !== a ? window.pageXOffset : document.documentElement.scrollLeft, y: window.pageYOffset !== a ? window.pageYOffset : document.documentElement.scrollTop }, h(b, "Get page position: " + M.x + "," + M.y)) } function p(a) { null !== M && (window.scrollTo(M.x, M.y), h(a, "Set page position: " + M.x + "," + M.y), q()) } function q() { M = null } function r(a) { function b() { s(a), u("reset", "reset", a.iframe, a.id) } h(a.id, "Size reset requested by " + ("init" === a.type ? "host page" : "iFrame")), o(a.id), t(b, a, "reset") } function s(a) { function b(b) { a.iframe.style[b] = a[b] + "px", h(a.id, "IFrame (" + e + ") " + b + " set to " + a[b] + "px") } function c(b) { H || "0" !== a[b] || (H = !0, h(e, "Hidden iFrame detected, creating visibility listener"), y()) } function d(a) { b(a), c(a) } var e = a.iframe.id; P[e] && (P[e].sizeHeight && d("height"), P[e].sizeWidth && d("width")) } function t(a, b, c) { c !== b.type && N ? (h(b.id, "Requesting animation frame"), N(a)) : a() } function u(a, b, c, d, e) { function f() { var e = P[d].targetOrigin; h(d, "[" + a + "] Sending msg to iframe[" + d + "] (" + b + ") targetOrigin: " + e), c.contentWindow.postMessage(K + b, e) } function g() { j(d, "[" + a + "] IFrame(" + d + ") not found") } function i() { c && "contentWindow" in c && null !== c.contentWindow ? f() : g() } function k() { function a() { j(d, "No response from iFrame. Check iFrameResizer.contentWindow.js has been loaded in iFrame") } e && (P[d].msgTimeout = setTimeout(a, P[d].warningTimeout)) } d = d || c.id, P[d] && (i(), k()) } function v(a) { return a + ":" + P[a].bodyMarginV1 + ":" + P[a].sizeWidth + ":" + P[a].log + ":" + P[a].interval + ":" + P[a].enablePublicMethods + ":" + P[a].autoResize + ":" + P[a].bodyMargin + ":" + P[a].heightCalculationMethod + ":" + P[a].bodyBackground + ":" + P[a].bodyPadding + ":" + P[a].tolerance + ":" + P[a].inPageLinks + ":" + P[a].resizeFrom + ":" + P[a].widthCalculationMethod } function w(c, d) { function e() { function a(a) { 1 / 0 !== P[x][a] && 0 !== P[x][a] && (c.style[a] = P[x][a] + "px", h(x, "Set " + a + " = " + P[x][a] + "px")) } function b(a) { if (P[x]["min" + a] > P[x]["max" + a]) throw new Error("Value for min" + a + " can not be greater than max" + a) } b("Height"), b("Width"), a("maxHeight"), a("minHeight"), a("maxWidth"), a("minWidth") } function f() { var a = d && d.id || S.id + F++; return null !== document.getElementById(a) && (a += F++), a } function g(a) { return R = a, "" === a && (c.id = a = f(), G = (d || {}).log, R = a, h(a, "Added missing iframe ID: " + a + " (" + c.src + ")")), a } function i() { switch (h(x, "IFrame scrolling " + (P[x].scrolling ? "enabled" : "disabled") + " for " + x), c.style.overflow = !1 === P[x].scrolling ? "hidden" : "auto", P[x].scrolling) { case !0: c.scrolling = "yes"; break; case !1: c.scrolling = "no"; break; default: c.scrolling = P[x].scrolling } } function k() { ("number" == typeof P[x].bodyMargin || "0" === P[x].bodyMargin) && (P[x].bodyMarginV1 = P[x].bodyMargin, P[x].bodyMargin = "" + P[x].bodyMargin + "px") } function l() { var a = P[x].firstRun, b = P[x].heightCalculationMethod in O; !a && b && r({ iframe: c, height: 0, width: 0, type: "init" }) } function m() { Function.prototype.bind && (P[x].iframe.iFrameResizer = { close: n.bind(null, P[x].iframe), resize: u.bind(null, "Window resize", "resize", P[x].iframe), moveToAnchor: function (a) { u("Move to anchor", "moveToAnchor:" + a, P[x].iframe, x) }, sendMessage: function (a) { a = JSON.stringify(a), u("Send Message", "message:" + a, P[x].iframe, x) } }) } function o(d) { function e() { u("iFrame.onload", d, c, a, !0), l() } b(c, "load", e), u("init", d, c, a, !0) } function p(a) { if ("object" != typeof a) throw new TypeError("Options is not an object") } function q(a) { for (var b in S) S.hasOwnProperty(b) && (P[x][b] = a.hasOwnProperty(b) ? a[b] : S[b]) } function s(a) { return "" === a || "file://" === a ? "*" : a } function t(a) { a = a || {}, P[x] = { firstRun: !0, iframe: c, remoteHost: c.src.split("/").slice(0, 3).join("/") }, p(a), q(a), P[x].targetOrigin = !0 === P[x].checkOrigin ? s(P[x].remoteHost) : "*" } function w() { return x in P && "iFrameResizer" in c } var x = g(c.id); w() ? j(x, "Ignored iFrame, already setup.") : (t(d), i(), e(), k(), o(v(x)), m()) } function x(a, b) { null === Q && (Q = setTimeout(function () { Q = null, a() }, b)) } function y() { function a() { function a(a) { function b(b) { return "0px" === P[a].iframe.style[b] } function c(a) { return null !== a.offsetParent } c(P[a].iframe) && (b("height") || b("width")) && u("Visibility change", "resize", P[a].iframe, a) } for (var b in P) a(b) } function b(b) { h("window", "Mutation observed: " + b[0].target + " " + b[0].type), x(a, 16) } function c() { var a = document.querySelector("body"), c = { attributes: !0, attributeOldValue: !1, characterData: !0, characterDataOldValue: !1, childList: !0, subtree: !0 }, e = new d(b); e.observe(a, c) } var d = window.MutationObserver || window.WebKitMutationObserver; d && c() } function z(a) { function b() { B("Window " + a, "resize") } h("window", "Trigger event: " + a), x(b, 16) } function A() { function a() { B("Tab Visable", "resize") } "hidden" !== document.visibilityState && (h("document", "Trigger event: Visiblity change"), x(a, 16)) } function B(a, b) { function c(a) { return "parent" === P[a].resizeFrom && P[a].autoResize && !P[a].firstRun } for (var d in P) c(d) && u(a, b, document.getElementById(d), d) } function C() { b(window, "message", l), b(window, "resize", function () { z("resize") }), b(document, "visibilitychange", A), b(document, "-webkit-visibilitychange", A), b(window, "focusin", function () { z("focus") }), b(window, "focus", function () { z("focus") }) } function D() { function b(a, b) { function c() { if (!b.tagName) throw new TypeError("Object is not a valid DOM element"); if ("IFRAME" !== b.tagName.toUpperCase()) throw new TypeError("Expected