{"version":3,"sources":["authInterceptor.js","contentVersionningInterceptor.js","headersInjectorInterceptor.js","app.js","app.run.js","config.js","config.resources.js","config.exceptionHandler.js","common.js","logger.js","serverExceptionInterceptor.js","authService.js","bootstrap.dialog.js","storageService.js","userInfoEndpointService.js","userService.js","month.js","utc.js","authNotAuthenticatedDialog/authNotAuthenticatedDialog.js","authNotAuthorizedDialog/authNotAuthorizedDialog.js","layout/shell.js","layout/templates.js","loadingIndicator/loadingIndicator.js","progressIndicator/progressIndicator.js","selectOnClick/selectOnClick.js","sparkline/sparkline.js","tabstrip/tabstrip.js","widgetControl/widgetControl.js","widgetDataTable/widgetDataTable.js","layout/footer/footer.js","layout/header/header.js","layout/header/header.search.js","layout/navMenu/navMenu.js","layout/ribbon/ribbon.js"],"names":["configureAuthInterceptor","$httpProvider","interceptors","push","authInterceptorFactory","$injector","$rootScope","$q","config","httpBuffer","userService","isRefreshingTokens","request","currentUser","tokens","accessToken","headers","Authorization","responseError","rejection","status","refreshToken","deferred","defer","append","get","post","servicesUrl","identity","refreshTokenUrl","then","response","data","persist","retryAll","clear","rejectAll","broadcastError","finally","promise","reject","$broadcast","401","events","auth","notAuthenticated","403","notAuthorized","419","440","httpBufferFactory","$http","buffer","i","length","item","retryHttpRequest","resolve","app","angular","module","run","$translate","$on","refresh","toastr","options","timeOut","positionClass","appWorkStarted","appWorkFinished","logoutSuccess","controllerActivateSuccess","languageChanged","appRoot","copy","window","appRootPath","clientAppSrcPath","appVersion","inoAppConfig","version","appLanguage","uiLanguage","value","cfg","appWorkStartedEvent","appWorkFinishedEvent","$logProvider","debugEnabled","dynamicLocaleProvider","localeLocationPattern","$translateProvider","$translatePartialLoaderProvider","commonConfigProvider","useSanitizeValueStrategy","addPart","useLoader","urlTemplate","preferredLanguage","extendExceptionHandler","$delegate","logger","appErrorPrefix","logError","getLogFn","exception","cause","message","indexOf","errorData","msg","$provide","decorator","commonModule","provider","this","$get","factory","$timeout","commonConfig","handleBusyState","promises","taskId","textResourceKey","all","$log","service","moduleId","fnName","toLowerCase","logFn","log","showToast","undefined","source","logIt","logSuccess","logWarning","toastType","error","warning","success","info","$templateCache","baseUrl","key","separator","url","api","apiBasePath","userInfoEndpoint","isSupportedUrl","encodeURIComponent","LocalizedErrorMessage","isHandled","modelState","errorMessages","defaultErrorText","instant","property","hasOwnProperty","errorTextKey","errorText","getErrorMessagesFromModelState","$window","storageService","login","location","signInUrl","logout","idToken","identityToken","clearSession","signOutUrl","$modal","deleteDialog","itemName","confirmationDialog","put","title","okText","cancelText","modalOptions","templateUrl","controller","ModalInstance","keyboard","open","result","$scope","$modalInstance","ok","close","cancel","dismiss","sessionStorage","getItem","JSON","stringify","parse","regexValues","exec","Date","UTC","removeItem","setItem","getProfile","sessionCurrentUserKey","resetCurrentUser","uniqueId","profile","email","firstName","lastName","isAuthenticated","setProfile","setTokens","sessionUser","activate","filter","val","moment","month","format","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","directive","restrict","link","scope","toggleAuthenticationDialog","toggleAuthorizationDialog","controllerId","replace","controllerAs","common","deferredBusy","vm","amountBusyPromisesToResolve","logAppWork","event","busyIndicatorConfig","setIsBusy","isBusy","timeoutSignInUrl","userProfile","visible","authorizationDialogVisible","$","modal","show","backdrop","isAuthorizationDialogVisible","authenticationDialogVisible","eventArgs","busyConfig","element","body","document","detach","template","$interval","transclude","items","index","isIncrementing","interval","isStopped","start","stop","isCurrent","addItem","pre","attrs","itemAmount","iCnt","on","getSelection","toString","setSelectionRange","$this","sparklineType","barColor","css","sparklineHeight","sparklineBarWidth","sparklineBarSpacing","sparklineNegBarColor","sparklineStackedColor","sparkline","type","height","barWidth","barSpacing","stackedBarColor","negBarColor","zeroAxis","disableTooltips","disableInteraction","tabs","forEach","tabScope","tabRoot","find","tabId","tabContent","tabHeader","resetTrigger","$watch","resetTabStrip","isHidden","click","addTab","removeGroup","splice","iElement","iAttrs","require","setTabHeader","setTabContent","transcludeFn","clone","remove","widgetControlConfig","widgetConfig","extend","widgetId","jarvisWidgets","header","widgetTitle","widgetIconClass","constant","grid","widgets","localStorage","deleteSettingsKey","settingsKeyLabel","deletePositionKey","positionKeyLabel","sortable","buttonsHidden","toggleButton","toggleClass","toggleSpeed","onToggle","deleteButton","deleteClass","deleteSpeed","onDelete","editButton","editPlaceholder","editClass","editSpeed","onEdit","colorButton","fullscreenButton","fullscreenClass","fullscreenDiff","onFullscreen","customButton","customClass","customStart","alert","customEnd","buttonOrder","opacity","dragHandle","placeholderClass","indicator","indicatorTime","ajax","timestampPlaceholder","timestampFormat","refreshButton","refreshButtonClass","labelError","labelUpdated","labelRefresh","labelDelete","afterLoad","rtl","onChange","onSave","rootElement","widgetDataTableScope","createDataTable","updateLanguage","widgetDataItems","enableCustomFiltering","removeRowAt","rowIndex","trElement","addRow","customFilteringTransclude","tableData","destroy","breakpointDefinition","tablet","phone","responsiveHelper_dt_basic","table","dataTable","preDrawCallback","ResponsiveDatatablesHelper","rowCallback","nRow","createExpandIcon","drawCallback","oSettings","respond","searching","language","appConfig","dataTables","currentLang","autoWidth","DataTable","first","rows","draw","row","add","amMoment","tmhDynamicLocale","setLanguage","languageKey","use","set","changeLocale","changeLanguage","isSelected","editProfileUrl","editUrl","userIsAuthenticated","$filter","$state","menuInfos","currentState","$current","name","allStates","state","settings","parent","subMenuInfos","abstract","childrenStates","s","childState","hide","stateName","resourceKey","titleResourceKey","iconClass","nav","getNavRoutes"],"mappings":"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","file":"../core.min.js","sourcesContent":["angular.module('inoApp')\r\n .config(['$httpProvider', configureAuthInterceptor])\r\n .factory('httpBuffer', ['$injector', httpBufferFactory])\r\n .factory('authInterceptor', ['$injector', '$rootScope', '$q', 'config', 'httpBuffer', 'userService', authInterceptorFactory]);\r\n\r\nfunction configureAuthInterceptor($httpProvider) {\r\n $httpProvider.interceptors.push('authInterceptor');\r\n}\r\n\r\nfunction authInterceptorFactory($injector, $rootScope, $q, config, httpBuffer, userService) {\r\n var isRefreshingTokens = false;\r\n\r\n var interceptor = {\r\n request: handleRequest,\r\n responseError: handleResponseError\r\n };\r\n\r\n return interceptor;\r\n\r\n function handleRequest(config) {\r\n // Append the bearer token to all calls if it's present.\r\n if (userService.currentUser.tokens.accessToken) {\r\n config.headers = config.headers || {};\r\n config.headers.Authorization = 'Bearer ' + userService.currentUser.tokens.accessToken;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n function handleResponseError(rejection) {\r\n // If the error was a 401, we might just need to retry for a new token first.\r\n if (rejection.status === 401 && userService.currentUser.tokens && userService.currentUser.tokens.refreshToken) {\r\n\r\n // Defer until we can re-request a new token\r\n var deferred = $q.defer();\r\n\r\n // Add the current request to the buffer so we can retry it at a later time\r\n httpBuffer.append(rejection, deferred);\r\n\r\n if (!isRefreshingTokens) {\r\n isRefreshingTokens = true;\r\n refreshTokens();\r\n }\r\n\r\n return deferred.promise;\r\n }\r\n\r\n // Wasn't a 401 or we could not get a new token, just trigger the event, reject the response and move on.\r\n broadcastError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function refreshTokens() {\r\n var refreshTokensSuccessCallback = function (response) {\r\n if (response && response.data && response.data.accessToken && response.data.refreshToken) {\r\n // Set the tokens with whatever was returned as response.\r\n userService.currentUser.tokens.accessToken = response.data.accessToken;\r\n userService.currentUser.tokens.refreshToken = response.data.refreshToken;\r\n userService.persist();\r\n\r\n // Retry all previously failed requests.\r\n httpBuffer.retryAll();\r\n } else {\r\n // We don't have a token, clear the userService and reject all previous requests.\r\n userService.clear();\r\n httpBuffer.rejectAll();\r\n\r\n // After all is done, just broadcast a 401\r\n broadcastError({ status: 401 });\r\n }\r\n }\r\n var refreshTokensErrorCallback = function (response) {\r\n // Token retry failed, clear the userService and reject all previous requests.\r\n userService.clear();\r\n httpBuffer.rejectAll();\r\n\r\n // After all is done, just broadcast a 401\r\n broadcastError({ status: 401 });\r\n\r\n return;\r\n }\r\n\r\n // Can't inject $http directly as will cause a circular ref.\r\n var $http = $injector.get(\"$http\");\r\n\r\n // Call the refresh token endpoint to try and get some new tokens\r\n $http\r\n .post(config.servicesUrl.identity.refreshTokenUrl, { refreshToken: userService.currentUser.tokens.refreshToken })\r\n .then(refreshTokensSuccessCallback, refreshTokensErrorCallback)\r\n .finally(function () { isRefreshingTokens = false; });\r\n }\r\n\r\n function broadcastError(response) {\r\n $rootScope.$broadcast({\r\n 401: config.events.auth.notAuthenticated,\r\n 403: config.events.auth.notAuthorized,\r\n 419: config.events.auth.notAuthorized,\r\n 440: config.events.auth.notAuthorized\r\n }[response.status], response);\r\n }\r\n}\r\n\r\nfunction httpBufferFactory($injector) {\r\n // Holds all the requests, so they can be re-requested in future.\r\n var buffer = [];\r\n\r\n // Service initialized later because of circular dependency problem.\r\n var $http;\r\n\r\n var service = {\r\n append: append,\r\n rejectAll: rejectAll,\r\n retryAll: retryAll\r\n };\r\n\r\n return service;\r\n\r\n // Appends HTTP request configuration object with deferred response attached to buffer.\r\n function append(rejection, deferred) {\r\n buffer.push({\r\n rejection: rejection,\r\n deferred: deferred\r\n });\r\n }\r\n\r\n // Abandon or reject (if reason provided) all the buffered requests.\r\n function rejectAll() {\r\n for (var i = 0; i < buffer.length; ++i) {\r\n var item = buffer[i];\r\n item.deferred.reject(item.rejection);\r\n }\r\n\r\n buffer = [];\r\n }\r\n\r\n // Retries all the buffered requests clears the buffer.\r\n function retryAll() {\r\n for (var i = 0; i < buffer.length; ++i) {\r\n var item = buffer[i];\r\n retryHttpRequest(item.rejection.config, item.deferred);\r\n }\r\n buffer = [];\r\n }\r\n\r\n function retryHttpRequest(config, deferred) {\r\n function successCallback(response) {\r\n deferred.resolve(response);\r\n }\r\n function errorCallback(response) {\r\n deferred.reject(response);\r\n }\r\n $http = $http || $injector.get('$http');\r\n $http(config).then(successCallback, errorCallback);\r\n }\r\n}","var app = angular.module('inoApp');\r\n\r\napp.factory('contentVersionningInterceptor', ['$templateCache', 'config', function ($templateCache, config) {\r\n var interceptor = {\r\n request: function (request) {\r\n // Just add the version id to the supported URL (meaning not from the template cache, the API, IdentityServer URLs, etc.)\r\n if (!$templateCache.get(request.url) && isSupportedUrl(request.url)) {\r\n // Append the app version as a querystring parameters to all other calls.\r\n // This is to deal with potential browser cache issues between versions of the application.\r\n request.url = buildUrl(request.url, 'vid', encodeURIComponent(config.appVersion));\r\n }\r\n\r\n return request;\r\n }\r\n };\r\n\r\n return interceptor;\r\n\r\n function isSupportedUrl(url) {\r\n if (config.servicesUrl && config.servicesUrl.api && config.servicesUrl.identity) {\r\n return url.indexOf(config.servicesUrl.api.apiBasePath) !== 0 &&\r\n url !== config.servicesUrl.identity.userInfoEndpoint &&\r\n url !== config.servicesUrl.identity.refreshTokenUrl;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function buildUrl(baseUrl, key, value) {\r\n var separator = (baseUrl.indexOf('?') > -1) ? '&' : '?';\r\n return baseUrl + separator + key + '=' + value;\r\n }\r\n}]);\r\n\r\napp.config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('contentVersionningInterceptor');\r\n}]);","var app = angular.module('inoApp')\r\n\r\napp.factory('headersInjectorInterceptor', function () {\r\n var headerInjector = {\r\n request: function (config) {\r\n config.headers['X-Requested-With'] = \"XMLHttpRequest\";\r\n return config;\r\n }\r\n };\r\n\r\n return headerInjector;\r\n});\r\n\r\napp.config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('headersInjectorInterceptor');\r\n}]);","(function () {\r\n 'use strict';\r\n\r\n // Register all Framework modules here.\r\n angular.module('inoApp.directives', []);\r\n angular.module('inoApp.directives.layout', []);\r\n\r\n angular.module('inoApp', [\r\n // Angular modules \r\n 'ngAnimate', // animations\r\n 'ui.router', // routing and navigation\r\n 'ngSanitize', // sanitizes html bindings (ex: sidebar.js)\r\n\r\n // SmartAdmin\r\n 'sa.directives',\r\n \t \r\n // Custom modules \r\n 'inoApp.templates',\r\n 'inoApp.directives',\r\n 'inoApp.directives.layout',\r\n 'common', // common functions, logger\r\n 'common.bootstrap', // bootstrap dialog wrapper functions\r\n\r\n // 3rd Party Modules\r\n 'ui.bootstrap', // ui-bootstrap (ex: carousel, pagination, dialog)\r\n 'pascalprecht.translate',\r\n 'angularMoment',\r\n 'tmh.dynamicLocale',\r\n 'cgBusy'\r\n ]);\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('inoApp').run(['$rootScope', '$translate', appRun]);\r\n\r\n function appRun($rootScope, $translate) {\r\n $rootScope.$on('$translatePartialLoaderStructureChanged', function () {\r\n\t\t\t$translate.refresh();\r\n\t\t});\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n var app = angular.module('inoApp');\r\n\r\n // Configure Toastr\r\n toastr.options.timeOut = 4000;\r\n toastr.options.positionClass = 'toast-bottom-right';\r\n\r\n var events = {\r\n appWorkStarted: 'app.workStarted',\r\n appWorkFinished: 'app.workFinished',\r\n auth: {\r\n logoutSuccess: 'auth-logout-success',\r\n notAuthenticated: 'auth-not-authenticated',\r\n notAuthorized: 'auth-not-authorized'\r\n },\r\n controllerActivateSuccess: 'controller.activateSuccess',\r\n languageChanged: 'languageChanged'\r\n };\r\n\r\n var config = {\r\n events: events,\r\n appRoot: angular.copy(window.appRootPath),\r\n clientAppSrcPath: angular.copy(window.clientAppSrcPath),\r\n appVersion: angular.copy(window.inoAppConfig.version),\r\n appLanguage: angular.copy(window.inoAppConfig.uiLanguage),\r\n servicesUrl: angular.copy(window.servicesUrl)\r\n };\r\n\r\n app.value('config', config);\r\n\r\n app.config(['commonConfigProvider', function (cfg) {\r\n cfg.config.appWorkStartedEvent = config.events.appWorkStarted;\r\n cfg.config.appWorkFinishedEvent = config.events.appWorkFinished;\r\n cfg.config.appRoot = config.appRoot;\r\n cfg.config.clientAppSrcPath = config.clientAppSrcPath;\r\n }]);\r\n \r\n app.config(['$logProvider', function ($logProvider) {\r\n // turn debugging off/on (no info or warn)\r\n if ($logProvider.debugEnabled) {\r\n $logProvider.debugEnabled(true);\r\n }\r\n }]);\r\n\r\n app.config(['tmhDynamicLocaleProvider', function (dynamicLocaleProvider) {\r\n dynamicLocaleProvider.localeLocationPattern(config.clientAppSrcPath + 'InovestorFramework/Core/i18n/angular-locale_{{locale}}.js');\r\n //dynamicLocale.set('en-CA');\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var app = angular.module('inoApp');\r\n app.config(['$translateProvider', '$translatePartialLoaderProvider', 'commonConfigProvider', function ($translateProvider, $translatePartialLoaderProvider, commonConfigProvider) {\r\n $translateProvider.useSanitizeValueStrategy('escaped');\r\n\r\n $translatePartialLoaderProvider.addPart('InovestorFramework/Core/app/resources');\r\n $translateProvider.useLoader('$translatePartialLoader', {\r\n urlTemplate: commonConfigProvider.config.clientAppSrcPath + '{part}/locale-{lang}.json'\r\n });\r\n $translateProvider.preferredLanguage('en');\r\n }]);\r\n})();","// Include in index.html so that app level exceptions are handled.\r\n// Exclude from testRunner.html which should run exactly what it wants to run\r\n(function () {\r\n 'use strict';\r\n \r\n var app = angular.module('inoApp');\r\n\r\n // Configure by setting an optional string value for appErrorPrefix.\r\n // Accessible via config.appErrorPrefix (via config value).\r\n\r\n app.config(['$provide', function ($provide) {\r\n $provide.decorator('$exceptionHandler',\r\n ['$delegate', 'config', 'logger', extendExceptionHandler]);\r\n }]);\r\n \r\n // Extend the $exceptionHandler service to also display a toast.\r\n function extendExceptionHandler($delegate, config, logger) {\r\n var appErrorPrefix = config.appErrorPrefix;\r\n var logError = logger.getLogFn('inoApp', 'error');\r\n return function (exception, cause) {\r\n $delegate(exception, cause);\r\n if (appErrorPrefix && exception.message.indexOf(appErrorPrefix) === 0) { return; }\r\n\r\n var errorData = { exception: exception, cause: cause };\r\n var msg = appErrorPrefix + exception.message;\r\n logError(msg, errorData, true);\r\n };\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n // Define the common module \r\n // Contains services:\r\n // - common\r\n // - logger\r\n var commonModule = angular.module('common', []);\r\n\r\n // Must configure the common service and set its \r\n // events via the commonConfigProvider\r\n commonModule.provider('commonConfig', function () {\r\n this.config = {\r\n // These are the properties we need to set\r\n //controllerActivateSuccessEvent: '',\r\n };\r\n\r\n this.$get = function () {\r\n return {\r\n config: this.config\r\n };\r\n };\r\n });\r\n\r\n commonModule.factory('common',\r\n ['$q', '$rootScope', '$timeout', 'commonConfig', 'logger', common]);\r\n\r\n function common($q, $rootScope, $timeout, commonConfig, logger) {\r\n var throttles = {};\r\n\r\n var service = {\r\n handleBusyState: handleBusyState,\r\n logger: logger // for accessibility\r\n };\r\n\r\n return service;\r\n\r\n function handleBusyState(promises, taskId, textResourceKey) {\r\n $rootScope.$broadcast(commonConfig.config.appWorkStartedEvent, { taskId: taskId, textResourceKey: textResourceKey });\r\n return $q\r\n .all(promises)\r\n .finally(function () {\r\n $rootScope.$broadcast(commonConfig.config.appWorkFinishedEvent, { taskId: taskId, textResourceKey: textResourceKey });\r\n });\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n \r\n angular.module('common').factory('logger', ['$log', logger]);\r\n\r\n function logger($log) {\r\n var service = {\r\n getLogFn: getLogFn,\r\n log: log,\r\n logError: logError,\r\n logSuccess: logSuccess,\r\n logWarning: logWarning\r\n };\r\n\r\n return service;\r\n\r\n function getLogFn(moduleId, fnName) {\r\n fnName = fnName || 'log';\r\n switch (fnName.toLowerCase()) { // convert aliases\r\n case 'success':\r\n fnName = 'logSuccess'; break;\r\n case 'error':\r\n fnName = 'logError'; break;\r\n case 'warn':\r\n fnName = 'logWarning'; break;\r\n case 'warning':\r\n fnName = 'logWarning'; break;\r\n }\r\n\r\n var logFn = service[fnName] || service.log;\r\n return function (msg, data, showToast) {\r\n logFn(msg, data, moduleId, (showToast === undefined) ? true : showToast);\r\n };\r\n }\r\n\r\n function log(message, data, source, showToast) {\r\n logIt(message, data, source, showToast, 'info');\r\n }\r\n\r\n function logWarning(message, data, source, showToast) {\r\n logIt(message, data, source, showToast, 'warning');\r\n }\r\n\r\n function logSuccess(message, data, source, showToast) {\r\n logIt(message, data, source, showToast, 'success');\r\n }\r\n\r\n function logError(message, data, source, showToast) {\r\n logIt(message, data, source, showToast, 'error');\r\n }\r\n\r\n function logIt(message, data, source, showToast, toastType) {\r\n var write = (toastType === 'error') ? $log.error : $log.log;\r\n source = source ? '[' + source + '] ' : '';\r\n write(source, message, data);\r\n if (showToast) {\r\n if (toastType === 'error') {\r\n toastr.error(message);\r\n } else if (toastType === 'warning') {\r\n toastr.warning(message);\r\n } else if (toastType === 'success') {\r\n toastr.success(message);\r\n } else {\r\n toastr.info(message);\r\n }\r\n }\r\n }\r\n }\r\n})();","angular.module('inoApp')\r\n .factory('serverExceptionInterceptor', ['$q', '$translate', function ($q, $translate) {\r\n var serverExceptionInterceptor = {\r\n responseError: handleResponseError\r\n };\r\n\r\n return serverExceptionInterceptor;\r\n\r\n function handleResponseError(response) {\r\n // In some cases (notably 403 from Web API), data will be an empty string and we don't want that.\r\n if (!response.data || typeof response.data === 'string')\r\n response.data = {};\r\n response.data.LocalizedErrorMessage = '';\r\n\r\n var isHandled = false;\r\n\r\n // 400 Bad Request\r\n if (response.status === 400 && response.data && response.data.modelState) {\r\n // A Bad Request error that is handled by the Web API controller.\r\n // We should have enough information to get a meaningful error message.\r\n\r\n var messagesSeparationElement = '
';\r\n\r\n //errorMessages = getDistinctElement(getErrorMessagesFromModelState(response.data.ModelState));\r\n errorMessages = getErrorMessagesFromModelState(response.data.modelState);\r\n\r\n // Add all the errors to the LocalizedErrorMessage separated by the separation element.\r\n for (var i = 0; i < errorMessages.length; i++) {\r\n response.data.LocalizedErrorMessage += errorMessages[i];\r\n if (i + 1 !== errorMessages.length)\r\n response.data.LocalizedErrorMessage += messagesSeparationElement;\r\n }\r\n\r\n isHandled = true;\r\n }\r\n\r\n // 401 Unauthorized\r\n if (response.status === 401) {\r\n response.data.LocalizedErrorMessage = $translate.instant('error.NotAuthenticated');\r\n isHandled = true;\r\n }\r\n\r\n // 403 Forbidden\r\n if (response.status === 403) {\r\n response.data.LocalizedErrorMessage = $translate.instant('error.Unauthorized');\r\n isHandled = true;\r\n }\r\n\r\n // If the error wasn't handled, just add the default error text.\r\n if (!isHandled)\r\n response.data.LocalizedErrorMessage = $translate.instant('error.DefaultErrorMessage');\r\n\r\n return $q.reject(response);\r\n }\r\n\r\n function getErrorMessagesFromModelState(modelState) {\r\n var errorMessages = [];\r\n var defaultErrorText = $translate.instant('error.DefaultErrorMessage');\r\n\r\n // Loop in all property as we can have multiple error messages coming from the server.\r\n for (var property in modelState) {\r\n\r\n // To avoid logging inherited properties\r\n if (modelState.hasOwnProperty(property)) {\r\n\r\n // Each property is an array of errors so, loop.\r\n for (var i = 0; i < modelState[property].length; i++) {\r\n\r\n var errorTextKey = 'error.' + modelState[property][i];\r\n var errorText = $translate.instant(errorTextKey);\r\n\r\n // If the error key is the same as the text, it means that we don't have any relevant error text to display\r\n // so we just add the default error text to the response.\r\n if (errorTextKey === errorText)\r\n errorMessages.push(defaultErrorText);\r\n else\r\n errorMessages.push(errorText);\r\n }\r\n }\r\n }\r\n\r\n return errorMessages;\r\n }\r\n\r\n //function getDistinctElement(a) {\r\n // return a.reduce(function (p, c) {\r\n // if (p.indexOf(c) < 0) p.push(c);\r\n // return p;\r\n // }, []);\r\n //}\r\n\r\n }])\r\n .config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('serverExceptionInterceptor');\r\n }]);","(function () {\r\n 'use strict';\r\n\r\n var app = angular.module('inoApp');\r\n\r\n app.factory('authService', ['$q', '$rootScope', '$window', 'config', 'storageService', 'userService', authServiceFactory]);\r\n\r\n function authServiceFactory($q, $rootScope, $window, config, storageService, userService) {\r\n var service = {\r\n login: login,\r\n logout: logout\r\n };\r\n\r\n $rootScope.$on(config.events.auth.notAuthenticated, clearSession);\r\n\r\n return service;\r\n\r\n function login() {\r\n // Since we're redirecting, trigger a busy event in case the other app is taking its time to respond.\r\n $rootScope.$broadcast(config.events.appWorkStarted);\r\n $window.location = config.servicesUrl.identity.signInUrl;\r\n }\r\n\r\n function logout() {\r\n var idToken = '';\r\n if (userService.currentUser.tokens)\r\n idToken = userService.currentUser.tokens.identityToken;\r\n\r\n clearSession().then(function () {\r\n $rootScope.$broadcast(config.events.auth.logoutSuccess);\r\n // Since we're redirecting, trigger a busy event in case the other app is taking its time to respond.\r\n $rootScope.$broadcast(config.events.appWorkStarted);\r\n $window.location = config.servicesUrl.identity.signOutUrl + '?idToken=' + encodeURIComponent(idToken);\r\n });\r\n }\r\n\r\n function clearSession() {\r\n return $q.all([storageService.clear()]);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n var bootstrapModule = angular.module('common.bootstrap', ['ui.bootstrap']);\r\n\r\n bootstrapModule.factory('bootstrap.dialog', ['$modal', '$templateCache', modalDialog]);\r\n\r\n function modalDialog($modal, $templateCache) {\r\n var service = {\r\n deleteDialog: deleteDialog,\r\n confirmationDialog: confirmationDialog\r\n };\r\n\r\n $templateCache.put('modalDialog.tpl.html', \r\n '
{{message}}
' +\r\n '{{ busyConfig.textResourceKey | translate }}
\" +\r\n \"