{"version":3,"sources":["../App/Main.js","../App/Admin/admin-setup.js","../App/Admin/client-edit-component.js","../App/Admin/client-themes-component.js","../App/Admin/clients-component.js","../App/ApiGateway/ApiGateway.js","../App/ApiGateway/AuthApiGateway.js","../App/Error/error-component.js","../App/Login/login-component.js","../App/Login/mfa-entry-component.js","../App/Login/mfa-setup-component.js","../App/Login/mfa-verification-component.js","../App/Login/reset-close-component.js","../App/Login/reset-component.js","../App/Login/reset-expired-component.js","../App/Login/reset-mfa-entry-component.js","../App/Login/reset-verify-component.js","../App/Login/signup-component.js","../App/Login/signup-expired-component.js","../App/Login/success-component.js","../App/Providers/authenticationApi.js","../App/Providers/clientApi.js","../App/Providers/mfaDeviceApi.js","../App/Providers/passwordResetApi.js","../App/Providers/userApi.js","../App/Providers/userRegistrationApi.js","../App/Root/root-setup.js","../App/SelectDevice/reset-select-device.js","../App/SelectDevice/select-device.js","../App/Services/authenticationTransitionService.js","../App/Services/loginRedirectService.js","../App/Services/parameterResolver.js","../App/Services/titleTransitionService.js","../App/Settings/account-settings-component.js","../App/Settings/mfa-settings-component.js","../App/Settings/password-update-component.js"],"names":[],"mappings":"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","file":"app.js","sourcesContent":["(function (ng, window, doc, module) {\n\n var dependencies = [\"ui.router\", \"ngSanitize\", \"ngAnimate\", \"ngMaterial\", \"ngMessages\"];\n window.app = ng.module(module, dependencies);\n\n ng.element(doc).ready(function () {\n ng.bootstrap(doc, [module], { strictDi: true });\n });\n\n})(window.angular, window, window.document, \"auth\"); // jshint ignore:line","(function (app, ng) {\n\n function resolveParam(param) {\n return [\"$transition$\", function ($transition$) { return $transition$.params()[param]; }];\n }\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Admin\", {\n url: \"/Admin?\",\n abstract: true,\n component: \"admin\",\n redirectTo: \"Admin.Clients\"\n });\n }]);\n\n app.component(\"admin\", {\n templateUrl: \"/App/Admin/admin.html\",\n controller: adminController,\n bindings: {}\n });\n\n function adminController() {\n document.getElementById(\"copyright\").innerHTML = getThisYear();\n function getThisYear() {\n var date = new Date();\n return date.getFullYear();\n }\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Admin.EditClient\", {\n url: \"/Edit/{adminClientId}\",\n component: \"editClient\",\n resolve: {\n client: [\"$transition$\", \"clientApi\", function ($transition$, clientApi) {\n return clientApi.getClient($transition$.params().adminClientId);\n }],\n //redirectUris: [\"$transition$\", \"clientApi\", function ($transition$, clientApi) {\n // return clientApi.getRedirectUris($transition$.params().adminClientId);\n //}],\n defaultTheme: [\"$transition$\", \"clientApi\", function ($transition$, clientApi) {\n return clientApi.getDefaultTheme($transition$.params().adminClientId);\n }],\n themes: [\"$transition$\", \"clientApi\", function ($transition$, clientApi) {\n return clientApi.getThemes($transition$.params().adminClientId);\n }]\n },\n protected: true,\n });\n }]);\n\n app.component(\"editClient\", {\n templateUrl: \"/App/Admin/client-edit.html\",\n controller: editClientCtrl,\n bindings: {\n client: \"<\",\n // redirectUris: \"<\",\n defaultTheme: \"<\",\n themes: \"<\"\n }\n });\n\n app.directive(\"figFile\", [\"$q\", function ($q) {\n return {\n scope: {\n preview: \"=?preview\"\n },\n require: [\"ngModel\"],\n link: function (scope, elem, attrs, ctrls) {\n var computePreview = scope.hasOwnProperty(\"preview\");\n var ngModel = ctrls[0];\n elem.bind(\"change\", function (ev) {\n ngModel.$setViewValue({ blob: ev.target.files[0], name: ev.target.files[0].name });\n if (!computePreview) return;\n var def = $q.defer();\n var reader = new FileReader();\n reader.onload = function (e) {\n def.resolve(e.target.result);\n };\n reader.readAsDataURL(ev.target.files[0]);\n def.promise.then(function (url) {\n scope.$applyAsync(function () { scope.preview = url });\n });\n });\n }\n };\n }]);\n\n editClientCtrl.$inject = [\"clientApi\", \"loginRedirectService\"];\n function editClientCtrl(clientApi, loginRedirectService) {\n var $ctrl = this;\n $ctrl.save = function save() {\n var model = ng.extend({}, $ctrl.client, $ctrl.defaultTheme); // , { RedirectUris: $ctrl.redirectUris });\n var fd = new FormData();\n fd.append(\"model\", ng.toJson(model));\n if ($ctrl.logo) fd.append(\"logo\", $ctrl.logo.blob, $ctrl.logo.name);\n return clientApi.updateClient($ctrl.client.ClientId, fd, {\n headers: { \"Content-Type\": undefined },\n transformRequest: ng.identity\n }).catch(function (err) {\n if (err.status === 401 || err.status === 403) {\n loginRedirectService.redirect();\n }\n });\n };\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n \n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Admin.EditClient.EditTheme\", {\n url: \"/Themes/{themeId}\",\n component: \"editTheme\",\n resolve: {\n theme: [\"$transition$\", \"themes\", \"$q\", function ($transition$, themes, $q) {\n var themeId = $transition$.params().themeId;\n if (themeId === \"new\")\n return { isNew: true };\n return themes.find(function (t) { return t.ThemeId == themeId; }) || $q.reject();\n }]\n },\n protected: true,\n });\n }]);\n\n app.component(\"editTheme\", {\n templateUrl: \"/App/Admin/client-themes.html\",\n controller: themeCtrl,\n bindings: {\n theme: \"<\",\n client: \"<\", \n onAddTheme: \"&\"\n }\n });\n\n themeCtrl.$inject = [\"$http\", \"$state\", \"loginRedirectService\"];\n function themeCtrl($http, $state, loginRedirectService) {\n var $ctrl = this;\n $ctrl.save = function save() {\n var model = ng.extend({}, $ctrl.theme);\n var fd = new FormData();\n fd.append(\"model\", ng.toJson(model));\n if ($ctrl.logo) fd.append(\"logo\", $ctrl.logo.blob, $ctrl.logo.name);\n var options = {\n headers: { \"Content-Type\": undefined },\n transformRequest: ng.identity\n };\n if (!$ctrl.theme.isNew) return $http.put(\"/Clients/\" + $ctrl.client.ClientId + \"/Themes/\" + $ctrl.theme.ThemeId, fd, options).catch(function (err) {\n if (err.status === 401 || err.status === 403) {\n loginRedirectService.redirect();\n }\n });\n return $http.post(\"/Clients/\" + $ctrl.client.ClientId + \"/Themes\", fd, options).then(function (response) {\n // onAddTheme, build obj and send back to parent list\n $state.go(\".\", { themeId: response.data });\n }).catch(function (err) {\n if (err.status === 401 || err.status === 403) {\n loginRedirectService.redirect();\n }\n });\n };\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Admin.Clients\", {\n url: \"/Clients\",\n component: \"adminClients\",\n resolve: {\n clients: [\"clientApi\", function (clientApi) {\n return clientApi.getClients();\n }]\n },\n protected: true,\n });\n }]);\n\n app.component(\"adminClients\", {\n templateUrl: \"/App/Admin/clients.html\",\n controller: adminClientsCtrl,\n bindings: {\n clients: \"<\"\n }\n });\n\n adminClientsCtrl.$inject = [];\n function adminClientsCtrl() {\n var $ctrl = this;\n //ctrl.addClient = ...\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.provider(\"figApiGatewayBuilder\", [function () {\n this.$get = [\"$http\", \"runtimeHttpInterceptors\", \"$injector\", \"$q\", function ($http, runtimeHttpInterceptors, $injector, $q) {\n var key = \"_apiGatewayKey\";\n\n // ReSharper disable once InconsistentNaming\n function ApiGateway(baseUrl) {\n this.baseUrl = baseUrl;\n this.tag = {};\n }\n\n function tagConfig(tag, config) {\n var x = {};\n x[key] = tag;\n return ng.extend(x, config);\n }\n\n\n ApiGateway.prototype.get = function (relativeUrl, config) {\n config = tagConfig(this.tag, config);\n return $http.get(this.baseUrl + relativeUrl, config);\n };\n\n ApiGateway.prototype.getArray = function (relativeUrl, config) {\n config = tagConfig(this.tag, config);\n return $http.get(this.baseUrl + relativeUrl, config);\n };\n\n ApiGateway.prototype.getFile = function (relativeUrl, config) {\n config = tagConfig(this.tag, config);\n return $http.get(this.baseUrl + relativeUrl, ng.extend({ responseType: \"blob\" }, config));\n };\n\n ApiGateway.prototype.put = function (relativeUrl, data, config) {\n config = tagConfig(this.tag, config);\n return $http.put(this.baseUrl + relativeUrl, data, config);\n };\n\n ApiGateway.prototype.putFile = function (relativeUrl, data) {\n var config = tagConfig(this.tag, {\n headers: { \"Content-Type\": undefined },\n transformRequest: ng.identity\n });\n return $http.put(this.baseUrl + relativeUrl, data, config);\n };\n\n ApiGateway.prototype.post = function (relativeUrl, data, config) {\n config = tagConfig(this.tag, config);\n return $http.post(this.baseUrl + relativeUrl, data, config);\n };\n\n ApiGateway.prototype.postFile = function (relativeUrl, data) {\n var config = tagConfig(this.tag, {\n headers: { \"Content-Type\": undefined },\n transformRequest: ng.identity\n });\n return $http.post(this.baseUrl + relativeUrl, data, config);\n };\n\n ApiGateway.prototype.patch = function (relativeUrl, data, config) {\n config = tagConfig(this.tag, config);\n return $http.patch(this.baseUrl + relativeUrl, data, config);\n };\n\n ApiGateway.prototype.delete = function (relativeUrl, config) {\n config = tagConfig(this.tag, config);\n return $http.delete(this.baseUrl + relativeUrl, config);\n };\n\n ApiGateway.prototype.addInterceptor = function (interceptorFactory) {\n var tag = this.tag;\n var interceptor = $injector.invoke(interceptorFactory);\n return runtimeHttpInterceptors.addInterceptor([\n function () {\n return {\n //only add methods if the interceptorFactory defined those methods\n //within the methods that are defined, return the argument untouched unless the config key matches this instance\n request: interceptor.request &&\n function (config) {\n if (config[key] !== tag) return config;\n return interceptor.request(config);\n },\n requestError: interceptor.requestError &&\n function (rejection) {\n //handle cases where the config is sent back in the rejection as is or wrapped\n if (rejection && rejection[key] === tag)\n return interceptor.requestError(rejection);\n if (rejection && rejection.config && rejection.config[key] === tag)\n return interceptor.requestError(rejection);\n return $q.reject(rejection);\n },\n response: interceptor.response &&\n function (response) {\n if (!response || !response.config || response.config[key] !== tag)\n return response;\n return interceptor.response(response);\n },\n responseError: interceptor.responseError &&\n function (rejection) {\n if (!rejection || !rejection.config || rejection.config[key] !== tag)\n return $q.reject(rejection);\n return interceptor.responseError(rejection);\n }\n };\n }\n ]);\n };\n\n return {\n buildApiGateway: function (baseUrl) {\n return new ApiGateway(baseUrl);\n }\n };\n }];\n }]);\n\n //////////////\n app.provider(\"runtimeHttpInterceptors\", [function () {\n this.$get = [\"$injector\", function ($injector) {\n var interceptors = [];\n\n return {\n addInterceptor: addInterceptor,\n getInterceptors: getInterceptors\n };\n\n function getInterceptors() {\n //return a copy so the caller can't modify the array\n return interceptors.slice();\n }\n\n function addInterceptor(interceptorFactory) {\n var factory = $injector.invoke(interceptorFactory);\n interceptors.push(factory);\n //return de-register function\n return function () {\n var index = interceptors.indexOf(factory);\n if (index >= 0)\n interceptors.splice(index, 1);\n };\n }\n }];\n }]);\n\n app.config([\"$httpProvider\", function ($httpProvider) {\n $httpProvider.interceptors.push([\n \"runtimeHttpInterceptors\", \"$q\", function (runtimeHttpInterceptors, $q) {\n //see https://github.com/angular/angular.js/blob/master/src/ng/http.js#L375\n return {\n request: function (config) {\n return runtimeHttpInterceptors.getInterceptors()\n .filter(function (i) { return i.request; })\n .reduce(\n //chain promises\n function (promise, i) { return promise.then(i.request); },\n //initial value\n $q.resolve(config)\n );\n },\n requestError: function (rejection) {\n return runtimeHttpInterceptors.getInterceptors()\n .filter(function (i) { return i.requestError; })\n .reduce(\n //chain promises\n function (promise, i) { return promise.catch(i.requestError); },\n //initial value\n $q.reject(rejection)\n );\n },\n response: function (response) {\n return runtimeHttpInterceptors.getInterceptors()\n .reverse()\n .filter(function (i) { return i.response; })\n .reduce(\n //chain promises\n function (promise, i) { return promise.then(i.response); },\n //initial value\n $q.resolve(response)\n );\n },\n responseError: function (rejection) {\n return runtimeHttpInterceptors.getInterceptors()\n .reverse()\n .filter(function (i) { return i.responseError; })\n .reduce(\n //chain promises\n function (promise, i) { return promise.catch(i.responseError); },\n //initial value\n $q.reject(rejection)\n );\n }\n };\n }\n ]);\n }]);\n //////////////\n})(window.app, window.angular); // jshint ignore:line","(function (app, ng) {\n\n app.provider(\"authApiGateway\", [function () {\n this.$get = [\"figApiGatewayBuilder\", function (figApiGatewayBuilder) {\n var api = figApiGatewayBuilder.buildApiGateway(\"\");\n api.addInterceptor([function () {\n return {\n response: function (response) {\n if (response.status === 204) return response; //http no-content\n\n //handle 202 accepted for command id etc\n\n var obj = response.data;\n if (!obj.Entry && !obj.Entries) return obj;\n\n var ret = ng.extend(obj.Entry || obj.Entries, obj);\n delete ret.Entries;\n delete ret.Entry;\n return ret;\n }\n };\n }]);\n return api;\n }];\n }]);\n\n})(window.app, window.angular); // jshint ignore:line","(function (app, ng) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.Error\", {\n url: \"/Error?{errorId}\",\n component: \"error\",\n resolve: {\n errorId: parameterResolverProvider.resolve(\"errorId\")\n },\n data: {\n pageTitle: \"Error\"\n }\n });\n }]);\n\n app.component(\"error\", {\n templateUrl: \"/App/Error/error.html\",\n controller: errorCtrl,\n bindings: {\n errorId: \"<\"\n }\n });\n function errorCtrl() {\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.Login\", {\n url: \"/Login?{invalid:bool}\",\n component: \"login\",\n resolve: {\n invalid: parameterResolverProvider.resolve(\"invalid\")\n },\n data: {\n pageTitle: \"Sign In\"\n }\n });\n }]);\n\n app.component(\"login\", {\n templateUrl: \"/App/Login/login.html\",\n controller: loginCtrl,\n bindings: {\n invalid: \"<\",\n // bindings below here are resolved from parent state\n clientId: \"<\",\n postLoginReturnUrl: \"<\",\n registrationToken: \"<\", // optional, used in the html, when linked from SignUp (which needs registration token) so we can return back to that same state\n loginHint: \"<\",\n returnState: \"<\",\n returnParams: \"<\",\n autoRedirect: \"<\",\n hideFig: \"<\"\n }\n });\n\n loginCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\"];\n function loginCtrl(authenticationApi, $state, $timeout) {\n var $ctrl = this;\n\n\n $ctrl.login = function login(username, password) {\n $ctrl.isLoggingIn = true;\n return authenticationApi.login(username, password, $ctrl.clientId)\n .then(nextState)\n .finally(function () { $ctrl.isLoggingIn = false; });\n };\n\n function nextState(response) {\n if (response.Type === \"mfa-entry\") {\n $state.go(\"^.MfaEntry\");\n }\n else if (response.Type === \"mfa-setup\") {\n $state.go(\"^.MfaSetup\");\n }\n else if (response.Type === \"login-success\") {\n if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false }); //we do not want to inherit params\n } else if ((response.AutoRedirect || $ctrl.autoRedirect) && $ctrl.postLoginReturnUrl) {\n window.location.href = $ctrl.postLoginReturnUrl;\n $timeout(function () { $ctrl.isLoggingIn = true; }); // to keep the loading icon spinning while we redirect back\n } else {\n $state.go(\"^.Success\");\n }\n }\n else if (response.Type === \"login-error\") {\n $ctrl.invalid = true;\n $ctrl.lockedUntil = null;\n }\n else if (response.Type === \"account-locked\") {\n $ctrl.invalid = false;\n $ctrl.lockedUntil = moment().to(response.LockedUntil, true);\n }\n }\n }\n\n})(window.app, window.angular);","(function (app) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.MfaEntry\", {\n url: \"/MfaEntry?{phoneNumber}?{alternate:bool}&{resent:bool}\",\n component: \"mfaEntry\",\n data: {\n pageTitle: \"Verify Mobile Device\"\n },\n resolve: {\n phoneNumber: parameterResolverProvider.resolve(\"phoneNumber\"),\n alternate: parameterResolverProvider.resolve(\"alternate\"),\n resent: parameterResolverProvider.resolve(\"resent\")\n }\n });\n }]);\n\n app.component(\"mfaEntry\", {\n templateUrl: \"/App/Login/mfa-entry.html\",\n controller: mfaEntryCtrl,\n bindings: {\n phoneNumber: \"<\",\n alternate: \"<\",\n resent: \"<\",\n returnState: \"<\",\n returnParams: \"<\",\n postLoginReturnUrl: \"<\",\n autoRedirect: \"<\"\n }\n });\n\n mfaEntryCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\"];\n function mfaEntryCtrl(authenticationApi, $state, $timeout) {\n var $ctrl = this;\n\n $ctrl.submitMfa = function submitMfa(token, rememberMe) {\n return authenticationApi.submitMfa(token, rememberMe).then(nextState).catch(function (error) {\n if (error.status === 401) {\n $state.go(\"Root.Login\");\n }\n });\n };\n\n $ctrl.resend = function resend() {\n return authenticationApi.resendPin().then(nextState);\n };\n\n function nextState(response) {\n if (response.Type === \"login-error\") {\n $state.go(\"^.Login\", { invalid: true });\n }\n else if (response.Type === \"login-success\") {\n if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false });\n }\n else if ($ctrl.autoRedirect && $ctrl.postLoginReturnUrl) {\n window.location.href = $ctrl.postLoginReturnUrl;\n }\n else {\n $state.go(\"^.Success\");\n }\n }\n else if (response.Type === \"mfa-entry\") {\n $state.go(\"^.MfaEntry\", { resent: true }, { reload: true }); // reload because we are currently in this state and need the pin field to clear\n }\n }\n\n $ctrl.disableResend = true;\n $timeout(function () { $ctrl.disableResend = false; }, 10000);\n }\n\n})(window.app);","(function (app, ng) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.MfaSetup\", {\n url: \"/MfaSetup?{invalid:bool}&{isPrimary:bool}\",\n component: \"mfaSetup\",\n resolve: {\n invalid: parameterResolverProvider.resolve(\"invalid\"),\n isPrimary: parameterResolverProvider.resolve(\"isPrimary\")\n },\n data: {\n pageTitle: \"Add a Mobile Device\"\n },\n });\n }]);\n\n app.component(\"mfaSetup\", {\n templateUrl: \"/App/Login/mfa-setup.html\",\n controller: mfaSetupCtrl,\n bindings: {\n invalid: \"<\",\n isPrimary: \"<\"\n }\n });\n\n mfaSetupCtrl.$inject = [\"authenticationApi\", \"$state\", \"loginRedirectService\"];\n function mfaSetupCtrl(authenticationApi, $state, loginRedirectService) {\n var $ctrl = this;\n\n $ctrl.submitting = false;\n\n $ctrl.setupMfa = function setupMfa(phonenumber) {\n if ($ctrl.submitting) return;\n $ctrl.submitting = true;\n phonenumber = phonenumber.replace(/[^\\d]/g, \"\");\n $ctrl.phoneNumber = phonenumber;\n return authenticationApi.setupNewMfaDevice(phonenumber, true).then(nextState).catch(function (error) {\n if (error.status === 401) {\n loginRedirectService.redirect();\n }\n });\n };\n\n function nextState() {\n $state.go(\"^.MfaVerification\", { phoneNumber: $ctrl.phoneNumber, isPrimary: $ctrl.isPrimary });\n }\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.MfaVerification\", {\n url: \"/MfaVerification?{phoneNumber}&{isPrimary:bool}&{resent:bool}\",\n component: \"mfaVerification\",\n data: {\n pageTitle: \"Verify Mobile Device\"\n },\n resolve: {\n phoneNumber: parameterResolverProvider.resolve(\"phoneNumber\"),\n isPrimary: parameterResolverProvider.resolve(\"isPrimary\"),\n resent: parameterResolverProvider.resolve(\"resent\")\n }\n });\n }]);\n\n app.component(\"mfaVerification\", {\n templateUrl: \"/App/Login/mfa-verification.html\",\n controller: mfaVerificationCtrl,\n bindings: {\n phoneNumber: \"<\",\n isPrimary: \"<\",\n resent: \"<\",\n returnState: \"<\",\n returnParams: \"<\",\n postLoginReturnUrl: \"<\",\n autoRedirect: \"<\"\n }\n });\n\n mfaVerificationCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\", \"loginRedirectService\"];\n function mfaVerificationCtrl(authenticationApi, $state, $timeout, loginRedirectService) {\n var $ctrl = this;\n\n $ctrl.verifyMfa = function verifyMfa(pin, rememberMe) {\n return authenticationApi.verifyNewMfaDevice(pin, rememberMe, $ctrl.isPrimary).then(nextState).catch(function (error) {\n if (error.status === 401) {\n loginRedirectService.redirect();\n } else if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false });\n }\n });\n };\n\n $ctrl.resend = function resend() {\n return authenticationApi.resendPin().then(nextState);\n };\n\n function nextState(response) {\n if (response.Type === \"mfa-error\") {\n $state.go(\"^.MfaSetup\", { invalid: true });\n }\n else if (response.Type === \"mfa-success\") {\n if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false });\n }\n else if ($ctrl.autoRedirect && $ctrl.postLoginReturnUrl) {\n window.location.href = $ctrl.postLoginReturnUrl;\n }\n else {\n $state.go(\"^.Success\");\n }\n }\n else if (response.Type === \"mfa-entry\") {\n $state.go(\"^.MfaVerification\", { resent: true }, { reload: true }); // reload because we are currently in this state and need the pin field to clear\n }\n }\n\n $ctrl.disableResend = true;\n $timeout(function () { $ctrl.disableResend = false; }, 10000);\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.ResetClose\", {\n url: \"/ResetClose?{username}\",\n component: \"resetClose\",\n resolve: {\n username: parameterResolverProvider.resolve(\"username\")\n },\n data: {\n pageTitle: \"Password Reset Sent\"\n }\n });\n }]);\n\n app.component(\"resetClose\", {\n templateUrl: \"/App/Login/reset-close.html\",\n bindings: {\n username: \"<\"\n }\n });\n\n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.Reset\", {\n url: \"/Reset\",\n component: \"reset\",\n data: {\n pageTitle: \"Request Password Reset\",\n }\n });\n }]);\n\n app.component(\"reset\", {\n templateUrl: \"/App/Login/reset.html\",\n controller: resetCtrl,\n bindings: {\n postLoginReturnUrl: \"<\"\n }\n });\n\n resetCtrl.$inject = [\"authenticationApi\", \"$state\"];\n function resetCtrl(authenticationApi, $state) {\n var $ctrl = this;\n $ctrl.reset = function reset(username) {\n $ctrl.isSubmitting = true;\n return authenticationApi.sendPasswordReset(username, $ctrl.postLoginReturnUrl)\n .then(function () {\n return $state.go(\"^.ResetClose\", { username: username });\n })\n .finally(function () { $ctrl.isSubmitting = false; });\n };\n }\n \n})(window.app, window.angular);","(function (app, ng) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.ResetExpired\", {\n url: \"/ResetExpired\",\n component: \"resetExpired\",\n data: {\n pageTitle: \"Password Reset Expired\"\n }\n });\n }]);\n\n app.component(\"resetExpired\", {\n templateUrl: \"/App/Login/reset-expired.html\"\n });\n\n})(window.app, window.angular);","(function (app) {\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.ResetMfaEntry\", {\n url: \"/ResetMfaEntry?{phoneNumber}?{alternate:bool}&{resent:bool}\",\n component: \"resetMfaEntry\",\n data: {\n pageTitle: \"Verify Mobile Device\"\n },\n resolve: {\n phoneNumber: parameterResolverProvider.resolve(\"phoneNumber\"),\n alternate: parameterResolverProvider.resolve(\"alternate\"),\n resent: parameterResolverProvider.resolve(\"resent\")\n }\n });\n }]);\n\n app.component(\"resetMfaEntry\", {\n templateUrl: \"/App/Login/reset-mfa-entry.html\",\n controller: resetMfaEntryCtrl,\n bindings: {\n phoneNumber: \"<\",\n alternate: \"<\",\n resent: \"<\",\n returnState: \"<\",\n returnParams: \"<\"\n }\n });\n\n resetMfaEntryCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\"];\n function resetMfaEntryCtrl(authenticationApi, $state, $timeout) {\n var $ctrl = this;\n\n $ctrl.submitMfa = function submitMfa(token, rememberMe) {\n return authenticationApi.submitMfaForPasswordReset(token, rememberMe).then(nextState);\n };\n\n $ctrl.resend = function resend() {\n return authenticationApi.resendPin().then(nextState);\n };\n\n function nextState(response) {\n if (response.Type === \"login-error\") {\n $state.go(\"^.ResetVerify\", { invalid: true });\n }\n else if (response.Type === \"login-success\") {\n if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false });\n } else {\n $state.go(\"^.Success\");\n }\n }\n else if (response.Type === \"mfa-entry\") {\n $state.go(\"^.ResetMfaEntry\", { resent: true }, { reload: true }); // reload because we are currently in this state and need the pin field to clear\n }\n }\n\n $ctrl.disableResend = true;\n $timeout(function () { $ctrl.disableResend = false; }, 10000);\n }\n\n})(window.app);","(function (app, ng) {\n\n var EXPIRED = {};\n\n app.config([\"$stateProvider\", \"parameterResolverProvider\", function ($stateProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root.ResetVerify\", {\n url: \"/ResetVerify?{invalid:bool}\",\n component: \"resetVerify\",\n data: {\n pageTitle: \"Reset Your Password\",\n },\n resolve: {\n passwordReset: [\"passwordResetApi\", \"$transition$\", function (passwordResetApi, $transition$) {\n // right now all errors just go to ResetExpired\n // if we want to differentiate use a different value here and go to state based on that\n var passwordResetToken = $transition$.params().passwordResetToken;\n return passwordResetApi.getPasswordReset(passwordResetToken).catch(function () { return EXPIRED; });\n }],\n invalid: parameterResolverProvider.resolve(\"invalid\")\n },\n onEnter: [\"passwordReset\", \"$transition$\", function (passwordReset, $transition$) {\n // onEnter necessary because ui router does not allow redirecting states from within resolves\n if (passwordReset === EXPIRED)\n return $transition$.router.stateService.target(\"Root.ResetExpired\", $transition$.params());\n }]\n });\n }]);\n\n app.component(\"resetVerify\", {\n templateUrl: \"/App/Login/reset-verify.html\",\n controller: resetVerifyCtrl,\n bindings: {\n invalid: \"<\",\n postLoginReturnUrl: \"<\",\n passwordReset: \"<\",\n returnState: \"<\",\n returnParams: \"<\"\n }\n });\n\n resetVerifyCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\"];\n function resetVerifyCtrl(authenticationApi, $state, $timeout) {\n var $ctrl = this;\n $ctrl.UI = {};\n $ctrl.resetVerify = function resetVerify(password, confirmPassword) {\n $ctrl.UI.displayError = password !== confirmPassword || !$ctrl.checkPassword(password);\n\n //if (!email) {\n // $ctrl.errorText = \"Please enter the email address associated with your account.\";\n // return;\n //}\n\n if (password !== confirmPassword) {\n $ctrl.errorText = \"The passwords entered do not match.\";\n return;\n }\n\n if (!$ctrl.checkPassword(password)) {\n $ctrl.errorText = \"The password must be 8 characters and contain 3 out of 4 of the following: uppercase letters, lowercase letters, numbers, and special characters.\";\n return;\n }\n\n $ctrl.isSubmitting = true;\n return authenticationApi.passwordResetVerify($ctrl.passwordReset.Token, password, confirmPassword)\n .then(nextState)\n .catch(function (response) {\n $ctrl.invalid = response.data || \"An error has occurred\";\n })\n .finally(function () { $ctrl.isSubmitting = false; });\n };\n\n function nextState(response) {\n if (response.Type === \"mfa-entry\") {\n $state.go(\"^.ResetMfaEntry\");\n }\n else if (response.Type === \"login-success\") {\n if ($ctrl.returnState) {\n $state.go($ctrl.returnState, $ctrl.returnParams, { inherit: false });\n }\n else if (response.AutoRedirect) {\n window.location.href = $ctrl.postLoginReturnUrl;\n $timeout(function () { $ctrl.isSubmitting = true; }); // to keep the loading icon spinning while we redirect back\n }\n else {\n $state.go(\"^.Success\");\n }\n }\n }\n $ctrl.checkPassword = function checkPassword(password) {\n return password\n .match(/^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%&\\/=?_.,:;\\\\-])|(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&\\/=?_.,:;\\\\-])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%&\\/=?_.,:;\\\\-])).{8,}$/);\n }\n }\n\n})(window.app, window.angular);","(function (app, ng) {\n\n var EXPIRED = {};\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.SignUp\", {\n url: \"/SignUp\",\n component: \"signUp\",\n data: {\n pageTitle: \"Create a New Account\"\n },\n resolve: {\n userRegistration: [\"userRegistrationApi\", \"registrationToken\", function (userRegistrationApi, registrationToken) {\n // catch http 400/404 and return an empty object so the resolve does not fail\n return userRegistrationApi.getUserRegistration(registrationToken).catch(function () { return EXPIRED; });\n }]\n },\n onEnter: [\"userRegistration\", \"$transition$\", function (userRegistration, $transition$) {\n if (userRegistration === EXPIRED)\n return $transition$.router.stateService.target(\"Root.SignUpExpired\", $transition$.params());\n }]\n });\n }]);\n\n app.component(\"signUp\", {\n templateUrl: \"/App/Login/signup.html\",\n controller: signUpCtrl,\n bindings: {\n postLoginReturnUrl: \"<\",\n clientId: \"<\",\n userRegistration: \"<\",\n autoRedirect: \"<\"\n }\n });\n\n signUpCtrl.$inject = [\"authenticationApi\", \"$state\", \"$timeout\"];\n function signUpCtrl(authenticationApi, $state, $timeout) {\n var $ctrl = this;\n $ctrl.signup = function signup(username, password, confirmPassword) {\n $ctrl.isLoggingIn = true;\n return authenticationApi.signup($ctrl.userRegistration.Token, username, password, confirmPassword, $ctrl.clientId)\n .then(nextState, error)\n .finally(function () { $ctrl.isLoggingIn = false; });\n };\n\n function nextState(response) {\n if (response.Type === \"mfa-setup\") {\n $state.go(\"^.MfaSetup\");\n }\n else if (response.Type === \"login-success\" && (response.AutoRedirect || $ctrl.autoRedirect)) {\n window.location.href = $ctrl.postLoginReturnUrl;\n $timeout(function () { $ctrl.isLoggingIn = true; }); // to keep the loading icon spinning while we redirect back\n }\n }\n\n function error(response) {\n if (response.data.Exists) {\n $ctrl.exists = true;\n }\n else if (response.data.Invalid) {\n $ctrl.errorText = response.data.Invalid[0];\n }\n else if (response.data.Username) {\n $ctrl.errorText = \"This username is invalid. Username must start with a letter and can contain the special characters: . _ @\";\n return;\n \n }\n else if (response.data.Password) {\n $ctrl.errorText = \"The password must be 8 characters and contain 3 out of 4 of the following: uppercase letters, lowercase letters, numbers, and special characters.\";\n return;\n }\n else if (response.data.Expired) {\n $state.go(\"^.SignUpExpired\");\n }\n };\n }\n\n // from https://stackoverflow.com/questions/31671221/angular-ng-messages-how-to-check-password-confirmation\n app.directive(\"compareTo\", [function () {\n return {\n require: [\"ngModel\"],\n scope: { compareTo: \"=\" },\n link: function (scope, elem, attr, ctrls) {\n var ngModel = ctrls[0];\n ngModel.$validators.compareTo = function (modelValue) {\n return modelValue == scope.compareTo;\n };\n scope.$watch(\"compareTo\", function () {\n ngModel.$validate();\n });\n }\n };\n }]);\n\n})(window.app, window.angular);","(function (app) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.SignUpExpired\", {\n url: \"/SignUpExpired\",\n component: \"signUpExpired\",\n data: {\n pageTitle: \"SignUp Token Expired\"\n }\n });\n }]);\n\n app.component(\"signUpExpired\", {\n templateUrl: \"/App/Login/signup-expired.html\"\n });\n\n})(window.app);","(function (app, ng) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.Success\", {\n url: \"/Success\",\n component: \"loginSuccess\",\n data: {\n pageTitle: \"Sign In Successful\"\n },\n resolve: {\n returnTitle: [\"pageTitle\", function (pageTitle) { return pageTitle; }]\n }\n });\n }]);\n\n app.component(\"loginSuccess\", {\n templateUrl: \"/App/Login/success.html\",\n controller: loginSuccessCtrl,\n bindings: {\n postLoginReturnUrl: \"<\",\n returnTitle: \"<\"\n }\n });\n\n function loginSuccessCtrl() { }\n\n})(window.app, window.angular);","(function (app) {\n\n app.provider(\"authenticationApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.clearSession = function clearSession() {\n return authApiGateway.post(\"/Authentication/ClearSession\");\n };\n\n service.login = function login(username, password, clientId) {\n return authApiGateway.post(\"/Authentication/Login\", { Username: username, Password: password, ClientId: clientId });\n };\n\n service.submitMfa = function submitMfa(token, rememberMe) {\n return authApiGateway.post(\"/Authentication/SmsMfaEntry\", { Pin: token, RememberMe: rememberMe });\n };\n\n service.submitMfaForPasswordReset = function submitMfaForPasswordReset(token, rememberMe) {\n return authApiGateway.post(\"/Authentication/PasswordReset/SmsMfaEntry\", { Pin: token, RememberMe: rememberMe });\n };\n\n service.setupNewMfaDevice = function setupNewMfaDevice(phoneNumber) {\n return authApiGateway.post(\"/Authentication/SmsMfaSetup\", { PhoneNumber: phoneNumber });\n };\n\n service.verifyNewMfaDevice = function verifyNewMfaDevice(pin, rememberMe, isPrimary) {\n return authApiGateway.post(\"/Authentication/SmsMfaSetupVerification\", { Pin: pin, RememberMe: rememberMe, IsPrimary: !!isPrimary });\n };\n\n service.signup = function signup(userRegistrationToken, username, password, confirmPassword, clientId) {\n var model = {\n Username: username,\n Password: password,\n ConfirmPassword: confirmPassword,\n ClientId: clientId\n };\n return authApiGateway.post(\"/Authentication/UserRegistration/Complete\", model, { params: { registrationToken: userRegistrationToken } });\n };\n\n service.sendPasswordReset = function sendPasswordReset(username, returnUrl) {\n return authApiGateway.post(\"/Authentication/PasswordReset\", { Username: username, ReturnUrl: returnUrl });\n };\n\n service.passwordResetVerify = function passwordResetVerify(token, password, confirmPassword) {\n return authApiGateway.post(\"/Authentication/PasswordReset/Complete\", { PasswordResetToken: token, Password: password, ConfirmPassword: confirmPassword });\n };\n\n service.resendPin = function resendPin() {\n return authApiGateway.post(\"/Authentication/Pin/Resend\");\n };\n\n service.sendPin = function sendPin(device) {\n return authApiGateway.post(\"Authentication/Pin/Send\", device);\n };\n\n service.isAuthenticated = function isAuthenticated() {\n return authApiGateway.get(\"Authentication\");\n };\n\n return service;\n }];\n }]);\n\n})(window.app);","(function (app, ng) {\n\n app.provider(\"clientApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.getBasicInfo = function getBasicInfo(clientId, theme) {\n return authApiGateway.get(\"/Clients/\" + clientId + \"/BasicInfo\", { params: { theme: theme } });\n };\n\n service.getClients = function getClients() {\n return authApiGateway.get(\"/Clients\");\n };\n\n service.getClient = function getClient(clientId) {\n return authApiGateway.get(\"/Clients/\" + clientId);\n };\n\n service.getRedirectUris = function getRedirectUris(clientId) {\n return authApiGateway.get(\"/Clients/\" + clientId + \"/RedirectUris\");\n };\n\n service.getDefaultTheme = function getDefaultTheme(clientId) {\n return authApiGateway.get(\"/Clients/\" + clientId + \"/Themes/Default\");\n };\n\n service.getThemes = function getThemes(clientId) {\n return authApiGateway.get(\"/Clients/\" + clientId + \"/Themes\");\n };\n\n service.updateClient = function updateClient(clientId, formData, config) {\n return authApiGateway.put(\"/Clients/\" + clientId, formData, config);\n };\n\n return service;\n }];\n }]);\n\n})(window.app, window.angular);","(function (app) {\n app.provider(\"mfaDeviceApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.updateSmsPrimary = function updateSmsPrimary(deviceId, isPrimary) {\n return authApiGateway.put(\"/MfaDevices/SmsPrimary\", { SmsDeviceId: deviceId, IsPrimary: isPrimary });\n };\n\n service.getMfaDevices = function getMfaDevices() {\n return authApiGateway.get(\"/MfaDevices\");\n };\n\n service.deleteSmsDevice = function deleteSmsDevice(smsDeviceId) {\n return authApiGateway.delete(\"/MfaDevices/\" + smsDeviceId);\n };\n\n return service;\n }];\n }]);\n})(window.app);","(function (app) {\n app.provider(\"passwordResetApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.getPasswordReset = function getPasswordReset(token) {\n return authApiGateway.get(\"/PasswordReset\", { params: { passwordResetToken: token } });\n };\n\n return service;\n }];\n }]);\n})(window.app);","(function (app) {\n app.provider(\"userApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.updatePassword = function updatePassword(currentPassword, newPassword, confirmNewPassword) {\n return authApiGateway.post(\"/Users/Password\", { CurrentPassword: currentPassword, NewPassword: newPassword, ConfirmNewPassword: confirmNewPassword });\n };\n\n return service;\n }];\n }]);\n})(window.app);","(function (app) {\n app.provider(\"userRegistrationApi\", [function () {\n this.$get = [\"authApiGateway\", function (authApiGateway) {\n var service = {};\n\n service.getUserRegistration = function getUserRegistration(token) {\n return authApiGateway.get(\"/UserRegistration\", { params: { registrationToken: token } });\n };\n\n return service;\n }];\n }]);\n})(window.app);","(function (app) {\n\n // this removes the query string parameters from the URL, since we will be repeating them in the angular state params\n // need to do this right away, not in an angular config/run callback - we need to have grabbed and updated the query string params before ui-router tries to interact with it\n // but only do the replaceState if we aren't currently in a ui state, otherwise we will lose our ui route on page refresh\n var params = parseQuery(window.location.search);\n if (!window.location.hash) window.history.replaceState(null, null, window.location.pathname);\n\n /*\n * Root state is the top-level state for all user-facing states: login/mfa/settings etc, but not client admin (creating redirect uris etc)\n * clientID/theme are passed in as optional parameters, and (if provided) will resolve a client object that all substates can reference\n * additionally, a \"title\" can be passed in instead (if there is no client) to show, such as \"Admin\" or \"Settings\"\n */\n\n app.config([\"$stateProvider\", \"$urlRouterProvider\", \"parameterResolverProvider\", function ($stateProvider, $urlRouterProvider, parameterResolverProvider) {\n $stateProvider.state(\"Root\", {\n url: \"/App?{clientId}?{theme}&{title}&{postLoginReturnUrl}&{registrationToken}&{loginHint}&{passwordResetToken}&{returnState}&{returnParams:json}&{autoRedirect:bool}&{hideFig:bool}\",\n abstract: true,\n component: \"root\",\n resolve: {\n loginHint: parameterResolverProvider.resolve(\"loginHint\"),\n postLoginReturnUrl: parameterResolverProvider.resolve(\"postLoginReturnUrl\"),\n registrationToken: parameterResolverProvider.resolve(\"registrationToken\"),\n autoRedirect: parameterResolverProvider.resolve(\"autoRedirect\"),\n hideFig: parameterResolverProvider.resolve(\"hideFig\"),\n client: [\"clientApi\", \"$transition$\", function (clientApi, $transition$) {\n var clientId = $transition$.params().clientId;\n var theme = $transition$.params().theme;\n if (!clientId) return;\n return clientApi.getBasicInfo(clientId, theme);\n }],\n colorScheme: [\"client\", function (client) {\n if (client) return client.ColorScheme;\n return {\n // default if no theme provided\n BackgroundColor: \"fafafa\",\n PrimaryColor: \"#754545\"\n };\n }],\n clientId: [\"client\", function (client) {\n if (client) return client.ClientId;\n }],\n pageTitle: [\"client\", \"$transition$\", function (client, $transition$) {\n // using pageTitle instead of just title because ui-router places an attribute on the html element 'title=\"::$resolve.title\"` which will show text on hover\n // this represents what is shown above the main div, the client logo/name/title\n return (client && client.Name) || $transition$.params().title;\n }],\n returnState: parameterResolverProvider.resolve(\"returnState\"),\n returnParams: parameterResolverProvider.resolve(\"returnParams\"),\n },\n onEnter: [\"pageTitle\", \"$document\", function (pageTitle, $document) {\n $document[0].title = pageTitle;\n }]\n });\n\n $urlRouterProvider.otherwise(function ($injector) {\n var $state = $injector.get(\"$state\");\n if (params.errorId) {\n var stateParams = { errorId: params.errorId };\n return $state.go(\"Root.Error\", stateParams);\n }\n else if (params.settings) {\n var stateParams = { clientId: params.client_id, theme: params.theme, postLoginReturnUrl: params.return_url };\n return $state.go(\"Root.Settings\", stateParams);\n }\n else if (params.password_reset_expired) {\n return $state.go(\"Root.ResetExpired\", { title: \"Password Reset\", clientId: params.client_id, theme: params.theme });\n }\n else if (params.password_reset_token) {\n return $state.go(\"Root.ResetVerify\", {\n passwordResetToken: params.password_reset_token,\n postLoginReturnUrl: params.postLoginReturnUrl,\n clientId: params.client_id,\n theme: params.theme\n });\n }\n else if (params.admin) {\n return $state.go(\"Admin.Clients\");\n }\n else if (params.idsrvReturnUrl) {\n // redirected here from /connect/authorize, unpack oauth parameters and go to client substate\n var oauthParams = parseQuery(params.idsrvReturnUrl.substring(params.idsrvReturnUrl.indexOf(\"?\")));\n var stateParams = {\n clientId: oauthParams.client_id,\n loginHint: oauthParams.login_hint,\n postLoginReturnUrl: params.idsrvReturnUrl,\n theme: oauthParams.theme,\n autoRedirect: oauthParams.auto_redirect === \"true\",\n hideFig: oauthParams.hideFig === \"true\"\n };\n if (oauthParams.registration_token) {\n stateParams.registrationToken = oauthParams.registration_token;\n return $state.go(\"Root.SignUp\", stateParams);\n }\n else if (params.password_reset_token) {\n stateParams.passwordResetToken = params.password_reset_token;\n return $state.go(\"Root.ResetVerify\", stateParams);\n }\n else {\n return $state.go(\"Root.Login\", stateParams);\n }\n }\n else if (params.samlReturnUrl) {\n var stateParams = {\n postLoginReturnUrl: params.samlReturnUrl,\n autoRedirect: true\n };\n return $state.go(\"Root.Login\", stateParams);\n }\n else {\n // last resort, just go to settings page with no returnUrl\n $state.go(\"Root.Settings\");\n }\n });\n }]);\n\n app.component(\"root\", {\n templateUrl: \"/App/Root/root.html\",\n controller: rootController,\n bindings: {\n client: \"<\", // optional\n colorScheme: \"<\",\n pageTitle: \"<\"\n }\n });\n\n function rootController() { \n document.getElementById(\"copyright\").innerHTML = getThisYear();\n function getThisYear() {\n var date = new Date();\n return date.getFullYear();\n }\n }\n\n // https://stackoverflow.com/questions/2090551/parse-query-string-in-javascript\n function parseQuery(queryString) {\n var query = {};\n var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');\n }\n return query;\n }\n\n})(window.app);","(function (app) {\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.ResetSelectDevice\", {\n url: \"/ResetSelectDevice\",\n component: \"resetSelectDevice\",\n data: {\n pageTitle: \"Select Alternate Device\"\n }\n });\n }]);\n\n app.component(\"resetSelectDevice\", {\n templateUrl: \"/App/SelectDevice/select-device.html\",\n controller: resetSelectDeviceController\n });\n\n resetSelectDeviceController.$inject = [\"authenticationApi\", \"$q\", \"$state\"];\n function resetSelectDeviceController(authenticationApi, $q, $state) {\n var $ctrl = this;\n\n $ctrl.ui = { sending: false };\n\n $ctrl.sendToDevice = function (number) {\n if (!number) return $q.when();\n number = number.replace(/[^\\d]/g, \"\");\n\n return authenticationApi.sendPin({ PhoneNumber: number }).then(function (response) {\n $state.go(\"^.ResetMfaEntry\", { phoneNumber: number, alternate: true });\n }).finally(function () { $ctrl.ui.sending = false; });\n };\n }\n})(window.app);","(function (app) {\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.SelectDevice\", {\n url: \"/SelectDevice\",\n component: \"selectDevice\",\n data: {\n pageTitle: \"Select Alternate Device\"\n }\n });\n }]);\n\n app.component(\"selectDevice\", {\n templateUrl: \"/App/SelectDevice/select-device.html\",\n controller: selectDeviceController\n });\n\n selectDeviceController.$inject = [\"authenticationApi\", \"$q\", \"$state\"];\n function selectDeviceController(authenticationApi, $q, $state) {\n var $ctrl = this;\n\n $ctrl.ui = { sending: false };\n\n $ctrl.sendToDevice = function (number) {\n if (!number) return $q.when();\n number = number.replace(/[^\\d]/g,\"\");\n\n return authenticationApi.sendPin({ PhoneNumber: number }).then(function (response) {\n $state.go(\"^.MfaEntry\", { phoneNumber: number, alternate: true });\n }).finally(function () { $ctrl.ui.sending = false; });\n };\n }\n})(window.app);","(function (app) {\n\n app.run([\"$transitions\", \"authenticationApi\", function ($transitions, authenticationApi) {\n $transitions.onBefore({}, function (transition) {\n if (transition.to().protected) {\n return authenticationApi.isAuthenticated().then(function (response) {\n if (!response) {\n var currentParams = transition.params();\n var redirectParams = {};\n redirectParams.clientId = currentParams.clientId;\n redirectParams.theme = currentParams.theme;\n redirectParams.title = currentParams.title;\n redirectParams.postLoginReturnUrl = currentParams.postLoginReturnUrl;\n redirectParams.returnState = transition.to().name;\n redirectParams.returnParams = currentParams;\n return transition.router.stateService.target('Root.Login', redirectParams);\n }\n })\n }\n })\n }]);\n\n})(window.app);","(function (app) {\n app.provider(\"loginRedirectService\", [function () {\n this.$get = [\"$state\", function ($state) {\n var service = {};\n\n service.redirect = function redirect() {\n var currentParams = Object.assign({}, $state.params);\n var redirectParams = {};\n redirectParams.clientId = currentParams.clientId;\n redirectParams.theme = currentParams.theme;\n redirectParams.title = currentParams.title;\n redirectParams.postLoginReturnUrl = currentParams.postLoginReturnUrl;\n redirectParams.returnState = $state.current.name;\n redirectParams.returnParams = currentParams;\n return $state.go(\"Root.Login\", redirectParams);\n };\n\n return service;\n }];\n }]);\n})(window.app);","(function (app) {\n\n function resolveParam(paramName) {\n return [\"$transition$\", function ($transition$) {\n return $transition$.params()[paramName];\n }];\n }\n\n /*\n * this resolveParam function can be injected as a service or service provider into other services or app configuration runners, for example:\n * [\"someService\", \"parameterResolver\", function(someService, parameterResolver) { parameterResolver.resolve(\"id\") }]\n * or\n * app.config([\"someProvider\", \"parameterResolverProvider\", function(someProvider, parameterResolverProvider) { parameterResolverProvider.resolve(\"id\") }])\n */\n app.provider(\"parameterResolver\", [function () {\n this.resolve = resolveParam;\n this.$get = [function () {\n return {\n resolve: resolveParam\n };\n }];\n }]);\n\n})(window.app);","(function (app) {\n\n app.run([\"$transitions\", \"$window\", function ($transitions, $window) {\n $transitions.onSuccess({}, function (trans) {\n var to = trans.to();\n var title = \"\";\n\n if (to.data && to.data.pageTitle) {\n title = to.data.pageTitle + \"\";\n }\n\n $window.document.title = title;\n });\n }]);\n\n})(window.app);","(function (app) {\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.Settings\",\n {\n url: \"/Settings\",\n component: \"accountSettings\",\n protected: true,\n });\n }]);\n\n app.component(\"accountSettings\", {\n templateUrl: \"/App/Settings/account-settings.html\", \n controller: accountSettingsCtrl, \n bindings: {\n postLoginReturnUrl: \"<\",\n pageTitle: \"<\"\n }\n });\n\n function accountSettingsCtrl() {\n var $ctrl = this;\n }\n\n})(window.app);","(function (app) {\n\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.MfaSettings\", {\n url: \"/MfaSettings\",\n component: \"mfaSettings\",\n data: {\n pageTitle: \"My Devices\",\n },\n resolve: {\n mfaDevices: [\"mfaDeviceApi\", function (mfaDeviceApi) {\n return mfaDeviceApi.getMfaDevices();\n }],\n returnTitle: [\"pageTitle\", function (pageTitle) { return pageTitle; }]\n },\n protected: true,\n });\n }]);\n\n app.component(\"mfaSettings\", {\n templateUrl: \"/App/Settings/mfa-settings.html\", \n controller: mfaSettingsCtrl, \n bindings: {\n mfaDevices: \"<\",\n postLoginReturnUrl: \"<\",\n returnTitle: \"<\"\n }\n });\n\n mfaSettingsCtrl.$inject = [\"mfaDeviceApi\", \"$q\", \"$state\", \"loginRedirectService\"];\n function mfaSettingsCtrl(mfaDeviceApi, $q, $state, loginRedirectService) {\n var $ctrl = this;\n\n $ctrl.deleteSmsDevice = function deleteSmsDevice(device) {\n device.deleting = true;\n mfaDeviceApi.deleteSmsDevice(device.SmsDeviceId)\n .then(function () {\n var index = $ctrl.mfaDevices.SmsDevices.indexOf(device);\n if (index > -1)\n $ctrl.mfaDevices.SmsDevices.splice(index, 1);\n })\n .catch(function (err) {\n if (err.status === 401) {\n loginRedirectService.redirect();\n }\n })\n .finally(function () {\n device.deleting = false;\n });\n };\n\n $ctrl.setPrimarySmsDevice = function setPrimarySmsDevice(device) {\n $ctrl.updating = true;\n var promises = $ctrl.mfaDevices.SmsDevices\n .map(function (sms) {\n return mfaDeviceApi.updateSmsPrimary(sms.SmsDeviceId, sms === device)\n .then(function () { sms.IsPrimary = sms === device; })\n .catch(function (err) {\n if (err.status === 401) {\n loginRedirectService.redirect();\n }\n });\n });\n return $q.all(promises).finally(function () { $ctrl.updating = false; });\n };\n\n $ctrl.redirectToMfaSetup = function redirectToMfaSetup() {\n return $state.go(\"^.MfaSetup\", { isPrimary: false, returnState: $state.current.name, returnParams: Object.assign({}, $state.params) });\n };\n }\n\n})(window.app);","(function (app) {\n app.config([\"$stateProvider\", function ($stateProvider) {\n $stateProvider.state(\"Root.PasswordUpdate\",\n {\n url: \"/PasswordUpdate\",\n component: \"passwordUpdate\",\n protected: true,\n });\n }]);\n\n app.component(\"passwordUpdate\", {\n templateUrl: \"/App/Settings/password-update.html\", \n controller: updatePasswordCtrl\n });\n\n updatePasswordCtrl.$inject = [\"userApi\", \"$timeout\", \"$state\", \"loginRedirectService\"];\n function updatePasswordCtrl(userApi, $timeout, $state, loginRedirectService) {\n var $ctrl = this;\n\n $ctrl.updatePassword = function updatePassword(currentPassword, newPassword, confirmNewPassword) {\n $ctrl.error = null;\n userApi.updatePassword(currentPassword, newPassword, confirmNewPassword).then(function () {\n $ctrl.success = true;\n $timeout(function () {\n $state.go(\"^.Settings\");\n }, 750);\n }).catch(function (error) {\n $ctrl.error = error.data;\n if (error.status === 401) {\n loginRedirectService.redirect();\n }\n }).finally(function () {\n $ctrl.updating = false;\n });\n };\n }\n\n})(window.app);"]}