{"version":3,"sources":["webpack://FDV.[name]/webpack/universalModuleDefinition","webpack://FDV.[name]/webpack/bootstrap","webpack://FDV.[name]/./node_modules/tslib/tslib.es6.js","webpack://FDV.[name]/./node_modules/domready/ready.js","webpack://FDV.[name]/./node_modules/eventemitter3/index.js","webpack://FDV.[name]/./src/deprecated.ts","webpack://FDV.[name]/./src/dialog/controller.ts","webpack://FDV.[name]/./vendor/message_channel.js","webpack://FDV.[name]/./src/dialog/post.ts","webpack://FDV.[name]/./src/dialog/tunnel.ts","webpack://FDV.[name]/./src/dialog/proxy.ts","webpack://FDV.[name]/./src/dialog/dialog.ts","webpack://FDV.[name]/./src/dialog/shim.ts","webpack://FDV.[name]/./node_modules/uuid/v4.js","webpack://FDV.[name]/./node_modules/uuid/lib/rng-browser.js","webpack://FDV.[name]/./node_modules/uuid/lib/bytesToUuid.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__spreadArrays","il","k","a","j","jl","listener","fns","doc","hack","loaded","document","documentElement","doScroll","test","readyState","addEventListener","removeEventListener","shift","fn","setTimeout","has","prefix","Events","EE","context","once","EventEmitter","_events","_eventsCount","eventNames","events","names","slice","concat","listeners","event","exists","evt","available","ee","emit","a1","a2","a3","a4","a5","args","len","removeListener","undefined","on","removeAllListeners","off","addListener","setMaxListeners","prefixed","Set","replacement","nextId","newId","dialogs","Error","tunnel","url","parentWindowName","frame","_id","_arg","_extra","_overflow","_onMessage","data","ports","postMessage","extra","handler","ok","close","vals","cancel","send","setUrl","show","arg","windowName","frameId","id","index","createElement","allowTransparency","src","style","height","width","border","position","top","left","zIndex","max","querySelectorAll","elm","zIndexStr","defaultView","getComputedStyle","getPropertyValue","parseInt","isNaN","nextZIndex","toString","className","setAttribute","overflow","appendChild","FDVtmp","FDV","erMobil","querySelector","scrollHeight","innerHeight","deaktiverScrollHide","classList","add","splice","parentElement","removeChild","remove","UUID","require","self","Window","a_slice","MessageChannel","source","message","targetOrigin","Worker","worker","transferList","isWindowToWindowMessage","currentTarget","functionToCheck","log","verbose","unshift","console","messagePorts","MessagePort","uuid","_entangledPortUuid","destinationUrl","_listeners","_messageQueue","_messageQueueEnabled","_currentTarget","start","dispatchEvent","_getEntangledPort","messageClone","target","encodeEvent","_enqueueEvent","_messageEvent","type","_getPort","portClone","messageEvent","copyEvents","port","_createPort","origin","channel","port1","port2","_channel","msgArgs","forEach","MessagePortConstructor","messageChannel","strippedPorts","_strippedPort","JSON","stringify","msg","msgPorts","messageQueue","portRef","decodeEvent","fakeEvent","parse","propagationHandler","propagateEvent","_overrideMessageEventListener","originalAddEventListener","addEventListenerName","targetRemoveEventListener","removeEventListenerName","messageEventType","attachEvent","messageHandlerWrapper","originalHandler","entangledPort","reset","_addMessagePortEventHandler","otherWindow","OriginalWorker","_addEventListener","postToWindow","win","_fn","_port","_handler","connect","reqId","Tunnel","listen","warn","queue","parent","_call","toPromise","toSafePromise","_dialogArgs","_isDialog","startsWith","json","substr","match","exec","dialogId","_evt","createGlobalCall","isDialog","Dialog","IFrame","Create","_old","deprecated","dialog","addEvents","evts","keys","addEvent","open","Ok","isArray","of","Cancel","Close","rng","bytesToUuid","options","buf","offset","rnds","random","ii","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","Math","byteToHex","bth"],"mappings":"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","file":"dialog.3812188c35c33f0e1683.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dialog\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dialog\"] = factory();\n\telse\n\t\troot[\"FDV\"] = root[\"FDV\"] || {}, root[\"FDV\"][\"dialog\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/bundles/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 39);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n if (typeof module != 'undefined') module.exports = definition()\n else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n else this[name] = definition()\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n if (!loaded)\n doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener)\n loaded = 1\n while (listener = fns.shift()) listener()\n })\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn)\n }\n\n});\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","// tslint:disable-next-line:ban-types\r\nconst shown = new Set();\r\n\r\n// tslint:disable-next-line:no-namespace\r\ndeclare namespace process {\r\n export const env: { [name: string]: string | undefined };\r\n}\r\n\r\n// tslint:disable-next-line:ban-types\r\nconst deprecated = (fn: Function, name: string, replacement?: string) => {\r\n if (process.env.NODE_ENV === 'development') {\r\n if (!shown.has(fn)) {\r\n shown.add(fn);\r\n const extra = replacement ? ` Use ${replacement} instead.` : '';\r\n // tslint:disable-next-line:no-console\r\n console.warn(`Deprecated: ${name} is deprecated.${extra}`);\r\n }\r\n }\r\n};\r\n\r\nexport default deprecated;\r\n","import Tunnel from \"./tunnel\";\r\n\r\nconst newId = (() => {\r\n let nextId = 1;\r\n return () => nextId++;\r\n})();\r\n\r\nconst dialogs: DialogController[] = [];\r\nconst top = () => {\r\n if (dialogs.length === 0) {\r\n throw new Error(\"No dialogs opened\");\r\n }\r\n\r\n return dialogs[dialogs.length - 1];\r\n};\r\n\r\nconst nextZIndex = () => {\r\n let max = 10;\r\n const elms = Array.prototype.slice.apply(\r\n document.querySelectorAll(\"*\")\r\n ) as HTMLElement[];\r\n for (const elm of elms) {\r\n const zIndexStr = document.defaultView\r\n .getComputedStyle(elm, void 0)\r\n .getPropertyValue(\"z-index\");\r\n const zIndex = parseInt(zIndexStr || \"-1\", 10);\r\n if (!isNaN(zIndex) && zIndex > max) {\r\n max = zIndex;\r\n }\r\n }\r\n\r\n return max + 1;\r\n};\r\n\r\nexport interface IDialogInfo {\r\n readonly index: number;\r\n readonly id: number;\r\n readonly frameId: number;\r\n}\r\n\r\nexport class DialogController {\r\n public static ok(...vals: any[]) {\r\n top().close(\"ok\", ...vals);\r\n }\r\n\r\n public static cancel() {\r\n top().close(\"cancel\");\r\n }\r\n\r\n public static close() {\r\n top().close();\r\n }\r\n\r\n private tunnel: Tunnel;\r\n private url: string | null = null;\r\n private parentWindowName: string | null = null;\r\n private frame: HTMLIFrameElement | null = null;\r\n private _id: number = newId();\r\n private _arg: any = null;\r\n private _extra: IDialogInfo | null = null;\r\n private _overflow: string | null = null;\r\n\r\n constructor(tunnel: Tunnel) {\r\n this.tunnel = tunnel;\r\n tunnel.handler = ({ name, args }) => {\r\n (this as any)[name](...args);\r\n };\r\n }\r\n\r\n public emit(name: string, ...args: any[]) {\r\n this.tunnel.send({ name, args });\r\n return this;\r\n }\r\n\r\n public setUrl(url: string) {\r\n this.url = url;\r\n }\r\n\r\n public show(arg?: any) {\r\n if (this.frame) {\r\n return;\r\n }\r\n\r\n const url = this.url;\r\n if (url === null) {\r\n throw new Error(`Url not set`);\r\n }\r\n\r\n //For å sikre oss at det ikke blir åpnet flere\r\n //dialoger på samme dialog samtidig. (Ved hurtig klikk på knapp som åpner dialog)\r\n if (dialogs.length > 0 && top().parentWindowName === arg.windowName) {\r\n return;\r\n }\r\n\r\n this.parentWindowName = arg.windowName;\r\n\r\n const frameId = newId();\r\n if (arg) {\r\n this._arg = arg;\r\n } else {\r\n this._arg = null;\r\n }\r\n this._extra = {\r\n frameId,\r\n id: this._id,\r\n index: dialogs.length,\r\n };\r\n\r\n const frame = (this.frame = document.createElement(\"iframe\"));\r\n if (\"allowTransparency\" in frame) {\r\n (frame as any).allowTransparency = true;\r\n }\r\n\r\n frame.name = `_fdv_dialog:${this._id}`;\r\n frame.src = url;\r\n frame.style.height = \"0px\";\r\n frame.style.width = \"0px\";\r\n frame.style.border = \"none\";\r\n frame.style.position = \"fixed\";\r\n frame.style.top = \"0px\";\r\n frame.style.left = \"0px\";\r\n frame.style.zIndex = nextZIndex().toString();\r\n frame.className = \"fdv-dialog\";\r\n frame.setAttribute(\"data-dialog-id\", this._id.toString());\r\n frame.setAttribute(\"data-frame-id\", frameId.toString());\r\n\r\n this._overflow = document.body.style.overflow;\r\n document.body.appendChild(frame);\r\n\r\n // NB: forventer at erMobil ligger globalt på FDV. window.FDV.erMobil\r\n const FDVtmp = (window as any).FDV;\r\n\r\n if (FDVtmp && FDVtmp.erMobil) {\r\n document.body.style.overflow = \"hidden\";\r\n }\r\n\r\n const body = document.querySelector(\"body\");\r\n const hasVerticalScrollbar =\r\n body && body?.scrollHeight > window.innerHeight;\r\n if (\r\n hasVerticalScrollbar &&\r\n !FDVtmp.erMobil &&\r\n !FDVtmp.deaktiverScrollHide\r\n ) {\r\n body?.classList.add(\"lock-scroll\");\r\n }\r\n\r\n const onLoad = () => {\r\n // frame.removeEventListener('load', onLoad);\r\n frame.style.width = \"100vw\";\r\n frame.style.height = \"100vh\";\r\n };\r\n\r\n window.addEventListener(\"message\", this._onMessage);\r\n frame.addEventListener(\"load\", onLoad);\r\n dialogs.push(this);\r\n }\r\n\r\n public close(evt?: string, ...args: any[]) {\r\n const frame = this.frame;\r\n if (!frame) {\r\n return;\r\n }\r\n\r\n const index = dialogs.indexOf(this);\r\n dialogs.splice(index, 1);\r\n frame.parentElement!.removeChild(frame);\r\n document.body.style.overflow = this._overflow || \"\";\r\n if (index < 1) {\r\n document.querySelector(\"body\")?.classList.remove(\"lock-scroll\");\r\n }\r\n window.removeEventListener(\"message\", this._onMessage);\r\n this.frame = null;\r\n this.emit(\"close\");\r\n\r\n if (evt) {\r\n this.emit(evt, ...args);\r\n }\r\n }\r\n\r\n private _onMessage = (evt: MessageEvent) => {\r\n if (\r\n typeof evt.data === \"string\" &&\r\n evt.data === `!dialog-${this._id}-ready!`\r\n ) {\r\n evt.ports[0].postMessage({ args: this._arg, extra: this._extra });\r\n }\r\n\r\n // TODO: Fix globally\r\n // tslint:disable-next-line:semicolon\r\n };\r\n}\r\n","var UUID = require('uuid/v4');\r\n\r\n(function(root) {\r\n var self = root,\r\n Window = self.Window,\r\n a_slice = [].slice;\r\n\r\n function isFunction(functionToCheck) {\r\n return (\r\n functionToCheck &&\r\n Object.prototype.toString.call(functionToCheck) === '[object Function]'\r\n );\r\n }\r\n\r\n function isInWorker() {\r\n return typeof Worker === 'undefined' && typeof Window === 'undefined';\r\n }\r\n\r\n if (!self.MessageChannel) {\r\n var isWindowToWindowMessage = function(currentTarget) {\r\n // TODO: If we ever want to use webworkers, this needs to be restored.\r\n // Mootools creates a function named Window, which removes the browser global Window constructor.\r\n // This results in self instanceof Window failing. However, given that we only ever use window-to-window\r\n // messages...\r\n return (\r\n typeof window !== 'undefined' &&\r\n //&& self instanceof Window\r\n (!isFunction(self.Worker) || !(currentTarget instanceof Worker))\r\n );\r\n },\r\n log = function(message) {\r\n if (MessageChannel.verbose) {\r\n var args = a_slice.apply(arguments);\r\n args.unshift('MCNP: ');\r\n console.log.apply(console, args);\r\n }\r\n },\r\n messagePorts = {};\r\n\r\n var MessagePort = (self.MessagePort = function(uuid) {\r\n this._entangledPortUuid = null;\r\n this.destinationUrl = null;\r\n this._listeners = {};\r\n this._messageQueue = [];\r\n this._messageQueueEnabled = false;\r\n this._currentTarget = null;\r\n\r\n this.uuid = uuid || UUID();\r\n messagePorts[this.uuid] = this;\r\n this.log('created');\r\n });\r\n\r\n MessagePort.prototype = {\r\n start: function() {\r\n var event,\r\n self = this;\r\n\r\n // TODO: we have no guarantee that\r\n // we will not receive and process events in the correct order\r\n setTimeout(function() {\r\n self.log(\r\n 'draining ' + self._messageQueue.length + ' queued messages',\r\n );\r\n while (\r\n self._messageQueueEnabled &&\r\n (event = self._messageQueue.shift())\r\n ) {\r\n self.dispatchEvent(event);\r\n }\r\n });\r\n this._messageQueueEnabled = true;\r\n this.log('started');\r\n },\r\n\r\n close: function() {\r\n this._messageQueueEnabled = false;\r\n if (this._entangledPortUuid) {\r\n this._getEntangledPort()._entangledPortUuid = null;\r\n this._entangledPortUuid = null;\r\n\r\n // /!\\ Probably need to send that (?)\r\n }\r\n },\r\n\r\n postMessage: function(message) {\r\n // Numbers refer to step from the W3C specs. It shows how simplified things are\r\n // 1- Let target port be the port with which source port is entangled, if any\r\n var target = this._getEntangledPort(),\r\n currentTarget = this._currentTarget,\r\n messageClone;\r\n\r\n // 8- If there is no target port (i.e. if source port is not entangled), then abort these steps.\r\n if (!target) {\r\n this.log('not entangled, discarding message', message);\r\n return;\r\n }\r\n\r\n // 12- Add the event to the port message queue of target port.\r\n // As the port is cloned when sent to the other user agent,\r\n // posting a message can mean different things:\r\n // * The port is still local, then we need to queue the event\r\n // * the port has been sent, then we need to send that event\r\n if (currentTarget) {\r\n // 5- Let message clone be the result of obtaining a structured clone of the message argument\r\n messageClone = MessageChannel.encodeEvent(message, [target], true);\r\n\r\n if (isWindowToWindowMessage(currentTarget)) {\r\n this.log(\r\n 'posting message from window to window',\r\n message,\r\n this.destinationUrl,\r\n );\r\n currentTarget.postMessage(messageClone, this.destinationUrl);\r\n } else {\r\n this.log('posting message from or to worker', message);\r\n currentTarget.postMessage(messageClone);\r\n }\r\n } else {\r\n this.log('not connected, queueing message', message);\r\n target._enqueueEvent(\r\n MessageChannel._messageEvent(message, [target], true),\r\n );\r\n }\r\n },\r\n\r\n addEventListener: function(type, listener) {\r\n if (typeof this._listeners[type] === 'undefined') {\r\n this._listeners[type] = [];\r\n }\r\n\r\n this._listeners[type].push(listener);\r\n },\r\n\r\n removeEventListener: function(type, listener) {\r\n if (this._listeners[type] instanceof Array) {\r\n var listeners = this._listeners[type];\r\n for (var i = 0; i < listeners.length; i++) {\r\n if (listeners[i] === listener) {\r\n listeners.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n\r\n dispatchEvent: function(event) {\r\n var listeners = this._listeners.message;\r\n if (listeners) {\r\n for (var i = 0; i < listeners.length; i++) {\r\n listeners[i].call(this, event);\r\n }\r\n }\r\n },\r\n\r\n _enqueueEvent: function(event) {\r\n if (this._messageQueueEnabled) {\r\n this.dispatchEvent(event);\r\n } else {\r\n this._messageQueue.push(event);\r\n }\r\n },\r\n\r\n _getPort: function(portClone, messageEvent, copyEvents) {\r\n var loadPort = function(uuid) {\r\n var port = messagePorts[uuid] || MessageChannel._createPort(uuid);\r\n return port;\r\n };\r\n\r\n var port = loadPort(portClone.uuid);\r\n port._entangledPortUuid = portClone._entangledPortUuid;\r\n port._getEntangledPort()._entangledPortUuid = port.uuid;\r\n port._currentTarget =\r\n messageEvent.source || messageEvent.currentTarget || self;\r\n if (messageEvent.origin === 'null') {\r\n port.destinationUrl = '*';\r\n } else {\r\n port.destinationUrl = messageEvent.origin;\r\n }\r\n\r\n if (copyEvents) {\r\n for (var i = 0; i < portClone._messageQueue.length; i++) {\r\n port._messageQueue.push(portClone._messageQueue[i]);\r\n }\r\n }\r\n\r\n return port;\r\n },\r\n\r\n _getEntangledPort: function() {\r\n if (this._entangledPortUuid) {\r\n return (\r\n messagePorts[this._entangledPortUuid] ||\r\n MessageChannel._createPort(this._entangledPortUuid)\r\n );\r\n } else {\r\n return null;\r\n }\r\n },\r\n\r\n log: function() {\r\n if (MessageChannel.verbose) {\r\n var args = a_slice.apply(arguments);\r\n args.unshift('Port', this.uuid);\r\n log.apply(null, args);\r\n }\r\n },\r\n };\r\n\r\n var MessageChannel = (self.MessageChannel = function() {\r\n var port1 = MessageChannel._createPort(),\r\n port2 = MessageChannel._createPort(),\r\n channel;\r\n\r\n port1._entangledPortUuid = port2.uuid;\r\n port2._entangledPortUuid = port1.uuid;\r\n\r\n channel = {\r\n port1: port1,\r\n port2: port2,\r\n };\r\n\r\n MessageChannel.log(channel, 'created');\r\n\r\n return channel;\r\n });\r\n\r\n MessageChannel.log = function(_channel) {\r\n if (MessageChannel.verbose) {\r\n var args = ['Chnl'],\r\n msgArgs = a_slice.call(arguments, 1);\r\n\r\n if (_channel.port1 && _channel.port2) {\r\n args.push(_channel.port1.uuid, _channel.port2.uuid);\r\n } else {\r\n _channel.forEach(function(channel) {\r\n args.push(channel._entangledPortUuid);\r\n });\r\n }\r\n\r\n args.push.apply(args, msgArgs);\r\n log.apply(null, args);\r\n }\r\n };\r\n\r\n MessageChannel._createPort = function() {\r\n var args = arguments,\r\n MessagePortConstructor = function() {\r\n return MessagePort.apply(this, args);\r\n };\r\n\r\n MessagePortConstructor.prototype = MessagePort.prototype;\r\n\r\n return new MessagePortConstructor();\r\n };\r\n\r\n /**\r\n Encode the event to be sent.\r\n messageEvent.data contains a fake Event encoded with Kamino.js\r\n It contains:\r\n * data: the content that the MessagePort should send\r\n * ports: The targeted MessagePorts.\r\n * messageChannel: this allows to decide if the MessageEvent was meant for the window or the port\r\n @param {Object} data\r\n @param {Array} ports\r\n @param {Boolean} messageChannel\r\n @returns {String} a string representation of the data to be sent\r\n */\r\n MessageChannel.encodeEvent = function(data, ports, messageChannel) {\r\n var strippedPorts = new Array(ports.length),\r\n encodedMessage,\r\n messageEvent;\r\n\r\n for (var i = 0; i < ports.length; ++i) {\r\n strippedPorts[i] = MessageChannel._strippedPort(ports[i]);\r\n }\r\n\r\n messageEvent = {\r\n event: MessageChannel._messageEvent(\r\n data,\r\n strippedPorts,\r\n messageChannel,\r\n ),\r\n };\r\n encodedMessage = JSON.stringify(messageEvent);\r\n\r\n return encodedMessage;\r\n };\r\n\r\n MessageChannel._messageEvent = function(data, ports, messageChannel) {\r\n return { data: data, ports: ports, messageChannel: messageChannel };\r\n };\r\n\r\n MessageChannel._strippedPort = function(port) {\r\n if (!port) {\r\n return;\r\n }\r\n\r\n var messageQueue = [];\r\n for (\r\n var msg, msgPorts, ports, i = 0;\r\n i < port._messageQueue.length;\r\n ++i\r\n ) {\r\n msg = port._messageQueue[i];\r\n msgPorts = msg.ports || [];\r\n ports = [];\r\n\r\n for (var portRef, j = 0; j < msgPorts.length; ++j) {\r\n portRef = msgPorts[j];\r\n ports.push({\r\n uuid: portRef.uuid,\r\n _entangledPortUuid: portRef._entangledPortUuid,\r\n });\r\n }\r\n messageQueue.push({\r\n data: msg.data,\r\n messageChannel: msg.messageChannel,\r\n ports: ports,\r\n });\r\n }\r\n\r\n return {\r\n uuid: port.uuid,\r\n _entangledPortUuid: port._entangledPortUuid,\r\n _messageQueue: messageQueue,\r\n };\r\n };\r\n\r\n /**\r\n Extract the event from the message.\r\n messageEvent.data contains a fake Event encoded with Kamino.js\r\n It contains:\r\n * data: the content that the MessagePort should use\r\n * ports: The targeted MessagePorts.\r\n * messageChannel: this allows to decide if the MessageEvent was meant for the window or the port\r\n @param {MessageEvent} messageEvent\r\n @param {Boolean} copyEvents: copy or not the events from the cloned port to the local one\r\n @returns {Object} an object that fakes an event with limited attributes ( data, ports )\r\n */\r\n MessageChannel.decodeEvent = function(messageEvent, copyEvents) {\r\n var fakeEvent = {\r\n data: null,\r\n ports: [],\r\n },\r\n data = JSON.parse(messageEvent.data),\r\n event = data.event,\r\n ports = event.ports;\r\n\r\n if (event) {\r\n if (ports) {\r\n for (var i = 0; i < ports.length; i++) {\r\n fakeEvent.ports.push(\r\n MessagePort.prototype._getPort(\r\n ports[i],\r\n messageEvent,\r\n copyEvents,\r\n ),\r\n );\r\n }\r\n }\r\n fakeEvent.data = event.data;\r\n fakeEvent.source = messageEvent.source;\r\n fakeEvent.messageChannel = event.messageChannel;\r\n }\r\n\r\n return fakeEvent;\r\n };\r\n\r\n /**\r\n Extract the event from the message if possible.\r\n A user agent can received events that are not encoded using Kamino.\r\n @param {MessageEvent} messageEvent\r\n @param {Boolean} copyEvents: copy or not the events from the cloned port to the local one\r\n @returns {Object} an object that fakes an event or the triggered event\r\n */\r\n var decodeEvent = function(event, copyEvents) {\r\n var messageEvent;\r\n\r\n try {\r\n messageEvent = MessageChannel.decodeEvent(event, copyEvents);\r\n } catch (e) {\r\n messageEvent = event;\r\n }\r\n\r\n return messageEvent;\r\n };\r\n\r\n var propagationHandler = function(event) {\r\n var messageEvent = decodeEvent(event, true);\r\n\r\n if (messageEvent.messageChannel) {\r\n MessageChannel.propagateEvent(messageEvent);\r\n }\r\n };\r\n\r\n // Add the default message event handler\r\n // This is useful so that a user agent can pass ports\r\n // without declaring any event handler.\r\n //\r\n // This handler takes care of copying the events queue passed with a port.\r\n // We only need to perform this when passing a port between user agents,\r\n // otherwise the event is passed through `postMessage` and not through the queue\r\n // and is handled by the port's message listener.\r\n //\r\n // Ex:\r\n // iFrame1 - iFrame2 - iFrame3\r\n // iFrame2 creates a MessageChannel and passes a port to each iframe\r\n // we need a default handler to receive MessagePorts' events\r\n // and to propagate them\r\n var _addMessagePortEventHandler = function(target) {\r\n if (target.addEventListener) {\r\n target.addEventListener('message', propagationHandler, false);\r\n } else if (target.attachEvent) {\r\n target.attachEvent('onmessage', propagationHandler);\r\n }\r\n };\r\n\r\n var _overrideMessageEventListener = function(target) {\r\n var originalAddEventListener,\r\n addEventListenerName,\r\n targetRemoveEventListener,\r\n removeEventListenerName,\r\n messageEventType,\r\n messageHandlers = [];\r\n\r\n if (target.addEventListener) {\r\n addEventListenerName = 'addEventListener';\r\n removeEventListenerName = 'removeEventListener';\r\n messageEventType = 'message';\r\n } else if (target.attachEvent) {\r\n addEventListenerName = 'attachEvent';\r\n removeEventListenerName = 'detachEvent';\r\n messageEventType = 'onmessage';\r\n }\r\n originalAddEventListener = target[addEventListenerName];\r\n targetRemoveEventListener = target[removeEventListenerName];\r\n\r\n target[addEventListenerName] = function() {\r\n var args = Array.prototype.slice.call(arguments),\r\n originalHandler = args[1],\r\n self = this,\r\n messageHandlerWrapper;\r\n\r\n if (args[0] === messageEventType) {\r\n messageHandlerWrapper = function(event) {\r\n var messageEvent = decodeEvent(event);\r\n\r\n if (!messageEvent.messageChannel) {\r\n originalHandler.call(self, messageEvent);\r\n }\r\n };\r\n originalHandler.messageHandlerWrapper = messageHandlerWrapper;\r\n\r\n args[1] = messageHandlerWrapper;\r\n }\r\n\r\n originalAddEventListener.apply(this, args);\r\n };\r\n\r\n target[removeEventListenerName] = function() {\r\n var args = Array.prototype.slice.call(arguments),\r\n originalHandler = args[1];\r\n\r\n if (args[0] === messageEventType) {\r\n args[1] = originalHandler.messageHandlerWrapper;\r\n delete originalHandler.messageHandlerWrapper;\r\n }\r\n\r\n if (args[1]) {\r\n targetRemoveEventListener.apply(this, args);\r\n }\r\n };\r\n };\r\n\r\n /**\r\n Send the event to the targeted ports\r\n It uses the `messageChannel` attribute to decide\r\n if the event is meant for the window or MessagePorts\r\n @param {Object} fakeEvent\r\n */\r\n MessageChannel.propagateEvent = function(fakeEvent) {\r\n var ports, port, entangledPort;\r\n\r\n if (fakeEvent.messageChannel) {\r\n ports = fakeEvent.ports;\r\n\r\n for (var i = 0; i < ports.length; i++) {\r\n port = ports[i];\r\n entangledPort = port._getEntangledPort();\r\n\r\n if (\r\n port._currentTarget &&\r\n entangledPort._currentTarget &&\r\n port._currentTarget !== entangledPort._currentTarget\r\n ) {\r\n entangledPort.postMessage(fakeEvent.data);\r\n } else {\r\n port._enqueueEvent(fakeEvent);\r\n }\r\n }\r\n }\r\n };\r\n\r\n MessageChannel.reset = function() {\r\n messagePorts = {};\r\n };\r\n\r\n //\r\n _addMessagePortEventHandler(self);\r\n\r\n /**\r\n Send the MessagePorts to the other window\r\n `window.postMessage` doesn't accept fake ports so we have to encode them\r\n and pass them in the message.\r\n @param {Object} otherWindow: A reference to another window.\r\n @param {Object} message: Data to be sent to the other window.\r\n @param {String} targetOrigin: Specifies what the origin of otherWindow must be for the event to be dispatched.\r\n @param {Array} ports: MessagePorts that need to be sent to otherWindow.\r\n */\r\n if (Window) {\r\n Window.postMessage = function(otherWindow, message, targetOrigin, ports) {\r\n var data, entangledPort;\r\n\r\n // Internet Explorer requires the `ports` parameter\r\n ports = ports || [];\r\n\r\n data = MessageChannel.encodeEvent(message, ports, false);\r\n\r\n if (ports) {\r\n // We need to know if a port has been sent to another user agent\r\n // to decide when to queue and when to send messages\r\n // See `MessageChannel.propagateEvent`\r\n for (var i = 0; i < ports.length; i++) {\r\n entangledPort = ports[i]._getEntangledPort();\r\n if (!entangledPort._currentTarget) {\r\n entangledPort._currentTarget = otherWindow;\r\n entangledPort.destinationUrl = targetOrigin;\r\n }\r\n }\r\n }\r\n\r\n MessageChannel.log(ports, 'handshake window', otherWindow);\r\n otherWindow.postMessage(data, targetOrigin);\r\n };\r\n\r\n // Juggling to find where to override `addEventListener`\r\n // Firefox 30.0a1 (2014-02-17) adds `addEventListener` on the global object\r\n // Internet Explorer doesn't allow to override `window.attachEvent`\r\n var target;\r\n if (window.addEventListener) {\r\n target = window;\r\n } else if (window.attachEvent) {\r\n target = Window.prototype;\r\n } else {\r\n throw \"We couldn't find a method to attach an event handler.\";\r\n }\r\n\r\n _overrideMessageEventListener(target);\r\n } else {\r\n //Worker\r\n _overrideMessageEventListener(self);\r\n }\r\n\r\n if (self.Worker) {\r\n var OriginalWorker = Worker,\r\n originalAddEventListener;\r\n\r\n if (OriginalWorker.prototype.addEventListener) {\r\n originalAddEventListener = OriginalWorker.prototype.addEventListener;\r\n } else if (OriginalWorker.prototype.attachEvent) {\r\n originalAddEventListener = OriginalWorker.prototype.attachEvent;\r\n }\r\n\r\n self.Worker = function() {\r\n var worker = new OriginalWorker(arguments[0]),\r\n _addEventListener = originalAddEventListener;\r\n\r\n _addEventListener.call(worker, 'message', propagationHandler);\r\n\r\n return worker;\r\n };\r\n Worker.prototype = OriginalWorker.prototype;\r\n\r\n _overrideMessageEventListener(Worker.prototype);\r\n } else if (isInWorker()) {\r\n self.Worker = {};\r\n }\r\n\r\n if (self.Worker) {\r\n self.Worker.postMessage = function(worker, message, transferList) {\r\n var data = MessageChannel.encodeEvent(message, transferList, false),\r\n entangledPort;\r\n\r\n for (var i = 0; i < transferList.length; i++) {\r\n entangledPort = transferList[i]._getEntangledPort();\r\n entangledPort._currentTarget = worker;\r\n }\r\n\r\n MessageChannel.log(transferList, 'handshake worker', worker);\r\n worker.postMessage(data);\r\n };\r\n }\r\n } else {\r\n if (Window) {\r\n Window.postMessage = function(source, message, targetOrigin, ports) {\r\n // Internet Explorer requires the `ports` parameter\r\n ports = ports || [];\r\n source.postMessage(message, targetOrigin, ports);\r\n };\r\n } else {\r\n // Web worker\r\n self.Worker = {\r\n postMessage: function(worker, message, transferList) {\r\n worker.postMessage(message, transferList);\r\n },\r\n };\r\n }\r\n\r\n if (self.Worker) {\r\n self.Worker.postMessage = function(worker, message, transferList) {\r\n worker.postMessage(message, transferList);\r\n };\r\n }\r\n }\r\n})(window);\r\n\r\nconst postMessage = Window.postMessage;\r\nexport default postMessage;\r\n","import postMessage from '../../vendor/message_channel';\r\n\r\nexport const postToWindow = (win: Window, msg: any, ports?: MessagePort[]) =>\r\n postMessage(win, msg, '*', ports);\r\n","import { postToWindow } from './post';\r\n\r\nconst newId = (() => {\r\n let nextId = 1;\r\n return () => nextId++;\r\n})();\r\n\r\nexport default class Tunnel {\r\n public static connect(\r\n win: Window,\r\n type: string,\r\n handler: (data: any, tunnel: Tunnel) => void,\r\n ): Promise {\r\n return new Promise((resolve) => {\r\n const { port1, port2 } = new MessageChannel();\r\n const reqId = newId();\r\n const fn = (evt: MessageEvent) => {\r\n if (\r\n evt.data &&\r\n evt.data.type === '__tunnel_acc' &&\r\n evt.data.reqId === reqId\r\n ) {\r\n window.removeEventListener('message', fn);\r\n resolve(new Tunnel(port1, handler));\r\n }\r\n };\r\n window.addEventListener('message', fn);\r\n postToWindow(win, { type: '__tunnel_open', reqId, channel: type }, [\r\n port2,\r\n ]);\r\n });\r\n }\r\n\r\n public static listen(type: string, fn: (tunnel: Tunnel) => void) {\r\n window.addEventListener('message', (evt) => {\r\n if (\r\n evt.data &&\r\n evt.data.type === '__tunnel_open' &&\r\n evt.data.channel === type\r\n ) {\r\n const port = evt.ports && evt.ports[0];\r\n if (!port) {\r\n // tslint:disable-next-line:no-console\r\n console.warn('Received tunnel request without ports attached');\r\n }\r\n\r\n const tunnel = new Tunnel(port);\r\n postToWindow(evt.source!, {\r\n reqId: evt.data.reqId,\r\n type: '__tunnel_acc',\r\n });\r\n fn(tunnel);\r\n }\r\n });\r\n }\r\n\r\n private _id: number = newId(); // for debugging purposes\r\n private _port: MessagePort;\r\n private _handler: (evt: MessageEvent) => void;\r\n private _fn: ((data: any, tunnel: Tunnel) => void) | null;\r\n private constructor(\r\n port: MessagePort,\r\n fn: ((data: any, tunnel: Tunnel) => void) | null = null,\r\n ) {\r\n this._fn = fn;\r\n this._port = port;\r\n this._handler = (evt) => {\r\n if (this._fn) {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const fn = this._fn;\r\n fn(evt.data, this);\r\n }\r\n };\r\n this._port.addEventListener('message', this._handler);\r\n this._port.start();\r\n }\r\n\r\n public send(data: any) {\r\n this._port.postMessage(data);\r\n }\r\n\r\n public close() {\r\n this._port.close();\r\n }\r\n\r\n public set handler(fn: (data: any, tunnel: Tunnel) => void) {\r\n this._fn = fn;\r\n }\r\n}\r\n","import { EventEmitter } from 'eventemitter3';\r\n\r\nimport { IDialog } from './dialog';\r\nimport Tunnel from './tunnel';\r\n\r\nexport class DialogProxy extends EventEmitter implements IDialog {\r\n private [Symbol.toStringTag] = 'Dialog';\r\n\r\n private tunnel: Tunnel | null = null;\r\n private queue: Array<{ name: string, args: any[] }> = [];\r\n\r\n constructor(url: string) {\r\n super();\r\n Tunnel.connect(window.parent, 'dialog', ({ name, args }) => {\r\n this.emit(name, ...args);\r\n }).then((tunnel) => {\r\n this.tunnel = tunnel;\r\n this.queue.forEach((msg) => tunnel.send(msg));\r\n });\r\n this._call('setUrl', url);\r\n }\r\n\r\n public show(arg: any = {}) {\r\n //Sender med window.name som argument\r\n //til dialog-controlleren sånn at vi\r\n //vet hvilken dialog som åpnet ny dialog.\r\n //For å sikre oss at det ikke blir åpnet flere\r\n //dialoger på samme dialog samtidig. \r\n arg.windowName = window.name;\r\n return this._call('show', arg);\r\n }\r\n\r\n public close() {\r\n return this._call('close');\r\n }\r\n\r\n // TODO: Consolidate the two promise functions.\r\n public toPromise() {\r\n return new Promise((resolve, reject) => {\r\n this.once('ok', (...args) => resolve(args))\r\n .once('cancel', () => reject(new Error('Dialog canceled')));\r\n });\r\n }\r\n\r\n public toSafePromise() {\r\n return new Promise((resolve) => {\r\n this.once('close', () => resolve());\r\n });\r\n }\r\n\r\n private _call(name: string, ...args: any[]) {\r\n if (this.tunnel === null) {\r\n this.queue.push({ name, args });\r\n } else {\r\n this.tunnel.send({ name, args });\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n","import domready from 'domready';\r\nimport { EventEmitter } from 'eventemitter3';\r\n\r\nimport { DialogController, IDialogInfo } from './controller';\r\nimport { postToWindow } from './post';\r\nimport { DialogProxy } from './proxy';\r\nimport Tunnel from './tunnel';\r\n\r\nlet _dialogArgs: any = null;\r\nlet _isDialog: boolean = false;\r\n\r\nif (window.parent === window) {\r\n // this is the top window\r\n Tunnel.listen('dialog', (tunnel) => {\r\n return new DialogController(tunnel);\r\n });\r\n\r\n window.addEventListener('message', (evt) => {\r\n if (typeof evt.data === 'string' && evt.data.startsWith('!dialog!')) {\r\n const json = evt.data.substr('!dialog!'.length);\r\n const data = JSON.parse(json);\r\n if (data && data.type === '__global_dialog') {\r\n const { name, args } = data;\r\n (DialogController as any)[name](...args);\r\n }\r\n }\r\n });\r\n} else {\r\n domready(() => {\r\n const match = /_fdv_dialog:(\\d+)$/.exec(window.name);\r\n if (match) {\r\n _isDialog = true;\r\n const dialogId = match[1];\r\n const channel = new MessageChannel();\r\n channel.port1.addEventListener('message', (evt) => {\r\n channel.port1.close();\r\n const { args, extra } = evt.data;\r\n _dialogArgs = args;\r\n _evt.emit('ready', args, extra);\r\n });\r\n channel.port1.start();\r\n postToWindow(window.parent, `!dialog-${dialogId}-ready!`, [\r\n channel.port2,\r\n ]);\r\n }\r\n });\r\n}\r\n\r\nexport interface IDialog extends EventEmitter {\r\n show(arg?: any): this;\r\n close(): this;\r\n toPromise(): Promise;\r\n toSafePromise(): Promise;\r\n}\r\n\r\nexport const create = (url: string) => new DialogProxy(url) as IDialog;\r\n\r\nconst createGlobalCall = (name: string) => (...args: any[]) => {\r\n window.parent.postMessage(\r\n '!dialog!' +\r\n JSON.stringify({\r\n args,\r\n name,\r\n type: '__global_dialog',\r\n }),\r\n '*',\r\n );\r\n};\r\n\r\nconst _evt = new EventEmitter();\r\n\r\nexport const ok = createGlobalCall('ok');\r\nexport const cancel = createGlobalCall('cancel');\r\nexport const close = createGlobalCall('close');\r\n\r\nexport const args = () => _dialogArgs;\r\nexport const isDialog = () => _isDialog;\r\nexport const ready = (fn: (args: any, extra: IDialogInfo) => void) =>\r\n _evt.on('ready', fn);\r\n","import deprecated from '../deprecated';\r\nimport { IDialog, cancel, close, create, ok } from './dialog';\r\n\r\nlet open = false;\r\n(window as any).Dialog = {\r\n IFrame: {\r\n Create(url: string, args: any) {\r\n if (!args) { args = {}; }\r\n args._old = true;\r\n deprecated((window as any).Dialog.Create, 'Dialog.Iframe.Create', 'FDV.dialog.create');\r\n const dialog = create(url);\r\n const self = {\r\n // tslint:disable-next-line:ban-types\r\n addEvents(evts: { [name: string]: Function }) {\r\n Object.keys(evts).forEach((n) => dialog.on(n, evts[n] as any));\r\n return self;\r\n },\r\n\r\n // tslint:disable-next-line:ban-types\r\n addEvent(evt: string, fn: Function) {\r\n dialog.on(evt, fn as any);\r\n return self;\r\n },\r\n\r\n open() {\r\n if (open) {\r\n // if a dialog is already open at this window, ignore this open call.\r\n return;\r\n }\r\n\r\n open = true;\r\n dialog.once('close', () => {\r\n open = false;\r\n });\r\n\r\n dialog.show(args);\r\n return self;\r\n },\r\n };\r\n\r\n return self;\r\n },\r\n },\r\n\r\n Ok(vals: any[] | any) {\r\n deprecated((window as any).Dialog.Ok, 'Dialog.Iframe.Ok', 'FDV.dialog.ok');\r\n if (!Array.isArray(vals)) { vals = Array.of(vals); }\r\n ok(null, null, null, ...vals);\r\n },\r\n\r\n Cancel() {\r\n deprecated((window as any).Dialog.Cancel, 'Dialog.Iframe.Cancel', 'FDV.dialog.cancel');\r\n cancel();\r\n },\r\n\r\n Close() {\r\n deprecated((window as any).Dialog.Close, 'Dialog.Iframe.Close', 'FDV.dialog.close');\r\n close();\r\n },\r\n};\r\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && msCrypto.getRandomValues.bind(msCrypto));\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n"],"sourceRoot":""}