{"version":3,"file":"client/js/v1-0/jquery3-bootstrap4.js","mappings":"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","sources":["webpack://uneek_sso/webpack/runtime/load script","webpack://uneek_sso/./app/javascript/client/after_base.js","webpack://uneek_sso/./app/javascript/client/base.js","webpack://uneek_sso/./app/javascript/client/jquery3/bootstrap4/base.js","webpack://uneek_sso/./app/javascript/client/jquery3/bootstrap4/user_sessions_tabs.js","webpack://uneek_sso/./app/javascript/client/jquery3/user_sessions.js","webpack://uneek_sso/./app/javascript/client/channels/consumer.js","webpack://uneek_sso/./app/javascript/client/channels/notification_channel.js","webpack://uneek_sso/./app/javascript/client/webpack_require.js","webpack://uneek_sso/webpack/bootstrap","webpack://uneek_sso/webpack/runtime/compat get default export","webpack://uneek_sso/webpack/runtime/define property getters","webpack://uneek_sso/webpack/runtime/ensure chunk","webpack://uneek_sso/webpack/runtime/get javascript chunk filename","webpack://uneek_sso/webpack/runtime/get mini-css chunk filename","webpack://uneek_sso/webpack/runtime/hasOwnProperty shorthand","webpack://uneek_sso/webpack/runtime/make namespace object","webpack://uneek_sso/webpack/runtime/publicPath","webpack://uneek_sso/webpack/runtime/jsonp chunk loading","webpack://uneek_sso/./app/javascript/client/jquery3/autocomplete.js","webpack://uneek_sso/./app/javascript/client/jquery3/jwt/create.js","webpack://uneek_sso/./app/javascript/client/jquery3/jwt/session.js","webpack://uneek_sso/./app/javascript/client/jquery3/jwt/service.js","webpack://uneek_sso/./app/javascript/client/jquery3/jwt/index.js","webpack://uneek_sso/./app/javascript/client/jquery3/index.js","webpack://uneek_sso/./app/javascript/client/packs/v1-0/jquery3-bootstrap4.js"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"uneek_sso:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","UneekSso._loadFunction = UneekSso._loadFunction || function (f) {\n if (typeof Turbolinks === \"undefined\") {\n if (document.readyState !== \"loading\") {\n window.setTimeout(f)\n } else {\n window.addEventListener(\"load\", f)\n }\n } else {\n window.addEventListener(\"turbolinks:load\", f);\n }\n};\n\nUneekSso.UserSessions.getCasBaseLoginUrl = UneekSso.UserSessions.getCasBaseLoginUrl || function () {\n return UneekSso.UserSessions.casBaseLoginUrl; // user defined\n};\n\nUneekSso.UserSessions.getCasLoginUrl = UneekSso.UserSessions.getCasLoginUrl || function () {\n var baseUrl = UneekSso.UserSessions.getCasBaseLoginUrl();\n\n var params = {};\n this._addThemeToParams(params);\n this._addTemporaryTokenToParams(params);\n\n var connectChar = (baseUrl.indexOf(\"?\") > 0) ? \"&\" : \"?\";\n return baseUrl + connectChar + new URLSearchParams(params).toString();\n};\n\nUneekSso.UserSessions._addThemeToParams = UneekSso.UserSessions._addThemeToParams || function (params) {\n if (!UneekSso.UserSessions.theme)\n return params;\n params.theme = UneekSso.UserSessions.theme;\n return params;\n};\n\nUneekSso.UserSessions._addTemporaryTokenToParams = UneekSso.UserSessions._addTemporaryTokenToParams || function (params) {\n if (!UneekSso.UserSessions.temporaryTokenInParams)\n return params;\n var locationParams = new URLSearchParams(window.location.search);\n if (!locationParams.has(\"user[login]\") && !locationParams.has(\"user[password]\"))\n return params;\n params[\"user[login]\"] = locationParams.get(\"user[login]\");\n params[\"user[password]\"] = locationParams.get(\"user[password]\");\n return params;\n};\n\nUneekSso.UserSessions.isConnecting = UneekSso.UserSessions.isConnecting || function () {\n return !!this._connecting;\n};\n\nUneekSso.UserSessions.manageRenderServiceXhr = UneekSso.UserSessions.manageRenderServiceXhr || function (xhr, f, formOpened) {\n if (xhr.status === 201) {\n // already connected\n UneekSso.UserSessions.renderServiceXhr(xhr, formOpened); // TODO if reload cable: on any XHR request here\n } else {\n f(xhr);\n }\n};\n\nUneekSso.UserSessions.renderServiceXhr = UneekSso.UserSessions.renderServiceXhr || function (xhr, formOpened) {\n UneekSso.UserSessions.loginSucceeds(xhr);\n};\n\nUneekSso.UserSessions.loginSucceeds = UneekSso.UserSessions.loginSucceeds || function (xhr) {\n // TODO data contains the page content; it is stupid to redirect to it... (see replace())\n if (typeof Turbolinks === \"undefined\")\n location.reload();\n else\n Turbolinks.visit(location); // TODO reload cable: and here\n};\n\nUneekSso.UserSessions.loginFailed = UneekSso.UserSessions.loginFailed || function (xhr) {\n if ((xhr.status === 0) && (xhr.readyState === 0)) {\n // bug with Firefox: impossible to follow redirection\n UneekSso.UserSessions._loginFailedFirefoxRedirection(xhr);\n } else if ((xhr.status >= 400) && (xhr.status < 500)) {\n // user error\n UneekSso.UserSessions._loginFailedUserError(xhr);\n } else {\n // other error, probably server\n UneekSso.UserSessions._loginFailedServerError(xhr);\n }\n};\n\nUneekSso.UserSessions._loginFailedFirefoxRedirection = UneekSso.UserSessions.loginFailedFirefoxRedirection || function (xhr) {\n // we should be connected to SSO server, therefore we redirect manually to service URL\n UneekSso.UserSessions._redirectToCasLogin();\n};\n\nUneekSso.UserSessions._loginFailedUserError = UneekSso.UserSessions._loginFailedUserError || function (xhr) {\n console.warn(xhr.responseText);\n if (!UneekSso.dev)\n UneekSso.UserSessions._redirectToCasLogin();\n};\n\nUneekSso.UserSessions._loginFailedServerError = UneekSso.UserSessions._loginFailedServerError || function (xhr) {\n console.error(xhr.responseText);\n if (!UneekSso.dev)\n UneekSso.UserSessions._redirectToCasLogin();\n};\n\nUneekSso.UserSessions._redirectToCasLogin = UneekSso.UserSessions._redirectToCasLogin || function () {\n window.location = UneekSso.UserSessions.getCasLoginUrl();\n};\n\nUneekSso.UserSessions.getCasLogoutUrl = UneekSso.UserSessions.getCasLogoutUrl || function () {\n return UneekSso.UserSessions.casLogoutUrl; // user defined\n};\n\nUneekSso.UserSessions.logoutSucceeded = UneekSso.UserSessions.logoutSucceeded || function (xhr) {\n // user redefined\n};\n\nUneekSso.UserSessions.logoutFailed = UneekSso.UserSessions.logoutFailed || function (xhr) {\n window.location = UneekSso.UserSessions.getCasLogoutUrl();\n};\n\nUneekSso.onLoad(function () {\n if (typeof Turbolinks === \"undefined\")\n return;\n // logout with Turbolinks\n document.addEventListener(\"turbolinks:request-start\", function (event) {\n if (!UneekSso.UserSessions.isLogoutUrl || !UneekSso.UserSessions.isLogoutUrl(event.data.url))\n return;\n event.data.xhr.withCredentials = true;\n });\n});\n\nUneekSso.load();\n","if (!\"UneekSso\" in window)\n window.UneekSso = {};\n\nvar UneekSso = window.UneekSso;\n\nUneekSso.onLoad = UneekSso.onLoad || function (f) {\n if (typeof this._toLoad === \"undefined\")\n this._toLoad = [];\n this._toLoad.push(f);\n};\n\nUneekSso.load = UneekSso.load || function () {\n if (typeof this._toLoad !== \"undefined\") {\n while (this._toLoad.length > 0) {\n UneekSso._loadFunction(this._toLoad.shift())\n }\n }\n if (typeof this.afterLoad !== \"undefined\") {\n while (this.afterLoad.length > 0) {\n UneekSso._loadFunction(this.afterLoad.shift())\n }\n }\n};\n\nUneekSso.UserSessions = UneekSso.UserSessions || {};\n\nimport \"./webpack_require\"\n","UneekSso.UserSessions = $.extend({\n onLoad: function () {\n if (UneekSso.UserSessions.modalSelector) {\n $(document).on(\"show.bs.modal\", UneekSso.UserSessions.modalSelector, UneekSso.UserSessions._showModal);\n $(document).on(\"hide.bs.modal\", UneekSso.UserSessions.modalSelector, UneekSso.UserSessions._hideModal);\n $(document).on(\"submit\", UneekSso.UserSessions.modalSelector, UneekSso.UserSessions._submitModal);\n }\n },\n\n getTabsSelector: function () {\n return UneekSso.UserSessions.modalSelector + \" .modal-header .nav-link\";\n },\n\n getInactiveTabsSelector: function () {\n return UneekSso.UserSessions.getTabsSelector() + \":not(.active)\";\n },\n\n _getModalContent: function (modal) {\n return modal.find(\".modal-content\");\n }\n}, UneekSso.UserSessions);\n\nUneekSso.onLoad(UneekSso.UserSessions.onLoad);\n","(function ($) {\n var tabs = UneekSso.UserSessions.getTabsSelector();\n var inactiveTabs = UneekSso.UserSessions.getInactiveTabsSelector();\n\n function enableTabInputs(tab, enable) {\n $(tab.hash).find(\"input, textarea, select\").prop(\"disabled\", !enable);\n $(tab).trigger(\"formInputsEnabled.uneekSso\", [enable]);\n }\n\n $(document).on(\"show.bs.tab\", tabs, function () {\n enableTabInputs(this, true);\n });\n $(document).on(\"hide.bs.tab\", tabs, function () {\n enableTabInputs(this, false);\n });\n\n $(document).on(\"loginFormLoaded.uneekSso\", function () {\n $(inactiveTabs).each(function () {\n enableTabInputs(this, false);\n });\n });\n})(jQuery);\n","UneekSso.UserSessions = $.extend({\n modalSelector: null, // user defined\n defaultAjaxOptions: {},\n showModalAjaxOptions: {},\n submitModalAjaxOptions: {},\n logoutXhrAjaxOptions: {},\n\n logoutXhr: function () {\n return this._sendAjax(\"logoutXhr\", {\n type: \"GET\",\n url: UneekSso.UserSessions.getCasLogoutUrl(),\n success: function (data, textStatus, xhr) {\n UneekSso.UserSessions.logoutSucceeded(xhr);\n },\n error: UneekSso.UserSessions.logoutFailed,\n })\n },\n\n _sendAjax: function (action, ajaxOptions) {\n return $.ajax($.extend({\n dataType: \"html\",\n crossDomain: true,\n xhrFields: {\n withCredentials: true,\n },\n beforeSend: (xhr) => {\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\")\n },\n }, UneekSso.UserSessions.defaultAjaxOptions, ajaxOptions, UneekSso.UserSessions[action + \"AjaxOptions\"] || {}));\n },\n\n // redefined\n _getModalContent: function (modal) {\n return null;\n },\n\n _loadModalContent: function (data) {\n var $modal = $(UneekSso.UserSessions.modalSelector);\n var modalContent = UneekSso.UserSessions._getModalContent($modal);\n if (!UneekSso.UserSessions._oldModalContent)\n UneekSso.UserSessions._oldModalContent = modalContent.html();\n modalContent.html(data);\n $modal.trigger(\"loginFormLoaded.uneekSso\");\n },\n\n _restoreModalContent: function () {\n var $modal = $(UneekSso.UserSessions.modalSelector);\n if (UneekSso.UserSessions._oldModalContent) {\n var modalContent = UneekSso.UserSessions._getModalContent($modal);\n modalContent.html(UneekSso.UserSessions._oldModalContent);\n UneekSso.UserSessions._oldModalContent = null;\n }\n $modal.trigger(\"loginFormUnloaded.uneekSso\");\n },\n\n _showModal: function (e) {\n UneekSso.UserSessions._sendAjax(\"showModal\", {\n type: \"GET\",\n url: UneekSso.UserSessions.getCasLoginUrl(),\n success: function (data, textStatus, xhr) {\n UneekSso.UserSessions.manageRenderServiceXhr(xhr, function () {\n UneekSso.UserSessions._loadModalContent(xhr.responseText);\n }, true);\n },\n error: UneekSso.UserSessions._loginXhrError,\n });\n },\n\n _hideModal: function (e) {\n UneekSso.UserSessions._restoreModalContent();\n },\n\n _submitModal: function (e) {\n e.preventDefault();\n\n var $form = $(e.target);\n var isSessionForm = $form.hasClass(\"user-sessions-form\")\n if (isSessionForm) {\n UneekSso.UserSessions._connecting = true;\n }\n\n UneekSso.UserSessions._sendAjax(\"submitModal\", {\n type: $form.prop(\"method\") || \"POST\",\n url: $form.prop(\"action\"),\n data: $form.serializeArray(),\n success: function (data, textStatus, xhr) {\n if (isSessionForm) {\n UneekSso.UserSessions._connecting = false;\n\n UneekSso.UserSessions.manageRenderServiceXhr(xhr, UneekSso.UserSessions.loginSucceeds, true);\n } else {\n UneekSso.UserSessions._loadModalContent(xhr.responseText);\n }\n },\n error: function (xhr) {\n if (isSessionForm) {\n UneekSso.UserSessions._connecting = false;\n }\n\n UneekSso.UserSessions._loginXhrError(xhr);\n },\n });\n\n return false;\n },\n\n _loginXhrError: function (xhr) {\n if (xhr.status === 401) {\n UneekSso.UserSessions._loadModalContent(xhr.responseText);\n } else {\n UneekSso.UserSessions.loginFailed(xhr);\n }\n },\n\n _loginFailedUserError: function (xhr) {\n if (UneekSso.dev)\n UneekSso.UserSessions._loadModalContent(xhr.responseText);\n else\n UneekSso.UserSessions._redirectToCasLogin();\n },\n\n _loginFailedServerError: function (xhr) {\n if (UneekSso.dev)\n UneekSso.UserSessions._loadModalContent(xhr.responseText);\n else\n UneekSso.UserSessions._redirectToCasLogin();\n }\n}, UneekSso.UserSessions);\n","// Action Cable provides the framework to deal with WebSockets in Rails.\n// You can generate new channels where WebSocket features live using the `rails generate channel` command.\n\nexport default (function() {\n let createConsumer\n if ((typeof ActionCable !== \"undefined\") && !ActionCable.createWebSocketURL) { // filter actioncable >= 6 (Action.createWebSocketURL Action.createWebSocketURL used to be a function)\n if (typeof Promise !== \"undefined\") {\n createConsumer = Promise.resolve(ActionCable.createConsumer)\n } else { // for Mathusalem Explorer\n createConsumer = {\n then: f => f(ActionCable.createConsumer)\n }\n }\n } else {\n createConsumer = import(\"@rails/actioncable\").then((actioncable) => actioncable.createConsumer)\n }\n\n return createConsumer.then(f => {\n this.App || (this.App = {})\n return this.App.cable = f(this.url + \"/cable\")\n })\n}).call(UneekSso)\n","import consumer from \"./consumer\"\n\n(function() {\n this.App || (this.App = {})\n\n this.App.notification = consumer.then((consumer) => {\n return consumer.subscriptions.create(\"NotificationChannel\", {\n received: function (data) {\n for (var k in data) {\n switch(k) {\n case \"notification\":\n this._sendNotification(data[k])\n break\n }\n }\n },\n\n updateNotificationStatus: function (id, status, reason) {\n if (typeof id === \"undefined\")\n return\n this.perform(\"update_notification_status\", {\n id: id,\n status: status,\n reason: reason\n })\n },\n\n _sendNotification: function (params) {\n return this._withGrantedNotifications(() => {\n this._constructNotification(params)\n }, (reason) => {\n return this._rejectNotification(params, reason)\n })\n },\n\n // TODO \"default\" is now a valid result and so we can lose some notifications\n _withGrantedNotifications: function (resolve, reject) {\n if (!(\"Notification\" in window)) {\n return reject(\"unsupported\")\n } else if (Notification.permission === \"granted\") {\n return resolve()\n } else if (Notification.permission === \"denied\") {\n return reject(\"denied\")\n } else {\n Notification.requestPermission((permission) => {\n if (!(\"permission\" in Notification))\n Notification.permission = permission\n\n if (permission === \"granted\")\n return resolve()\n else\n return reject(\"denied\")\n })\n }\n },\n\n _constructNotification: function (params) {\n var notification = new Notification(params.title, params)\n notification.onshow = () => {\n this.updateNotificationStatus(params.id, \"received\")\n }\n notification.onclick = () => {\n this.updateNotificationStatus(params.id, \"read\")\n if (params.link) {\n window.open(params.link)\n }\n }\n notification.onerror = () => {\n this._rejectNotification(params, \"client_error\")\n }\n return notification\n },\n\n _rejectNotification: function (params, reason) {\n this.updateNotificationStatus(params.id, \"rejected\", reason)\n }\n })\n })\n}).call(UneekSso)\n","__webpack_require__.p = UneekSso.url.substring(0, UneekSso.url.length - APP_PATH_PREFIX.length) + __webpack_require__.p\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \"-\" + \"21f6b8481b008795eb3f\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/packs/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t820: 0,\n\t107: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkuneek_sso\"] = self[\"webpackChunkuneek_sso\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","function users(options = {}) {\n return $.ajax(this._usersAjaxOptions(options))\n}\n\nfunction _usersAjaxOptions(options = {}) {\n return {\n method: \"GET\",\n url: `${UneekSso.url}/users/autocomplete`,\n data: (params) => {\n params.service = UneekSso.service\n return params;\n },\n dataType: \"json\",\n processResults: (data) => {\n return {\n results: data,\n pagination: {\n more: (data.length >= 10), // AutocompleteController::AUTOCOMPLETE_MAX_LIMIT\n },\n }\n },\n crossDomain: false,\n xhrFields: {\n withCredentials: true,\n },\n }\n}\n\nexport default {\n users,\n _usersAjaxOptions,\n}\n","function create(service, options = {}) {\n return $.ajax(this._createOptions(service, options))\n}\n\nfunction _createOptions(service, options = {}) {\n return {\n method: \"POST\",\n url: `${UneekSso.url}/jwt`,\n data: {\n service: service,\n },\n xhrFields: {\n withCredentials: true,\n },\n }\n}\n\nexport default {\n create,\n _createOptions,\n}\n","import Create from \"./create\"\n\nexport default class Session {\n static create(url, options = {}) {\n return Create.create(url, options).then(token => new Session(token))\n }\n\n constructor(token) {\n this.token = token\n this.valid = true\n }\n\n ajax(options = {}) {\n const self = this\n let deferred = $.Deferred()\n const request = $.ajax(this.ajaxOptions(options))\n request.then(function () {\n deferred.resolveWith(request, arguments)\n }, function (xhr) {\n if (xhr.status === 401) {\n self.valid = false\n }\n deferred.rejectWith(request, arguments)\n })\n return deferred\n }\n\n ajaxOptions(options = {}) {\n return $.extend({\n headers: $.extend({\n Authorization: `Bearer ${this.token}`,\n }, options.headers),\n }, options)\n }\n}\n","import Session from \"./session\"\n\nexport default class Service {\n static create(url) {\n if (!this._instances)\n this._instances = new Map\n if (!this._instances.has(url)) {\n this._instances.set(url, new Service(url))\n }\n return this._instances.get(url)\n }\n\n constructor(url) {\n this.url = url\n }\n\n ajax(options = {}) {\n // this is the code in a async method with classical Promise\n /*\n\n if (!this._currentSession) {\n this._currentSession = await this._createSession()\n }\n\n try {\n return await this._currentSession.ajax(options)\n } catch (e) {\n if (!this._currentSession.valid) {\n this._currentSession = await this._createSession()\n return await this._currentSession.ajax(options)\n } else {\n throw e\n }\n }\n */\n\n // this is the code with jQuery Deferred\n const self = this\n let deferred = $.Deferred()\n\n function ajax(options) {\n const request = self._currentSession.ajax(options)\n request.then(function () {\n deferred.resolveWith(request, arguments)\n }, function () {\n if (!self._currentSession.valid) {\n const sessionRequest = self._createSession()\n sessionRequest.then(function (session) {\n self._currentSession = session\n const request2 = self._currentSession.ajax(options)\n request2.then(function () {\n deferred.resolveWith(request2, arguments)\n }, function () {\n deferred.rejectWith(request2, arguments)\n })\n }, function () {\n deferred.rejectWith(sessionRequest, arguments)\n })\n } else {\n deferred.rejectWith(request, arguments)\n }\n })\n }\n\n if (!self._currentSession) {\n const sessionRequest = self._createSession()\n sessionRequest.then(function (session) {\n self._currentSession = session\n ajax(options)\n }, function () {\n deferred.rejectWith(sessionRequest, arguments)\n })\n } else {\n ajax(options)\n }\n\n return deferred\n }\n\n _createSession() {\n return Session.create(this.url)\n }\n}\n","import Create from \"./create\"\nimport Service from \"./service\"\nimport Session from \"./session\"\n\nexport default {\n ...Create,\n Service,\n service: Service.create,\n Session,\n}\n","import \"./user_sessions\"\n\nimport Autocomplete from \"./autocomplete\"\nimport JWT from \"./jwt\"\n\nUneekSso._loadFunction = UneekSso._loadFunction || function (f) {\n if (typeof Turbolinks === \"undefined\")\n $(f);\n else\n $(document).on(\"turbolinks:load\", f);\n};\n\nUneekSso.Autocomplete = Autocomplete\nUneekSso.JWT = JWT\n","import \"../../base\"\nimport \"../../jquery3/bootstrap4\"\nimport \"../../jquery3\"\nimport \"./notification\"\nimport \"../../after_base\"\n\nUneekSso.UserSessions.theme = UneekSso.UserSessions.theme || \"bootstrap4\";\n"],"names":["inProgress","dataWebpackPrefix","UneekSso","_loadFunction","f","Turbolinks","document","readyState","window","setTimeout","addEventListener","UserSessions","getCasBaseLoginUrl","casBaseLoginUrl","getCasLoginUrl","baseUrl","params","this","_addThemeToParams","_addTemporaryTokenToParams","connectChar","indexOf","URLSearchParams","toString","theme","temporaryTokenInParams","locationParams","location","search","has","get","isConnecting","_connecting","manageRenderServiceXhr","xhr","formOpened","status","renderServiceXhr","loginSucceeds","reload","visit","loginFailed","_loginFailedFirefoxRedirection","_loginFailedUserError","_loginFailedServerError","loginFailedFirefoxRedirection","_redirectToCasLogin","console","warn","responseText","dev","error","getCasLogoutUrl","casLogoutUrl","logoutSucceeded","logoutFailed","onLoad","event","isLogoutUrl","data","url","withCredentials","load","_toLoad","push","length","shift","afterLoad","$","extend","modalSelector","on","_showModal","_hideModal","_submitModal","getTabsSelector","getInactiveTabsSelector","_getModalContent","modal","find","tabs","inactiveTabs","enableTabInputs","tab","enable","hash","prop","trigger","each","jQuery","defaultAjaxOptions","showModalAjaxOptions","submitModalAjaxOptions","logoutXhrAjaxOptions","logoutXhr","_sendAjax","type","success","textStatus","action","ajaxOptions","ajax","dataType","crossDomain","xhrFields","beforeSend","setRequestHeader","_loadModalContent","$modal","modalContent","_oldModalContent","html","_restoreModalContent","e","_loginXhrError","preventDefault","$form","target","isSessionForm","hasClass","serializeArray","createConsumer","ActionCable","createWebSocketURL","then","actioncable","Promise","resolve","App","cable","call","notification","consumer","subscriptions","create","received","k","_sendNotification","updateNotificationStatus","id","reason","perform","_withGrantedNotifications","_constructNotification","_rejectNotification","reject","Notification","permission","requestPermission","title","onshow","onclick","link","open","onerror","__webpack_require__","p","substring","APP_PATH_PREFIX","__webpack_module_cache__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","chunkId","all","keys","reduce","promises","u","miniCssF","obj","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","i","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","bind","head","appendChild","r","Symbol","toStringTag","value","installedChunks","j","installedChunkData","promise","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","self","users","options","_usersAjaxOptions","method","service","processResults","results","pagination","more","_createOptions","Session","static","Create","token","constructor","valid","deferred","Deferred","resolveWith","arguments","rejectWith","headers","Authorization","Service","_instances","Map","set","_currentSession","sessionRequest","_createSession","session","request2","Autocomplete","JWT"],"sourceRoot":""}