{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/api-authorization/login-menu/login-menu.component.html","webpack:///src/api-authorization/login/login.component.html","webpack:///src/api-authorization/logout/logout.component.html","webpack:///src/app/shared/layout/auth/auth.component.html","webpack:///src/app/shared/layout/dropdown-apps/dropdown-apps.component.html","webpack:///src/app/shared/layout/dropdown-user/dropdown-user.component.html","webpack:///src/app/shared/layout/fab-shortcut/fab-shortcut.component.html","webpack:///src/app/shared/layout/logo/logo.component.html","webpack:///src/app/shared/layout/main/main.component.html","webpack:///src/app/shared/layout/page-breadcrumb/page-breadcrumb.component.html","webpack:///src/app/shared/layout/page-footer/page-footer.component.html","webpack:///src/app/shared/layout/page-header/page-header.component.html","webpack:///src/app/shared/layout/page-heading/page-heading.component.html","webpack:///src/app/shared/layout/settings-modal/settings-modal.component.html","webpack:///src/app/shared/layout/settings-shortcut/settings-shortcut.component.html","webpack:///src/app/shared/layout/settings/settings.component.html","webpack:///src/app/shared/layout/shortcut-modal/shortcut-modal.component.html","webpack:///src/app/shared/layout/sidebar/sidebar.component.html","webpack:///src/app/shared/navigation/nav-filter-msg/nav-filter-msg.component.html","webpack:///src/app/shared/navigation/nav-filter/nav-filter.component.html","webpack:///src/app/shared/navigation/nav-footer/nav-footer.component.html","webpack:///src/app/shared/navigation/nav-info-card/nav-info-card.component.html","webpack:///src/app/shared/navigation/nav-item/nav-item.component.html","webpack:///src/app/shared/navigation/nav/nav.component.html","webpack:///src/app/shared/panels/panel/panel.component.html","webpack:///src/api-authorization/api-authorization.constants.ts","webpack:///src/api-authorization/api-authorization.module.ts","webpack:///src/api-authorization/authorize.interceptor.ts","webpack:///src/api-authorization/authorize.service.ts","webpack:///src/api-authorization/login-menu/login-menu.component.css","webpack:///src/api-authorization/login-menu/login-menu.component.ts","webpack:///src/api-authorization/login/login.component.css","webpack:///src/api-authorization/login/login.component.ts","webpack:///src/api-authorization/logout/logout.component.css","webpack:///src/api-authorization/logout/logout.component.ts","webpack:///src/app/Globals.ts","webpack:///src/app/NavSections.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.config.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.navigation.ts","webpack:///src/app/core/core.module.ts","webpack:///src/app/globalcontext.service.ts","webpack:///src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.ts","webpack:///src/app/shared/dialogs/dialogs.module.ts","webpack:///src/app/shared/dialogs/dialogs.service.ts","webpack:///src/app/shared/layout/auth/auth.component.ts","webpack:///src/app/shared/layout/dropdown-apps/dropdown-apps.component.ts","webpack:///src/app/shared/layout/dropdown-user/dropdown-user.component.ts","webpack:///src/app/shared/layout/fab-shortcut/fab-shortcut.component.ts","webpack:///src/app/shared/layout/layout.module.ts","webpack:///src/app/shared/layout/logo/logo.component.ts","webpack:///src/app/shared/layout/main/main.component.ts","webpack:///src/app/shared/layout/page-breadcrumb/page-breadcrumb.component.ts","webpack:///src/app/shared/layout/page-footer/page-footer.component.ts","webpack:///src/app/shared/layout/page-header/page-header.component.ts","webpack:///src/app/shared/layout/page-heading/page-heading.component.ts","webpack:///src/app/shared/layout/settings-modal/settings-modal.component.ts","webpack:///src/app/shared/layout/settings-modal/settings-modal.service.ts","webpack:///src/app/shared/layout/settings-shortcut/settings-shortcut.component.ts","webpack:///src/app/shared/layout/settings/settings.component.ts","webpack:///src/app/shared/layout/shortcut-modal/shortcut-modal.component.ts","webpack:///src/app/shared/layout/shortcut-modal/shortcut-modal.service.ts","webpack:///src/app/shared/layout/sidebar/sidebar.component.ts","webpack:///src/app/shared/navigation/nav-filter-msg/nav-filter-msg.component.ts","webpack:///src/app/shared/navigation/nav-filter/nav-filter.component.ts","webpack:///src/app/shared/navigation/nav-footer/nav-footer.component.ts","webpack:///src/app/shared/navigation/nav-info-card/nav-info-card.component.ts","webpack:///src/app/shared/navigation/nav-item/nav-item.component.ts","webpack:///src/app/shared/navigation/nav/nav.component.ts","webpack:///src/app/shared/navigation/navigation.module.ts","webpack:///src/app/shared/navigation/navigation/navigation.component.ts","webpack:///src/app/shared/panels/panel/panel.component.ts","webpack:///src/app/shared/panels/panels.module.ts","webpack:///src/app/shared/ui/on-off/on-off.component.ts","webpack:///src/app/shared/ui/ui.module.ts","webpack:///src/app/shared/utils/animations.ts","webpack:///src/app/shared/utils/directives/stub-click.directive.ts","webpack:///src/app/shared/utils/utils.functions.ts","webpack:///src/app/shared/utils/utils.module.ts","webpack:///src/app/store/appcontext/appcontext.actions.ts","webpack:///src/app/store/appcontext/appcontext.reducer.ts","webpack:///src/app/store/appcontext/appcontext.selectors.ts","webpack:///src/app/store/appcontext/index.ts","webpack:///src/app/store/index.ts","webpack:///src/app/store/navigation/index.ts","webpack:///src/app/store/navigation/navigation.actions.ts","webpack:///src/app/store/navigation/navigation.effects.ts","webpack:///src/app/store/navigation/navigation.reducer.ts","webpack:///src/app/store/navigation/navigation.selectors.ts","webpack:///src/app/store/router/index.ts","webpack:///src/app/store/router/router.actions.ts","webpack:///src/app/store/router/router.effects.ts","webpack:///src/app/store/router/router.reducer.ts","webpack:///src/app/store/router/router.selectors.ts","webpack:///src/app/store/settings/index.ts","webpack:///src/app/store/settings/settings.actions.ts","webpack:///src/app/store/settings/settings.meta.ts","webpack:///src/app/store/settings/settings.reducer.ts","webpack:///src/app/store/settings/settings.selectors.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","ApplicationName","ReturnUrlType","QueryParameterNames","ReturnUrl","Message","LogoutActions","LogoutCallback","Logout","LoggedOut","LoginActions","Login","LoginCallback","LoginFailed","Profile","Register","applicationPaths","DefaultLoginRedirectPath","ApiAuthorizationClientConfigurationUrl","LogOut","LogOutCallback","LoginPathComponents","LoginFailedPathComponents","LoginCallbackPathComponents","RegisterPathComponents","ProfilePathComponents","LogOutPathComponents","LoggedOutPathComponents","LogOutCallbackPathComponents","IdentityRegisterPath","IdentityManagePath","split","ApplicationPaths","ApiAuthorizationModule","imports","forChild","path","component","declarations","AuthorizeInterceptor","authorize","next","getAccessToken","pipe","token","processRequestWithToken","isSameOriginUrl","clone","setHeaders","Authorization","handle","url","startsWith","window","location","origin","host","test","providedIn","AuthenticationResultStatus","AuthorizeService","globalContextService","popUpDisabled","userSubject","getUser","u","getUserFromStorage","asObservable","ensureUserManagerInitialized","x","userManager","aUser","y","access_token","user","state","signinSilent","createArguments","profile","success","signinPopup","message","error","signinRedirect","redirect","signinCallback","GetUserInfo","signoutPopup","signoutRedirect","signoutCallback","useReplaceToNavigate","data","status","Fail","Success","Redirect","undefined","fetch","response","ok","json","settings","automaticSilentRenew","includeIdTokenInSilentRenew","events","addUserSignedOut","removeUser","LoginMenuComponent","authorizeService","ref","isAuthenticated","userName","name","clientName","GetClientName","_subscription","nameChange","subscribe","value","interval","setInterval","detectChanges","unsubscribe","clearInterval","detach","selector","template","changeDetection","OnPush","LoginComponent","activatedRoute","router","action","snapshot","login","getReturnUrl","processLoginCallback","queryParamMap","get","redirectToProfile","redirectToRegister","returnUrl","signIn","result","getAuthsSet","navigateToReturnUrl","navigate","queryParams","href","completeSignIn","redirectToApiAuthorizationPath","encodeURI","navigateByUrl","replaceUrl","fromQuery","apiAuthorizationPath","redirectUrl","replace","LogoutComponent","history","local","logout","processLogoutCallback","toPromise","isauthenticated","signOut","completeSignOut","Authorizations","group","Title","Description","NavSections","routes","children","redirectTo","pathMatch","loadChildren","m","AboutModule","DataforensicsModule","ClientsModule","ChartsModule","SettingsModule","UiPagesModule","IconsModule","AppRoutingModule","forRoot","AppComponent","title","APP_CONFIG","app","appName","email","twitter","avatar","version","bs4v","logo","logoM","copyright","AppModule","withServerTransition","appId","instrument","maxAge","logOnly","production","providers","provide","useClass","multi","bootstrap","NavigationItems","tags","icon","navSection","developer","dataforensics","auth","items","routerLink","Member","CoreModule","parentModule","throwIfAlreadyLoaded","metaReducers","runtimeChecks","strictStateImmutability","strictActionImmutability","strictStateSerializability","strictActionSerializability","actionsBlocklist","moduleName","GlobalContextService","http","baseUrl","store","appRef","validValues","callGetUser","userInfoInitializedSubject","userInfoInitialized$","globals","userType","clientID","userID","Auths","i","ss","fnd","find","alert","console","log","resp","map","dispatch","item","JSON","parse","response2","resp2","GetUserInfo2","length","GetAuthsFromStore","auths","authn","found","Set","level","filter","ClientName","select","ConfirmDialogComponent","bsModalRef","onClose","$event","complete","hide","DialogsModule","entryComponents","DialogsService","rendererFactory","modalService","renderer","createRenderer","initialState","playSound","show","backdrop","keyboard","addClass","document","querySelector","content","sound","audioElement","createElement","navigator","userAgent","match","setAttribute","addEventListener","play","pause","AuthComponent","DropdownAppsComponent","DropdownUserComponent","FabShortcutComponent","preventDefault","print","LayoutModule","LogoComponent","shortcut","openModal","MainComponent","open","PageBreadcrumbComponent","date","Date","now","vm$","PageFooterComponent","PageHeaderComponent","PageHeadingComponent","SettingsModalComponent","sms","sub","sink","openSettings$","showModal","modalRef","SettingsModalService","SettingsShortcutComponent","SettingsComponent","size","ShortcutModalComponent","ShortcutModalService","SidebarComponent","NavFilterMsgComponent","NavFilterComponent","textThrhottle$","text","trim","NavFooterComponent","NavInfoCardComponent","NavItemComponent","active","matched","navTitle","idx","isAuthorized","animations","NavComponent","minified","minifyNavigation","NavigationModule","NavigationComponent","PanelComponent","headerClass","dialogs","el","hasPannel","collapsible","collapsed","fullscreenable","fullscreenIn","closed","clossable","changes","classes","push","titleEl","nativeElement","innerText","confirm","buttons","label","className","cancel","PanelsModule","OnOffComponent","checked","checkedChange","currentValue","emit","UiModule","makeSlideInOut","height","opacity","StubClickDirective","event","MouseEvent","scrollToTop","scrollDuration","cosParameter","scrollY","scrollCount","oldTimestamp","performance","step","newTimestamp","Math","PI","scrollTo","round","cos","requestAnimationFrame","toggleFullscreen","fullscreenElement","documentElement","requestFullscreen","Element","exitFullscreen","handleClassCondition","condition","classList","contains","remove","add","UtilsModule","loggedInUserInfo","AppContextActionTypes","type","AppContextReducer","reducer","selectAppContextState","reducers","navigation","appcontext","localStorageSyncReducer","rehydrate","concat","effects","toggleNavSection","activeUrl","toggleFilter","navigationFilter","mobileNavigation","NavigationEffects","actions$","breakpointObserver","mapToActiveUrl$","payload","mobileNavigation$","observe","matches","decorateItems","total","countTotal","filterActive","filterText","navigationReducer","detectActiveItems","toggleItems","_","filterItems","countMatched","navItems","navItem","forEach","isActive","itemIsActive","some","toggledItem","isToggledItemLevel","navItemMatch","RegExp","selectNavigationState","selectNavigationItems","selectFilter","selectResult","GO","UPDATE","BACK","FORWARD","Go","UpdateLocation","Back","Forward","RouterEffects","navigate$","query","extras","location$","go","navigateBack$","back","navigateForward$","forward","CustomSerializer","routerState","root","firstChild","params","getRouterState","toggleFixedHeader","toggleFixedNavigation","toggleMinifyNavigation","toggleHideNavigation","toggleTopNavigation","toggleBoxedLayout","togglePushContent","toggleNoOverlay","toggleOffCanvas","toggleBiggerContentFont","toggleHighContrastText","toggleDaltonism","toggleRtl","togglePreloaderInsise","toggleCleanPageBackground","toggleHideNavigationIcons","toggleDisableCSSAnimation","toggleHideInfoCard","toggleLeanSubheader","toggleHierarchicalNavigation","setGlobalFontSize","appReset","factoryReset","SettingsActionTypes","html","body","settingsMetaReducer","includes","handleCssClasses","fixedHeader","fixedNavigation","hideNavigation","topNavigation","boxedLayout","pushContent","noOverlay","offCanvas","biggerContentFont","highContrastText","daltonism","preloaderInside","cleanPageBackground","hideNavigationIcons","disableCSSAnimation","hideInfoCard","leanSubheader","hierarchicalNavigation","globalFontSize","rtl","settingsReducer","selectSettingsState","environment","getBaseUrl","getElementsByTagName","useFactory","deps","bootstrapModule","err"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export default \"\\r\\n\\r\\n\";","export default \"

{{ message | async }}

\";","export default \"

{{ message | async }}

\";","export default \"

auth works!

\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n Quick Shortcut\\r\\n User Applications & Addons\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n \\\"{{user.name}}\\\" \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"{{user.user}}\\\"\\r\\n \\r\\n
\\r\\n
{{user.user}}
\\r\\n {{user.email}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reset Layout\\r\\n \\r\\n \\r\\n Settings\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Fullscreen \\r\\n F11\\r\\n \\r\\n \\r\\n Print \\r\\n Ctrl + P\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Logout \\r\\n {{user.twitter}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n \";","export default \"
\\r\\n\\r\\n \\r\\n {{ appName }}\\r\\n\\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
    \\r\\n
  1. pLog Cloud
  2. \\r\\n\\r\\n \\r\\n
  3. \\r\\n {{crumb}}\\r\\n
  4. \\r\\n \\r\\n
    \\r\\n\\r\\n
  5. \\r\\n {{ date | date }}\\r\\n
  6. \\r\\n
\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \";","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n

\\r\\n Introduction\\r\\n \\r\\n A brief introduction to this WebApp\\r\\n \\r\\n

\\t\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

\\r\\n Layout Settings\\r\\n User Interface Settings\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n App Layout\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Fixed Header\\r\\n header is in a fixed at all times\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Fixed Navigation\\r\\n left panel is fixed\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Minify Navigation\\r\\n Skew nav to maximize space\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Hide Navigation\\r\\n roll mouse on edge to reveal\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Top Navigation\\r\\n Relocate left pane to top\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Boxed Layout\\r\\n Encapsulates to a container\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Mobile Menu\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Push Content\\r\\n Content pushed on menu reveal\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n No Overlay\\r\\n Removes mesh on menu reveal\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Off-Canvas (beta)\\r\\n Content overlaps menu\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Accessibility\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Bigger Content Font\\r\\n content fonts are bigger for readability\\r\\n
\\r\\n
\\r\\n \\r\\n High Contrast Text (WCAG 2 AA)\\r\\n 4.5:1 text contrast ratio\\r\\n
\\r\\n
\\r\\n \\r\\n Daltonism (beta) \\r\\n color vision deficiency\\r\\n
\\r\\n
\\r\\n \\r\\n Preloader Inside\\r\\n preloader will be inside content\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Global Modifications\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Clean Page Background\\r\\n adds more whitespace\\r\\n
\\r\\n
\\r\\n \\r\\n Hide Navigation Icons\\r\\n invisible navigation icons\\r\\n
\\r\\n
\\r\\n \\r\\n Disable CSS Animation\\r\\n Disables CSS based animations\\r\\n
\\r\\n
\\r\\n \\r\\n Hide Info Card\\r\\n Hides info card from left panel\\r\\n
\\r\\n
\\r\\n \\r\\n Lean Subheader\\r\\n distinguished page header\\r\\n
\\r\\n
\\r\\n \\r\\n Hierarchical Navigation\\r\\n Clear breakdown of nav links\\r\\n
\\r\\n\\r\\n
\\r\\n Global Font Size (RESETS ON REFRESH)\\r\\n \\r\\n \\r\\n \\r\\n SM\\r\\n \\r\\n \\r\\n MD\\r\\n \\r\\n \\r\\n LG\\r\\n \\r\\n \\r\\n XL\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n Change root font size to effect rem values\\r\\n
\\r\\n\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\";","export default \"\\r\\n \\r\\n showing {{ vm.matched }} from {{ vm.total }} total\\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ user | async }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n {{ item.title }}\\r\\n {{item.badge.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n {{ item.title }}\\r\\n {{item.badge.label}}\\r\\n \\r\\n\\r\\n\\r\\n {{ item.title }}\\r\\n\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\t\\r\\n \\\"Fullscreen\\\"/\\r\\n \\\"Partscreen\\\"/\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\";","export const ApplicationName = 'pLogV2';\r\n\r\nexport const ReturnUrlType = 'returnUrl';\r\n\r\nexport const QueryParameterNames = {\r\n ReturnUrl: ReturnUrlType,\r\n Message: 'message'\r\n};\r\n\r\nexport const LogoutActions = {\r\n LogoutCallback: 'logout-callback',\r\n Logout: 'logout',\r\n LoggedOut: 'logged-out'\r\n};\r\n\r\nexport const LoginActions = {\r\n Login: 'login',\r\n LoginCallback: 'login-callback',\r\n LoginFailed: 'login-failed',\r\n Profile: 'profile',\r\n Register: 'register'\r\n};\r\n\r\nlet applicationPaths: ApplicationPathsType = {\r\n DefaultLoginRedirectPath: '/',\r\n ApiAuthorizationClientConfigurationUrl: `/_configuration/${ApplicationName}`,\r\n Login: `authentication/${LoginActions.Login}`,\r\n LoginFailed: `authentication/${LoginActions.LoginFailed}`,\r\n LoginCallback: `authentication/${LoginActions.LoginCallback}`,\r\n Register: `authentication/${LoginActions.Register}`,\r\n Profile: `authentication/${LoginActions.Profile}`,\r\n LogOut: `authentication/${LogoutActions.Logout}`,\r\n LoggedOut: `authentication/${LogoutActions.LoggedOut}`,\r\n LogOutCallback: `authentication/${LogoutActions.LogoutCallback}`,\r\n LoginPathComponents: [],\r\n LoginFailedPathComponents: [],\r\n LoginCallbackPathComponents: [],\r\n RegisterPathComponents: [],\r\n ProfilePathComponents: [],\r\n LogOutPathComponents: [],\r\n LoggedOutPathComponents: [],\r\n LogOutCallbackPathComponents: [],\r\n IdentityRegisterPath: '/Identity/Account/Register',\r\n IdentityManagePath: '/Identity/Account/Manage'\r\n};\r\n\r\napplicationPaths = {\r\n ...applicationPaths,\r\n LoginPathComponents: applicationPaths.Login.split('/'),\r\n LoginFailedPathComponents: applicationPaths.LoginFailed.split('/'),\r\n RegisterPathComponents: applicationPaths.Register.split('/'),\r\n ProfilePathComponents: applicationPaths.Profile.split('/'),\r\n LogOutPathComponents: applicationPaths.LogOut.split('/'),\r\n LoggedOutPathComponents: applicationPaths.LoggedOut.split('/'),\r\n LogOutCallbackPathComponents: applicationPaths.LogOutCallback.split('/')\r\n};\r\n\r\ninterface ApplicationPathsType {\r\n readonly DefaultLoginRedirectPath: string;\r\n readonly ApiAuthorizationClientConfigurationUrl: string;\r\n readonly Login: string;\r\n readonly LoginFailed: string;\r\n readonly LoginCallback: string;\r\n readonly Register: string;\r\n readonly Profile: string;\r\n readonly LogOut: string;\r\n readonly LoggedOut: string;\r\n readonly LogOutCallback: string;\r\n readonly LoginPathComponents: string [];\r\n readonly LoginFailedPathComponents: string [];\r\n readonly LoginCallbackPathComponents: string [];\r\n readonly RegisterPathComponents: string [];\r\n readonly ProfilePathComponents: string [];\r\n readonly LogOutPathComponents: string [];\r\n readonly LoggedOutPathComponents: string [];\r\n readonly LogOutCallbackPathComponents: string [];\r\n readonly IdentityRegisterPath: string;\r\n readonly IdentityManagePath: string;\r\n}\r\n\r\nexport const ApplicationPaths: ApplicationPathsType = applicationPaths;\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginMenuComponent } from './login-menu/login-menu.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { LogoutComponent } from './logout/logout.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ApplicationPaths } from './api-authorization.constants';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule.forChild(\r\n [\r\n { path: ApplicationPaths.Register, component: LoginComponent },\r\n { path: ApplicationPaths.Profile, component: LoginComponent },\r\n { path: ApplicationPaths.Login, component: LoginComponent },\r\n { path: ApplicationPaths.LoginFailed, component: LoginComponent },\r\n { path: ApplicationPaths.LoginCallback, component: LoginComponent },\r\n { path: ApplicationPaths.LogOut, component: LogoutComponent },\r\n { path: ApplicationPaths.LoggedOut, component: LogoutComponent },\r\n { path: ApplicationPaths.LogOutCallback, component: LogoutComponent }\r\n ]\r\n )\r\n ],\r\n declarations: [LoginMenuComponent, LoginComponent, LogoutComponent],\r\n exports: [LoginMenuComponent, LoginComponent, LogoutComponent]\r\n})\r\nexport class ApiAuthorizationModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport {from, Observable} from 'rxjs';\r\nimport { AuthorizeService } from './authorize.service';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport {conditionallyCreateMapObjectLiteral} from \"@angular/compiler/src/render3/view/util\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeInterceptor implements HttpInterceptor {\r\n constructor(private authorize: AuthorizeService) { \r\n //console.log(\"in AuthorizeInterceptor constructor\");\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n //console.log(\"in intercept\");\r\n return this.authorize.getAccessToken()\r\n .pipe(mergeMap(token => this.processRequestWithToken(token, req, next)));\r\n \r\n \r\n // return from(this.authorize.GetToken()).pipe(mergeMap(token => this.processRequestWithToken(token, req, next)));\r\n }\r\n\r\n // Checks if there is an access_token available in the authorize service\r\n // and adds it to the request in case it's targeted at the same origin as the\r\n // single page application.\r\n private processRequestWithToken(token: string, req: HttpRequest, next: HttpHandler) {\r\n //console.log(\"In processRequestWithToken, token is: \" + token);\r\n if (!!token && this.isSameOriginUrl(req)) {\r\n //console.log((\"In processRequestWithToken passed test\"));\r\n req = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n\r\n private isSameOriginUrl(req: any) {\r\n //console.log(\"isSameOriginURL @1 \" + req.url);\r\n // It's an absolute url with the same origin.\r\n if (req.url.startsWith(`${window.location.origin}/`)) {\r\n return true;\r\n }\r\n //console.log(\"isSameOriginURL @2\");\r\n // It's a protocol relative url with the same origin.\r\n // For example: //www.example.com/api/Products\r\n if (req.url.startsWith(`//${window.location.host}/`)) {\r\n return true;\r\n }\r\n //console.log(\"isSameOriginURL @3\");\r\n // It's a relative url like /api/Products\r\n if (/^\\/[^\\/].*/.test(req.url)) {\r\n return true;\r\n }\r\n //console.log(\"isSameOriginURL @4\");\r\n // It's an absolute or protocol relative url that\r\n // doesn't have the same origin.\r\n return false;\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\n//https://github.com/IdentityModel/oidc-client-js/wiki\r\n//https://openid.net/specs/openid-connect-core-1_0.html\r\n//https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokens\r\nimport { User, UserManager, WebStorageStateStore } from 'oidc-client';\r\nimport { BehaviorSubject, concat, from, Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, take, tap } from 'rxjs/operators';\r\nimport { ApplicationPaths, ApplicationName } from './api-authorization.constants';\r\nimport {GlobalContextService} from \"../app/globalcontext.service\";\r\n\r\n\r\nexport type IAuthenticationResult =\r\n SuccessAuthenticationResult |\r\n FailureAuthenticationResult |\r\n RedirectAuthenticationResult;\r\n\r\nexport interface SuccessAuthenticationResult {\r\n status: AuthenticationResultStatus.Success;\r\n state: any;\r\n}\r\n\r\nexport interface FailureAuthenticationResult {\r\n status: AuthenticationResultStatus.Fail;\r\n message: string;\r\n}\r\n\r\nexport interface RedirectAuthenticationResult {\r\n status: AuthenticationResultStatus.Redirect;\r\n}\r\n\r\nexport enum AuthenticationResultStatus {\r\n Success,\r\n Redirect,\r\n Fail\r\n}\r\n\r\nexport interface IUser {\r\n name?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizeService {\r\n // By default pop ups are disabled because they don't work properly on Edge.\r\n // If you want to enable pop up authentication simply set this flag to false.\r\n\r\n private popUpDisabled = true;\r\n private userManager: UserManager;\r\n private userSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n\r\n constructor(private globalContextService: GlobalContextService ) {\r\n\r\n }\r\n\r\n public isAuthenticated(): Observable {\r\n return this.getUser().pipe(map(u => !!u));\r\n }\r\n\r\n public getUser(): Observable {\r\n return concat(\r\n this.userSubject.pipe(take(1), filter(u => !!u)),\r\n this.getUserFromStorage().pipe(filter(u => !!u), tap(u => this.userSubject.next(u))),\r\n this.userSubject.asObservable());\r\n }\r\n\r\n public async GetToken() {\r\n //console.log(\"@ GetToken\");\r\n await this.ensureUserManagerInitialized();\r\n let x = this.userManager.getUser();\r\n let aUser = await x;\r\n //console.log(\"in ensureUserManagerInitialized User is\" + JSON.stringify(aUser));\r\n let y = aUser.access_token;\r\n //console.log(\"In GetToken, returning:\" + y);\r\n return y;\r\n }\r\n \r\n public getAccessToken(): Observable {\r\n //console.log(\"@ getAccessToken\");\r\n return from(this.ensureUserManagerInitialized())\r\n .pipe(mergeMap(() => from(this.userManager.getUser())),\r\n map(user => user && user.access_token));\r\n }\r\n\r\n // We try to authenticate the user in three different ways:\r\n // 1) We try to see if we can authenticate the user silently. This happens\r\n // when the user is already logged in on the IdP and is done using a hidden iframe\r\n // on the client.\r\n // 2) We try to authenticate the user using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 3) If the two methods above fail, we redirect the browser to the IdP to perform a traditional\r\n // redirect flow.\r\n public async signIn(state: any): Promise {\r\n //console.log(\"in SignIn\" + state);\r\n //console.log(\"@ signIn\");\r\n await this.ensureUserManagerInitialized();\r\n let user: User = null;\r\n try {\r\n //console.log(\"@ Position0\")\r\n user = await this.userManager.signinSilent(this.createArguments());\r\n this.userSubject.next(user.profile);\r\n return this.success(state);\r\n } catch (silentError) {\r\n //console.log(silentError);\r\n // User might not be authenticated, fallback to popup authentication\r\n //console.log('Silent authentication error: ', silentError);\r\n\r\n try {\r\n //console.log(\"@ Position1\")\r\n if (this.popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'authorize.service.ts:AuthorizeService.popupDisabled\\' to false to enable it.');\r\n }\r\n user = await this.userManager.signinPopup(this.createArguments());\r\n this.userSubject.next(user.profile);\r\n return this.success(state);\r\n } catch (popupError) {\r\n if (popupError.message === 'Popup window closed') {\r\n // The user explicitly cancelled the login action by closing an opened popup.\r\n return this.error('The user closed the window.');\r\n } else if (!this.popUpDisabled) {\r\n //console.log('Popup authentication error: ', popupError);\r\n }\r\n\r\n // PopUps might be blocked by the user, fallback to redirect\r\n try {\r\n //console.log(\"@ Position2\")\r\n await this.userManager.signinRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectError) {\r\n //console.log('Redirect authentication error: ', redirectError);\r\n return this.error(redirectError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async completeSignIn(url: string): Promise {\r\n //console.log(\"in completeSignIn:\" + url);\r\n try {\r\n //console.log(\"@ Position3\")\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.signinCallback(url);\r\n //console.log(user);\r\n this.userSubject.next(user && user.profile);\r\n //console.log(\"The user is:\" + JSON.stringify(user));\r\n \r\n //this.globals.email = ...;\r\n //This was added to get the informaiton of the signed in user from the dataforensics system\r\n await this.globalContextService.GetUserInfo();\r\n \r\n return this.success(user && user.state);\r\n } catch (error) {\r\n //console.log('There was an error signing in: ', error);\r\n return this.error('There was an error signing in.');\r\n }\r\n }\r\n \r\n public async getAuthsSet() {\r\n await this.globalContextService.GetUserInfo();\r\n }\r\n \r\n\r\n public async signOut(state: any): Promise {\r\n try {\r\n if (this.popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'authorize.service.ts:AuthorizeService.popupDisabled\\' to false to enable it.');\r\n }\r\n\r\n await this.ensureUserManagerInitialized();\r\n await this.userManager.signoutPopup(this.createArguments());\r\n this.userSubject.next(null);\r\n return this.success(state);\r\n } catch (popupSignOutError) {\r\n //console.log('Popup signout error: ', popupSignOutError);\r\n try {\r\n await this.userManager.signoutRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectSignOutError) {\r\n //console.log('Redirect signout error: ', popupSignOutError);\r\n return this.error(redirectSignOutError);\r\n }\r\n }\r\n }\r\n\r\n public async completeSignOut(url: string): Promise {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const state = await this.userManager.signoutCallback(url);\r\n this.userSubject.next(null);\r\n return this.success(state && state.state);\r\n } catch (error) {\r\n //console.log(`There was an error trying to log out '${error}'.`);\r\n return this.error(error);\r\n }\r\n }\r\n \r\n private createArguments(state?: any): any {\r\n return { useReplaceToNavigate: true, data: state };\r\n }\r\n\r\n private error(message: string): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Fail, message };\r\n }\r\n\r\n private success(state: any): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Success, state };\r\n }\r\n\r\n private redirect(): IAuthenticationResult {\r\n return { status: AuthenticationResultStatus.Redirect };\r\n }\r\n\r\n private async ensureUserManagerInitialized(): Promise {\r\n if (this.userManager !== undefined) {\r\n return;\r\n }\r\n\r\n const response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);\r\n if (!response.ok) {\r\n throw new Error(`Could not load settings for '${ApplicationName}'`);\r\n }\r\n\r\n const settings: any = await response.json();\r\n\r\n settings.automaticSilentRenew = true;\r\n settings.includeIdTokenInSilentRenew = true;\r\n\r\n this.userManager = new UserManager(settings);\r\n /* let x = this.userManager.getUser();\r\n let aUser = await x;*/\r\n\r\n //console.log(\"in ensureUserManagerInitialized User is\" + JSON.stringify(aUser));\r\n \r\n //do not remove the following line. It is out of place but is needed to reinitialize the aurhorizations after a refresh\r\n await this.globalContextService.GetUserInfo(); \r\n\r\n this.userManager.events.addUserSignedOut(async () => {\r\n await this.userManager.removeUser();\r\n this.userSubject.next(null);\r\n });\r\n \r\n/* this.userManager.events.addAccessTokenExpiring( async() => {\r\n //I wonder why the silentRenew isn't working\r\n await this.userManager.startSilentRenew()\r\n })*/\r\n }\r\n\r\n private getUserFromStorage(): Observable {\r\n //console.log(\"@ Position4\")\r\n return from(this.ensureUserManagerInitialized())\r\n .pipe(\r\n mergeMap(() => this.userManager.getUser()),\r\n map(u => u && u.profile));\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBpLWF1dGhvcml6YXRpb24vbG9naW4tbWVudS9sb2dpbi1tZW51LmNvbXBvbmVudC5jc3MifQ== */\";","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {AuthorizeService, IUser} from '../authorize.service';\r\nimport {Observable, Subscription} from 'rxjs';\r\nimport {GlobalContextService} from \"../../app/globalcontext.service\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\n\r\n@Component({\r\n selector: 'app-login-menu',\r\n templateUrl: './login-menu.component.html',\r\n styleUrls: ['./login-menu.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoginMenuComponent implements OnInit, OnDestroy {\r\n public isAuthenticated: Observable;\r\n public userName: Observable;\r\n public user: Observable;\r\n public clientName: string;\r\n\r\n interval: any;\r\n\r\n _subscription: Subscription;\r\n \r\n constructor(private authorizeService: AuthorizeService,\r\n private globalContextService: GlobalContextService,\r\n private ref: ChangeDetectorRef) { }\r\n\r\n ngOnInit() {\r\n this.isAuthenticated = this.authorizeService.isAuthenticated();\r\n this.user = this.authorizeService.getUser();\r\n this.userName = this.authorizeService.getUser().pipe(map(u => u && u.name));\r\n this.clientName = this.globalContextService.GetClientName();\r\n\r\n //this.clientName = this.globalContextService.name;\r\n this._subscription = this.globalContextService.nameChange.subscribe((value) => {\r\n this.clientName = value;\r\n });\r\n this.interval = setInterval(() => {\r\n this.ref.detectChanges();\r\n }, 1000);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._subscription != undefined) this._subscription.unsubscribe();\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n this.ref.detach();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBpLWF1dGhvcml6YXRpb24vbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { AuthorizeService, AuthenticationResultStatus } from '../authorize.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { LoginActions, QueryParameterNames, ApplicationPaths, ReturnUrlType } from '../api-authorization.constants';\r\n\r\n// The main responsibility of this component is to handle the user's login process.\r\n// This is the starting point for the login process. Any component that needs to authenticate\r\n// a user can simply perform a redirect to this component with a returnUrl query parameter and\r\n// let the component perform the login and return back to the return url.\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n public message = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private authorizeService: AuthorizeService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n const action = this.activatedRoute.snapshot.url[1];\r\n switch (action.path) {\r\n case LoginActions.Login:\r\n await this.login(this.getReturnUrl());\r\n break;\r\n case LoginActions.LoginCallback:\r\n await this.processLoginCallback();\r\n break;\r\n case LoginActions.LoginFailed:\r\n const message = this.activatedRoute.snapshot.queryParamMap.get(QueryParameterNames.Message);\r\n this.message.next(message);\r\n break;\r\n case LoginActions.Profile:\r\n this.redirectToProfile();\r\n break;\r\n case LoginActions.Register:\r\n this.redirectToRegister();\r\n break;\r\n case \"test\":\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n\r\n private async login(returnUrl: string): Promise {\r\n const state: INavigationState = { returnUrl };\r\n //console.log(\"@ Position6\")\r\n const result = await this.authorizeService.signIn(state);\r\n this.message.next(undefined);\r\n //console.log(\"@ Position7\")\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n //alert(\"@AuthenticationResultStatus.Success\")\r\n await this.authorizeService.getAuthsSet(); \r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n await this.router.navigate(ApplicationPaths.LoginFailedPathComponents, {\r\n queryParams: { [QueryParameterNames.Message]: result.message }\r\n });\r\n break;\r\n default:\r\n throw new Error(`Invalid status result ${(result as any).status}.`);\r\n }\r\n }\r\n\r\n private async processLoginCallback(): Promise {\r\n //console.log(\"@ Position8\")\r\n const url = window.location.href;\r\n const result = await this.authorizeService.completeSignIn(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as completeSignIn never redirects.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n }\r\n }\r\n\r\n private redirectToRegister(): any {\r\n this.redirectToApiAuthorizationPath(\r\n `${ApplicationPaths.IdentityRegisterPath}?returnUrl=${encodeURI('/' + ApplicationPaths.Login)}`);\r\n }\r\n\r\n private redirectToProfile(): void {\r\n this.redirectToApiAuthorizationPath(ApplicationPaths.IdentityManagePath);\r\n }\r\n\r\n private async navigateToReturnUrl(returnUrl: string) {\r\n // It's important that we do a replace here so that we remove the callback uri with the\r\n // fragment containing the tokens from the browser history.\r\n await this.router.navigateByUrl(returnUrl, {\r\n replaceUrl: true\r\n });\r\n }\r\n\r\n private getReturnUrl(state?: INavigationState): string {\r\n const fromQuery = (this.activatedRoute.snapshot.queryParams as INavigationState).returnUrl;\r\n // If the url is comming from the query string, check that is either\r\n // a relative url or an absolute url\r\n if (fromQuery &&\r\n !(fromQuery.startsWith(`${window.location.origin}/`) ||\r\n /\\/[^\\/].*/.test(fromQuery))) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error('Invalid return url. The return url needs to have the same origin as the current page.');\r\n }\r\n return (state && state.returnUrl) ||\r\n fromQuery ||\r\n ApplicationPaths.DefaultLoginRedirectPath;\r\n }\r\n\r\n private redirectToApiAuthorizationPath(apiAuthorizationPath: string) {\r\n // It's important that we do a replace here so that when the user hits the back arrow on the\r\n // browser they get sent back to where it was on the app instead of to an endpoint on this\r\n // component.\r\n const redirectUrl = `${window.location.origin}${apiAuthorizationPath}`;\r\n window.location.replace(redirectUrl);\r\n }\r\n}\r\n\r\ninterface INavigationState {\r\n [ReturnUrlType]: string;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBpLWF1dGhvcml6YXRpb24vbG9nb3V0L2xvZ291dC5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticationResultStatus, AuthorizeService } from '../authorize.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\nimport { LogoutActions, ApplicationPaths, ReturnUrlType } from '../api-authorization.constants';\r\n\r\n// The main responsibility of this component is to handle the user's logout process.\r\n// This is the starting point for the logout process, which is usually initiated when a\r\n// user clicks on the logout button on the LoginMenu component.\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.css']\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n public message = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private authorizeService: AuthorizeService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n const action = this.activatedRoute.snapshot.url[1];\r\n switch (action.path) {\r\n case LogoutActions.Logout:\r\n if (!!window.history.state.local) {\r\n await this.logout(this.getReturnUrl());\r\n } else {\r\n // This prevents regular links to /authentication/logout from triggering a logout\r\n this.message.next('The logout was not initiated from within the page.');\r\n }\r\n\r\n break;\r\n case LogoutActions.LogoutCallback:\r\n await this.processLogoutCallback();\r\n break;\r\n case LogoutActions.LoggedOut:\r\n this.message.next('You successfully logged out!');\r\n this.router.navigateByUrl(\"authentication/login\");\r\n break;\r\n case \"test\":\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n private async logout(returnUrl: string): Promise {\r\n const state: INavigationState = { returnUrl };\r\n const isauthenticated = await this.authorizeService.isAuthenticated().pipe(\r\n take(1)\r\n ).toPromise();\r\n if (isauthenticated) {\r\n const result = await this.authorizeService.signOut(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n default:\r\n throw new Error('Invalid authentication result status.');\r\n }\r\n } else {\r\n this.message.next('You successfully logged out!');\r\n }\r\n }\r\n\r\n private async processLogoutCallback(): Promise {\r\n const url = window.location.href;\r\n const result = await this.authorizeService.completeSignOut(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeAuthentication finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.message.next(result.message);\r\n break;\r\n default:\r\n throw new Error('Invalid authentication result status.');\r\n }\r\n }\r\n\r\n private async navigateToReturnUrl(returnUrl: string) {\r\n await this.router.navigateByUrl(returnUrl, {\r\n replaceUrl: true\r\n });\r\n }\r\n\r\n private getReturnUrl(state?: INavigationState): string {\r\n const fromQuery = (this.activatedRoute.snapshot.queryParams as INavigationState).returnUrl;\r\n // If the url is comming from the query string, check that is either\r\n // a relative url or an absolute url\r\n if (fromQuery &&\r\n !(fromQuery.startsWith(`${window.location.origin}/`) ||\r\n /\\/[^\\/].*/.test(fromQuery))) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error('Invalid return url. The return url needs to have the same origin as the current page.');\r\n }\r\n return (state && state.returnUrl) ||\r\n fromQuery ||\r\n ApplicationPaths.LoggedOut;\r\n }\r\n}\r\n\r\ninterface INavigationState {\r\n [ReturnUrlType]: string;\r\n}\r\n","export interface Globals {\r\n email: string;\r\n userType: number;\r\n clientID: number;\r\n clientName: string;\r\n userID: string;\r\n userName: string;\r\n Auths: number[];\r\n}\r\n\r\nexport interface Auth {\r\n Authorization: number;\r\n}\r\n\r\nexport interface Authorization {\r\n id: number;\r\n group: string;\r\n Title: string;\r\n Description: string;\r\n}\r\n///If the below is updated, pLogAuthorization.vb for RapidCPT must also be updated to match.\r\n/// add three zeros for the base error number\r\nexport var Authorizations: Authorization[] = [\r\n { id: 10, group: \"Project\", Title: \"View Projects\", Description: \"The user can see the list of projects and any authorized use cases on them.\" },\r\n { id: 11, group: \"Project\", Title: \"Activate Project\", Description: \"The user can activate a deactivated project.\" },\r\n { id: 12, group: \"Project\", Title: \"Deactivate Project\", Description: \"The user can deactivate an active project.\" },\r\n { id: 13, group: \"Project\", Title: \"Delete Project\", Description: \"The user can delete a project.\" },\r\n { id: 14, group: \"Project\", Title: \"Merge Project\", Description: \"The user can merge one project with another.\" },\r\n { id: 15, group: \"Project\", Title: \"Unmerge Project\", Description: \"The user can seperate a child project from its parent.\" },\r\n { id: 16, group: \"Project\", Title: \"Extract to gInt\", Description: \"The user can extract the data in a project into a gInt formated file.\" },\r\n { id: 17, group: \"Project\", Title: \"Extract to CSV\", Description: \"The user can extract the data in a project into a comma seperated values formated file.\" },\r\n { id: 18, group: \"Project\", Title: \"Extract to Logplot\", Description: \"The user can extract the data in a project into a Logplot formated file.\" },\r\n { id: 19, group: \"Project\", Title: \"Undelete Data\", Description: \"The user can start the process of recovering deleted data in a project.\" },\r\n { id: 30, group: \"Sampling Plans\", Title: \"View Sampling Plans\", Description: \"The user can see the list of sampling plans and any authorized use cases on them.\" },\r\n { id: 31, group: \"Sampling Plans\", Title: \"Activate Sampling Plan\", Description: \"The user can activate an inactive sampling plan.\" },\r\n { id: 32, group: \"Sampling Plans\", Title: \"Deactivate Sampling Plan\", Description: \"The user can deactivate an active sampling plan.\" },\r\n { id: 33, group: \"Sampling Plans\", Title: \"Delete Sampling Plan\", Description: \"The user can delete a sampling plan.\" },\r\n { id: 50, group: \"Sampling Plans: New\", Title: \"Create Sampling Plan\", Description: \"The user can create a new sampling plan.\" },\r\n { id: 51, group: \"Sampling Plans: New\", Title: \"Create SP Office\", Description: \"The user can select the office associated with the sampling plan.\" },\r\n { id: 52, group: \"Sampling Plans: New\", Title: \"Create SP Name & ID\", Description: \"The user can enter the name and ID to identify the sampling plan.\" },\r\n { id: 53, group: \"Sampling Plans: New\", Title: \"Create SP Start and End Date\", Description: \"The user can set the sampling plans start and end dates\" },\r\n { id: 54, group: \"Sampling Plans: New\", Title: \"Create SP Instructions\", Description: \"The user can add instructions to the new sampling plan.\" },\r\n { id: 55, group: \"Sampling Plans: New\", Title: \"Select SP Project\", Description: \"The user can select a project from which to copy information.\" },\r\n { id: 56, group: \"Sampling Plans: New\", Title: \"Select SP Interface\", Description: \"The user can select an interface from which to copy information.\" },\r\n { id: 57, group: \"Sampling Plans: New\", Title: \"Create SP Project Number, Name\", Description: \"The user can add a project number and name to the sampling plan.\" },\r\n { id: 58, group: \"Sampling Plans: New\", Title: \"Create SP Project Location\", Description: \"The user can add a location to the project of the sampling plan.\" },\r\n { id: 59, group: \"Sampling Plans: New\", Title: \"Create SP Project Engineer\", Description: \"The user can add an engineer to the sampling plan.\" },\r\n { id: 60, group: \"Sampling Plans: New\", Title: \"Create SP Project Manager\", Description: \"The user can add an manager to the sampling plan.\" },\r\n { id: 61, group: \"Sampling Plans: New\", Title: \"Create SP Datum\", Description: \"The user can add a datum to the sampling plan.\" },\r\n { id: 62, group: \"Sampling Plans: New\", Title: \"Create SP Coordinate System\", Description: \"The user can add a Coordinate System to the sampling plan.\" },\r\n { id: 63, group: \"Sampling Plans: New\", Title: \"Create SP Units\", Description: \"The user can add a datum to the sampling plan.\" },\r\n { id: 64, group: \"Sampling Plans: New\", Title: \"Create SP Client\", Description: \"The user can add a Client to the sampling plan.\" },\r\n { id: 65, group: \"Sampling Plans: New\", Title: \"Create SP City\", Description: \"The user can add a City to the sampling plan.\" },\r\n { id: 66, group: \"Sampling Plans: New\", Title: \"Create SP State\", Description: \"The user can add a State to the sampling plan.\" },\r\n { id: 67, group: \"Sampling Plans: New\", Title: \"Create SP Route\", Description: \"The user can add a Route to the sampling plan.\" },\r\n { id: 68, group: \"Sampling Plans: New\", Title: \"Assign First SP Loggers\", Description: \"The user can assign loggers to the new sampling plan.\" },\r\n { id: 70, group: \"Sampling Plans: Edit\", Title: \"Edit Sampling Plan\", Description: \"The user can edit a sampling plan.\" },\r\n { id: 71, group: \"Sampling Plans: Edit\", Title: \"Edit SP Office\", Description: \"The user can edit the office associated with the sampling plan.\" },\r\n { id: 72, group: \"Sampling Plans: Edit\", Title: \"Edit SP Name & ID\", Description: \"The user can change the name and ID to identify the sampling plan.\" },\r\n { id: 73, group: \"Sampling Plans: Edit\", Title: \"Edit SP Start and End Date\", Description: \"The user can change the sampling plans start and end dates\" },\r\n { id: 74, group: \"Sampling Plans: Edit\", Title: \"Edit SP Instructions\", Description: \"The user can edit instructions to the new sampling plan.\" },\r\n { id: 75, group: \"Sampling Plans: Edit\", Title: \"Edit SP Project Number, Name\", Description: \"The user can add a project number and name to the sampling plan.\" },\r\n { id: 76, group: \"Sampling Plans: Edit\", Title: \"Edit SP Project Location\", Description: \"The user can add a location to the project of the sampling plan.\" },\r\n { id: 77, group: \"Sampling Plans: Edit\", Title: \"Edit SP Project Engineer\", Description: \"The user can add an engineer to the sampling plan.\" },\r\n { id: 78, group: \"Sampling Plans: Edit\", Title: \"Edit SP Project Manager\", Description: \"The user can add an manager to the sampling plan.\" },\r\n { id: 79, group: \"Sampling Plans: Edit\", Title: \"Edit SP Datum\", Description: \"The user can add a datum to the sampling plan.\" },\r\n { id: 80, group: \"Sampling Plans: Edit\", Title: \"Edit SP Coordinate System\", Description: \"The user can add a Coordinate System to the sampling plan.\" },\r\n { id: 81, group: \"Sampling Plans: Edit\", Title: \"Edit SP Units\", Description: \"The user can add a datum to the sampling plan.\" },\r\n { id: 82, group: \"Sampling Plans: Edit\", Title: \"Edit SP Client\", Description: \"The user can add a Client to the sampling plan.\" },\r\n { id: 83, group: \"Sampling Plans: Edit\", Title: \"Edit SP City\", Description: \"The user can add a City to the sampling plan.\" },\r\n { id: 84, group: \"Sampling Plans: Edit\", Title: \"Edit SP State\", Description: \"The user can add a State to the sampling plan.\" },\r\n { id: 85, group: \"Sampling Plans: Edit\", Title: \"Edit SP Route\", Description: \"The user can add a Route to the sampling plan.\" },\r\n { id: 86, group: \"Sampling Plans: Edit\", Title: \"Edit SP Loggers\", Description: \"The user can assign loggers to the new sampling plan.\" },\r\n { id: 90, group: \"Logos\", Title: \"View Logos\", Description: \"The user can view the logos and execute authorized use cases.\" },\r\n { id: 91, group: \"Logos\", Title: \"Activate Logo\", Description: \"The user can activate an inactive logo.\" },\r\n { id: 92, group: \"Logos\", Title: \"Deactivate Logo\", Description: \"The user can deactivate an active logo.\" },\r\n { id: 110, group: \"Logos: New\", Title: \"Create Logo\", Description: \"The user can create a new logo.\" },\r\n { id: 111, group: \"Logos: New\", Title: \"Create Logo Name\", Description: \"The user can create a logo name.\" },\r\n { id: 112, group: \"Logos: New\", Title: \"Create Logo Notes\", Description: \"The user can create Notes for the logo.\" },\r\n { id: 113, group: \"Logos: New\", Title: \"Create Logo width, height\", Description: \"The user can create a logo width, height.\" },\r\n { id: 114, group: \"Logos: New\", Title: \"Create Logo Organizational\", Description: \"The user can mark the logo as organizational.\" },\r\n { id: 115, group: \"Logos: New\", Title: \"Create Logo File Text\", Description: \"The user can read the logo text from a file.\" },\r\n { id: 130, group: \"Logos: Edit\", Title: \"Edit Logo\", Description: \"The user can create a new logo.\" },\r\n { id: 131, group: \"Logos: Edit\", Title: \"Edit Logo Name\", Description: \"The user can edit the logo name.\" },\r\n { id: 132, group: \"Logos: Edit\", Title: \"Edit Logo Notes\", Description: \"The user can edit Notes for the logo.\" },\r\n { id: 133, group: \"Logos: Edit\", Title: \"Edit Logo width, height\", Description: \"The user can edit the logo width, height.\" },\r\n { id: 134, group: \"Logos: Edit\", Title: \"Edit Logo Organizational\", Description: \"The user can mark the logo as organizational.\" },\r\n { id: 135, group: \"Logos: Edit\", Title: \"Edit Logo File Text\", Description: \"The user can read new logo text from a file.\" },\r\n { id: 136, group: \"Logos: Edit\", Title: \"Edit Logo active/inactive\", Description: \"The user can mark the logo active/inactive.\" },\r\n { id: 150, group: \"Office\", Title: \"View Offices\", Description: \"The user can view a list of offices and execute the authorized use cases.\" },\r\n { id: 151, group: \"Office\", Title: \"Activate Office\", Description: \"The user can activate an inactive office.\" },\r\n { id: 152, group: \"Office\", Title: \"Deactivate Office\", Description: \"The user can deactivate an active office.\" },\r\n { id: 170, group: \"Office: New\", Title: \"Create an Office\", Description: \"The user can create an office.\" },\r\n { id: 171, group: \"Office: New\", Title: \"Create Office Name\", Description: \"The user can create an office name.\" },\r\n { id: 172, group: \"Office: New\", Title: \"Create Office Address\", Description: \"The user can create address for the office.\" },\r\n { id: 173, group: \"Office: New\", Title: \"Create Office Logo\", Description: \"The user can create an office logo.\" },\r\n { id: 190, group: \"Office: Edit\", Title: \"Edit an Office\", Description: \"The user can edit an office.\" },\r\n { id: 191, group: \"Office: Edit\", Title: \"Edit Office Name\", Description: \"The user can edit an office name.\" },\r\n { id: 192, group: \"Office: Edit\", Title: \"Edit Office Address\", Description: \"The user can edit address for the office.\" },\r\n { id: 193, group: \"Office: Edit\", Title: \"Edit Office Logo\", Description: \"The user can edit an office logo.\" },\r\n { id: 194, group: \"Office: Edit\", Title: \"Edit Office active/inactive\", Description: \"The user can mark an office active/inactive.\" },\r\n { id: 210, group: \"Support Notification\", Title: \"View Support Notification\", Description: \"The user can view a list of support notifications.\" },\r\n { id: 211, group: \"Support Notification\", Title: \"Create Support Notification\", Description: \"The user can create a new support notification.\" },\r\n { id: 212, group: \"Support Notification\", Title: \"Edit Support Notification\", Description: \"The user can edit a support notification.\" },\r\n { id: 230, group: \"Users\", Title: \"View Users\", Description: \"The user can view a list of users and execute the authorized use cases.\" },\r\n { id: 231, group: \"Users\", Title: \"Activate User\", Description: \"The user can activate an inactive user.\" },\r\n { id: 232, group: \"Users\", Title: \"Deactivate User\", Description: \"The user can deactivate an active user.\" },\r\n { id: 233, group: \"Users\", Title: \"Delete User\", Description: \"The user can delete a user.\" },\r\n { id: 234, group: \"Users\", Title: \"Reset Password\", Description: \"The user can reset the user's password.\" },\r\n { id: 250, group: \"Users: New\", Title: \"Create User\", Description: \"The user can create new client users\" },\r\n { id: 251, group: \"Users: New\", Title: \"Create User name\", Description: \"The user can create a user name other than the e-mail.\" },\r\n { id: 252, group: \"Users: New\", Title: \"Create e-Mail\", Description: \"The user can create the user's e-mail.\" },\r\n { id: 253, group: \"Users: New\", Title: \"Create Name\", Description: \"The user can create the user's name.\" },\r\n { id: 254, group: \"Users: New\", Title: \"Create Roles\", Description: \"The user can create the user's roles.\" },\r\n { id: 255, group: \"Users: New\", Title: \"Create Administrator Role\", Description: \"The user can set the user as an Administrator.\" },\r\n { id: 256, group: \"Users: New\", Title: \"Create Security Admin Role\", Description: \"The user can set the user as a Security Admin .\" },\r\n { id: 257, group: \"Users: New\", Title: \"Create Office Admin Role\", Description: \"The user can set the user as an Office Admin .\" },\r\n { id: 258, group: \"Users: New\", Title: \"Create Power User Role\", Description: \"The user can set the user as a Power User .\" },\r\n { id: 259, group: \"Users: New\", Title: \"Create Project Manager Role\", Description: \"The user can set the user as a Project Manager .\" },\r\n { id: 260, group: \"Users: New\", Title: \"Create: Select Offices\", Description: \"The user can select the offices for the new user.\" },\r\n { id: 261, group: \"Users: New\", Title: \"Create: Select Home Office\", Description: \"The user can select the home office for the new user.\" },\r\n { id: 262, group: \"Users: New\", Title: \"Create: Select Activities\", Description: \"The user can select activities for the new user.\" },\r\n { id: 263, group: \"Users: New\", Title: \"Create: Select Interface\", Description: \"The user can select an interface for the new user.\" },\r\n { id: 264, group: \"Users: New\", Title: \"Create User Notes\", Description: \"The user can enter notes about the new user.\" },\r\n { id: 270, group: \"Users: Edit\", Title: \"Edit Users\", Description: \"The user can edit existing users.\" },\r\n { id: 271, group: \"Users: Edit\", Title: \"Edit User name\", Description: \"The user can edit a user name other than the e-mail.\" },\r\n { id: 272, group: \"Users: Edit\", Title: \"Edit e-Mail\", Description: \"The user can edit a user's e-mail.\" },\r\n { id: 273, group: \"Users: Edit\", Title: \"Edit Name\", Description: \"The user can edit a user's name.\" },\r\n { id: 274, group: \"Users: Edit\", Title: \"Edit Roles\", Description: \"The user can edit a user's roles.\" },\r\n { id: 275, group: \"Users: Edit\", Title: \"Edit Administrator Role\", Description: \"The user can set a user as an Administrator.\" },\r\n { id: 276, group: \"Users: Edit\", Title: \"Edit Security Admin Role\", Description: \"The user can set the a as a Security Admin .\" },\r\n { id: 277, group: \"Users: Edit\", Title: \"Edit Office Admin Role\", Description: \"The user can set the a as an Office Admin .\" },\r\n { id: 278, group: \"Users: Edit\", Title: \"Edit Power User Role\", Description: \"The user can set a user as a Power User .\" },\r\n { id: 279, group: \"Users: Edit\", Title: \"Edit Project Manager Role\", Description: \"The user can set a user as a Project Manager .\" },\r\n { id: 280, group: \"Users: Edit\", Title: \"Edit: Select Offices\", Description: \"The user can select the offices for a user.\" },\r\n { id: 281, group: \"Users: Edit\", Title: \"Edit: Select Home Office\", Description: \"The user can select the home office for a user.\" },\r\n { id: 282, group: \"Users: Edit\", Title: \"Edit: Select Activities\", Description: \"The user can select activities for a user.\" },\r\n { id: 283, group: \"Users: Edit\", Title: \"Edit: Select Interface\", Description: \"The user can select an interface for a user.\" },\r\n { id: 284, group: \"Users: Edit\", Title: \"Edit User Notes\", Description: \"The user can edit notes about a user.\" },\r\n { id: 285, group: \"Users: Edit\", Title: \"Set Password\", Description: \"The user can set the password for a user\" },\r\n { id: 286, group: \"Users: Edit\", Title: \"Activate/inactivate User\", Description: \"The user can mark users active/inactive.\" },\r\n { id: 290, group: \"Configuration\", Title: \"View configurations\", Description: \"the user can view list of configurations and execute authorized use cases.\" },\r\n { id: 291, group: \"Configuration\", Title: \"Activate Configuration\", Description: \"the user can activate an inactive configuration.\" },\r\n { id: 292, group: \"Configuration\", Title: \"Deactivate Configuration\", Description: \"the user can deactivate an active configuration.\" },\r\n { id: 293, group: \"Configuration\", Title: \"Delete Configuration\", Description: \"the user can delete a configuration.\" },\r\n { id: 294, group: \"Configuration\", Title: \"Download Configuration\", Description: \"the user can download a configuration.\" },\r\n //{id:295, group:\"Configuration\", Title:\"Move/copy Configuration\", Description:\"the user can move or copy a configuration.\"},\r\n { id: 310, group: \"Configuration: New\", Title: \"Create configurations\", Description: \"the user can create a new configuration.\" },\r\n { id: 311, group: \"Configuration: New\", Title: \"Create Configuration Name\", Description: \"the user can create the configuration name.\" },\r\n { id: 312, group: \"Configuration: New\", Title: \"Create Configuration Notes\", Description: \"the user can create the configuration notes.\" },\r\n { id: 313, group: \"Configuration: New\", Title: \"Create Configuration File\", Description: \"the user can chose a file to read into the configuration.\" },\r\n { id: 330, group: \"Configuration: Edit\", Title: \"Edit configurations\", Description: \"the user can edit a configuration.\" },\r\n { id: 331, group: \"Configuration: Edit\", Title: \"Edit Configuration Name\", Description: \"the user can edit the configuration name.\" },\r\n { id: 332, group: \"Configuration: Edit\", Title: \"Edit Configuration Notes\", Description: \"the user can edit the configuration notes.\" },\r\n { id: 333, group: \"Configuration: Edit\", Title: \"Edit Configuration File\", Description: \"the user can chose a file to read into the configuration.\" },\r\n { id: 334, group: \"Configuration: Edit\", Title: \"Edit Configuration Users\", Description: \"the user can chose the users of the configuration.\" },\r\n { id: 335, group: \"Configuration: Edit\", Title: \"Edit Configuration Active/Inactive\", Description: \"the user can mark the configuration active/inactive.\" },\r\n { id: 350, group: \"PlogIC\", Title: \"View PlogIC\", Description: \"The user can view a list of PLogIC and execute the authorized use cases.\" },\r\n { id: 351, group: \"PlogIC\", Title: \"Activate PlogIC\", Description: \"The user can activate an inactive PlogIC.\" },\r\n { id: 352, group: \"PlogIC\", Title: \"Deactivate PlogIC\", Description: \"The user can deactivate an active PlogIC.\" },\r\n { id: 353, group: \"PlogIC\", Title: \"Delete PlogIC\", Description: \"The user can delete a PlogIC.\" },\r\n { id: 354, group: \"PlogIC\", Title: \"Download PlogIC\", Description: \"The user can download a PlogIC.\" },\r\n { id: 370, group: \"PlogIC: New\", Title: \"Create PlogIC\", Description: \"the user can create a new PlogIC.\" },\r\n { id: 371, group: \"PlogIC: New\", Title: \"Create PlogIC Name\", Description: \"the user can create the PlogIC name.\" },\r\n { id: 372, group: \"PlogIC: New\", Title: \"Create PlogIC Notes\", Description: \"the user can create the PlogIC notes.\" },\r\n { id: 373, group: \"PlogIC: New\", Title: \"Create PlogIC File\", Description: \"the user can chose a file to read into the PlogIC.\" },\r\n { id: 390, group: \"PlogIC: Edit\", Title: \"Edit PlogIC\", Description: \"the user can edit a PlogIC.\" },\r\n { id: 391, group: \"PlogIC: Edit\", Title: \"Edit PlogIC Name\", Description: \"the user can edit a PlogIC name.\" },\r\n { id: 392, group: \"PlogIC: Edit\", Title: \"Edit PlogIC Notes\", Description: \"the user can edit the PlogIC notes.\" },\r\n { id: 393, group: \"PlogIC: Edit\", Title: \"Edit PlogIC File\", Description: \"the user can chose a file to read into the PlogIC.\" },\r\n { id: 394, group: \"PlogIC: Edit\", Title: \"Edit PlogIC Active/Inactive\", Description: \"the user can mark the PlogIC active/inactive.\" },\r\n { id: 410, group: \"Licenses\", Title: \"View Active Licenses\", Description: \"The user can view a list of active licenses and execute the authorized use cases.\" },\r\n { id: 411, group: \"Licenses\", Title: \"Enter Tablet ID\", Description: \"The user can enter a tablet id.\" },\r\n { id: 430, group: \"Coordinate Systems\", Title: \"View Coordinate Systems\", Description: \"The user can view a list of coordinate systems and execute the authorized use cases.\" },\r\n { id: 431, group: \"Coordinate Systems\", Title: \"Set Organization Coordinate System\", Description: \"The user can set the coordinate for the organization.\" },\r\n { id: 432, group: \"Coordinate Systems\", Title: \"Set Office Coordinate Systems\", Description: \"The user can set the coordinate for the offices.\" },\r\n { id: 450, group: \"Security Groups\", Title: \"View Security Groups\", Description: \"The user can view a list of Security Groups and execute the authorized use cases.\" },\r\n { id: 470, group: \"Security Groups: New\", Title: \"Create Security Groups\", Description: \"the user can create a new Security Groups.\" },\r\n { id: 471, group: \"Security Groups: New\", Title: \"Create Security Groups Name\", Description: \"the user can create the Security Groups name.\" },\r\n { id: 472, group: \"Security Groups: New\", Title: \"Create Security Groups Description\", Description: \"the user can create the Security Groups description.\" },\r\n { id: 490, group: \"Security Groups: Edit\", Title: \"Edit Security Groups\", Description: \"the user can edit a Security Group.\" },\r\n { id: 491, group: \"Security Groups: Edit\", Title: \"Edit Security Groups Name\", Description: \"the user can edit a Security Group name.\" },\r\n { id: 492, group: \"Security Groups: Edit\", Title: \"Edit Security Groups Notes\", Description: \"the user can edit the Security Group notes.\" },\r\n { id: 510, group: \"Security Group Authorization\", Title: \"Set Security Group Authorizations\", Description: \"The user can set the authorizations for a Security Group.\" },\r\n { id: 550, group: \"Lab Conversion\", Title: \"Manage Lab Conversion Templates\", Description: \"The user can view and edit the list of lab conversion templates.\" },\r\n { id: 551, group: \"Lab Conversion\", Title: \"Convert Lab Data\", Description: \"The user can use the lab converter to process files and upload them to a target cloud.\" },\r\n { id: 556, group: \"DIGGS\", Title: \"Upload and Convert DIGGS Files\", Description: \"The user can upload DIGGS formatted XML files and import them to connected systems.\" },\r\n { id: 560, group: \"CPT\", Title: \"View CPT Projects\", Description: \"The user can view a list of CPT Projects and execute the authorized use cases.\" },\r\n { id: 570, group: \"Map Servers\", Title: \"View MapServers\", Description: \"the user can view list of mapservers and execute authorized use cases.\" },\r\n { id: 571, group: \"Map Servers\", Title: \"Activate Mapservers\", Description: \"the user can activate an inactive mapservers.\" },\r\n { id: 572, group: \"Map Servers\", Title: \"Deactivate Mapservers\", Description: \"the user can deactivate an active mapservers.\" },\r\n { id: 573, group: \"Map Servers\", Title: \"Create Mapservers\", Description: \"the user can create an active mapservers.\" },\r\n { id: 574, group: \"Map Servers\", Title: \"Update Mapservers\", Description: \"the user can Update active mapservers.\" },\r\n]","export enum NavSections {\r\n public = 1,\r\n Member = 2, // standard user or any user\r\n ProjectManager = 4,\r\n PowerUser = 8,\r\n OfficeAdmin = 16,\r\n SecurityAdmin = 32,\r\n Administrator = 64,\r\n dataforensics = 128,\r\n developer = 256\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { MainComponent } from './shared/layout/main/main.component';\r\nimport { LayoutModule } from './shared/layout/layout.module';\r\n\r\nconst routes: Routes = [\r\n\r\n {\r\n path: '',\r\n component: MainComponent,\r\n children: [\r\n { path: '', redirectTo: '/about/Help', pathMatch: 'full' },\r\n { path: 'about', loadChildren: () => import('./features/about/about.module').then(m => m.AboutModule) },\r\n { path: 'dataforensics', loadChildren: () => import('./features/Dataforensics/dataforensics.module').then(m => m.DataforensicsModule) },\r\n { path: 'clients', loadChildren: () => import('./features/Clients/clients.module').then(m => m.ClientsModule) },\r\n { path: 'charts', loadChildren: () => import('./features/Charts/charts.module').then(m => m.ChartsModule) },\r\n { path: 'settings', loadChildren: () => import('./features/settings/settings.module').then(m => m.SettingsModule) },\r\n { path: 'ui', loadChildren: () => import('./features/ui-pages/ui-pages.module').then(m => m.UiPagesModule) },\r\n { path: 'icons', loadChildren: () => import('./features/icons/icons.module').then(m => m.IconsModule) }\r\n ]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [LayoutModule, RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import {ChangeDetectorRef, Component} from '@angular/core';\r\n\r\n//import * as LogRocket from 'logrocket'\r\n\r\n@Component({\r\n selector: 'smart-root',\r\n template: ''\r\n})\r\nexport class AppComponent {\r\n title = 'smartadmin-angular-seed';\r\n\r\n constructor() {\r\n //LogRocket.init('sgkud8/testlogrocket');\r\n }\r\n}\r\n","export const APP_CONFIG = {\r\n\r\n app: 'pLog',\r\n appName: 'Dataforensics Cloud',\r\n user: '',\r\n email: '',\r\n twitter: '',\r\n avatar: 'avatar-admin.png',\r\n version: '4.0.0',\r\n bs4v: '4.3',\r\n logo: 'logo.png',\r\n logoM: 'logo.png',\r\n // tslint:disable-next-line:max-line-length\r\n copyright: '2022 © Dataforensics LLC by dataforensics.net',\r\n // tslint:disable-next-line:max-line-length\r\n // copyrightInverse: '2021 © Dataforensics LLC by dataforensics.ne'\r\n};\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { CoreModule } from './core/core.module';\r\nimport { ApiAuthorizationModule } from 'src/api-authorization/api-authorization.module';\r\nimport { AuthorizeInterceptor } from 'src/api-authorization/authorize.interceptor';\r\nimport {PanelsModule} from \"./shared/panels/panels.module\";\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { environment } from '../environments/environment';\r\nimport {GlobalContextService} from \"./globalcontext.service\";\r\n\r\n//import {CommonModule, JsonPipe} from \"@angular/common\";\r\n//import { CPTProjectComponent } from './features/CPT/cptproject/cptproject.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n\r\n //CPTProjectComponent,\r\n //FetchDataComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({appId: 'ng-cli-universal'}),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n ApiAuthorizationModule,\r\n CoreModule,\r\n PanelsModule,\r\n StoreDevtoolsModule.instrument({ maxAge: 25, logOnly: environment.production })\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthorizeInterceptor,\r\n multi: true\r\n },\r\n GlobalContextService],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import {NavSections} from \"./NavSections\";\r\n\r\nexport const NavigationItems = [\r\n {\r\n title: 'Dataforensics',\r\n tags: 'Dataforensics ',\r\n icon: 'fal fa-cogs',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Organizations',\r\n tags: 'Dataforensics Organizations',\r\n routerLink: '/dataforensics/organizations'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Sales Orgs',\r\n tags: 'Dataforensics Sales',\r\n routerLink: '/dataforensics/sales'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n title: 'Errors',\r\n tags: 'Errors',\r\n routerLink: '/about/errors'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'MapServers',\r\n tags: 'Dataforensics MapServers',\r\n routerLink: '/dataforensics/mapservers'\r\n },\r\n {\r\n title: 'Users',\r\n tags: 'Dataforensics Users\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Users',\r\n tags: 'Dataforensics Users',\r\n routerLink: '/dataforensics/users'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Microsoft Users',\r\n tags: 'Microsoft Users',\r\n routerLink: '/dataforensics/microsoftusers'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Find Users',\r\n tags: 'Dataforensics Users Find',\r\n routerLink: '/dataforensics/finduser'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Find Device',\r\n tags: 'Dataforensics Device Find',\r\n routerLink: '/dataforensics/finddevice'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'License',\r\n tags: 'Dataforensics License\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n title: 'Active Licenses',\r\n tags: 'NavSections.developer | NavSections.dataforensics,',\r\n auth: '',\r\n routerLink: '/dataforensics/activelicenses'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Deleted Licenses',\r\n tags: 'NavSections.developer | NavSections.dataforensics,',\r\n routerLink: '/dataforensics/deletedlicenses'\r\n }\r\n ]\r\n },\r\n \r\n {\r\n title: 'CPT',\r\n tags: 'Dataforensics CPT\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Projects',\r\n tags: 'Dataforensics CPTProject',\r\n routerLink: '/dataforensics/CPTProject'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'DataExplorers',\r\n tags: 'Dataforensics dataexplorers\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: '',\r\n title: 'Dataexplorers',\r\n tags: 'Dataforensics DataExplorers',\r\n routerLink: '/dataforensics/dataexplorers'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Client',\r\n tags: 'Client Functions',\r\n icon: 'fal fa-globe',\r\n navSection: NavSections.Member | NavSections.dataforensics,\r\n auth: 'true',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Projects',\r\n title: 'Projects',\r\n tags: 'application Client Projects',\r\n routerLink: '/clients/projects'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Sampling Plans',\r\n title: 'Sampling Plans',\r\n tags: 'application Client Sampling Plans',\r\n routerLink: '/clients/samplingplans'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View configurations',\r\n title: 'Configurations',\r\n tags: 'application Client configurations',\r\n routerLink: '/clients/configurations'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View PlogIC',\r\n title: 'pLogIC',\r\n tags: 'application Client pLogIC',\r\n routerLink: '/clients/plogics'\r\n },\r\n {\r\n navSection: NavSections.Member | NavSections.dataforensics,\r\n auth: 'Convert Lab Data',\r\n title: 'Lab Data Converter',\r\n tags: 'application Client lab',\r\n routerLink: '/clients/lab/hub'\r\n },\r\n {\r\n navSection: NavSections.Member | NavSections.dataforensics,\r\n auth: 'Upload and Convert DIGGS Files',\r\n title: 'DIGGS',\r\n tags: 'application Client lab',\r\n routerLink: '/clients/diggs/files'\r\n },\r\n {\r\n title: 'Enterprise',\r\n tags: 'Client Enterprise\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: 'View Logos|View Offices|View Support Notification|View Coordinate Systems',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Logos',\r\n title: 'Logos',\r\n tags: 'application Client Logos',\r\n routerLink: '/clients/logos'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Offices',\r\n title: 'Offices',\r\n tags: 'application Client Offices',\r\n routerLink: '/clients/offices'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Support Notification',\r\n title: 'Support Notifications',\r\n tags: 'application Client Support',\r\n routerLink: '/clients/notifications'\r\n } ,\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Coordinate Systems',\r\n title: 'Coordinates',\r\n tags: 'application Client Coordintes',\r\n routerLink: '/clients/coordtree'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Coordinate Systems',\r\n title: 'Map Servers',\r\n tags: 'application Client Map Servers',\r\n routerLink: '/clients/mapserver/mapservers'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Application',\r\n tags: 'Client Application\\'',\r\n icon: 'fal fa-id-card-o ',\r\n navSection: NavSections.developer | NavSections.dataforensics,\r\n auth: 'View Users|View Active Licenses|View Security Groups',\r\n items: [\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Users',\r\n title: 'Users',\r\n tags: 'application Client users',\r\n routerLink: '/clients/users'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Active Licenses',\r\n title: 'Licenses',\r\n tags: 'application Client Licenses',\r\n routerLink: '/clients/licenses'\r\n },\r\n {\r\n navSection: NavSections.developer | NavSections.dataforensics ,\r\n auth: 'View Security Groups',\r\n title: 'Security Groups',\r\n tags: 'application Client authorizations',\r\n routerLink: '/clients/securitygroups'\r\n }\r\n ]\r\n }\r\n\r\n ]\r\n },\r\n {\r\n title: 'Help',\r\n tags: 'Help',\r\n icon: 'fal fa-info-circle',\r\n navSection: NavSections.Member | NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n items: [\r\n {\r\n navSection: NavSections.public | NavSections.Member | NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n title: 'Help',\r\n tags: 'Help',\r\n routerLink: '/about/Help'\r\n },\r\n {\r\n navSection: NavSections.public | NavSections.Member | NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n title: 'Forums',\r\n tags: 'Forums',\r\n routerLink: '/about/forums'\r\n }\r\n ]\r\n },\r\n\r\n {\r\n navSection: NavSections.Member | NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n title: 'Settings',\r\n tags: 'settings',\r\n icon: 'fal fa-cog',\r\n items: [\r\n {\r\n title: 'Layout Options',\r\n tags: 'theme settings layout options',\r\n routerLink: '/settings/layout-options',\r\n navSection: NavSections.Member | NavSections.developer | NavSections.dataforensics,\r\n auth: 'true',\r\n },\r\n ]\r\n },\r\n \r\n];\r\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { StoreRouterConnectingModule, RouterStateSerializer } from '@ngrx/router-store';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { AlertModule } from 'ngx-bootstrap/alert';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { environment } from 'src/environments/environment';\r\nimport { reducers, metaReducers, effects } from '../store';\r\nimport { CustomSerializer } from '../store/router';\r\nimport { DialogsModule } from '../shared/dialogs/dialogs.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\n//import { PopoverModule } from 'ngx-bootstrap';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover'\r\n/**\r\n * Module for global imports\r\n */\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n\r\n // ngrx modules\r\n StoreModule.forRoot(reducers, {\r\n metaReducers,\r\n runtimeChecks: {\r\n strictStateImmutability: false,\r\n strictActionImmutability: false,\r\n strictStateSerializability: false,\r\n strictActionSerializability: false,\r\n },\r\n }),\r\n EffectsModule.forRoot([...effects]),\r\n StoreDevtoolsModule.instrument({\r\n maxAge: 25, logOnly: environment.production,\r\n actionsBlocklist: ['@ngrx/router*']\r\n }),\r\n\r\n StoreRouterConnectingModule.forRoot(),\r\n\r\n\r\n // import ngx-bootstrap services here\r\n AccordionModule.forRoot(),\r\n AlertModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n ButtonsModule.forRoot(),\r\n CollapseModule.forRoot(),\r\n ModalModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n TabsModule.forRoot(),\r\n PopoverModule.forRoot(),\r\n\r\n DialogsModule\r\n ],\r\n providers: [\r\n // use custom serializer to strip redundant router data\r\n { provide: RouterStateSerializer, useClass: CustomSerializer },\r\n ]\r\n})\r\nexport class CoreModule {\r\n // thi module can be load only once\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n}\r\n\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`);\r\n }\r\n}\r\n\r\n","import {ApplicationRef, Inject, Injectable} from '@angular/core';\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport {Store} from \"@ngrx/store\";\r\n\r\nimport * as appContext from 'src/app/store/appcontext';\r\nimport {NavSections} from \"./NavSections\";\r\nimport {Auth, Authorizations, Globals} from \"./Globals\";\r\nimport {Observable, Subject, BehaviorSubject} from \"rxjs\";\r\nimport {AuthorizeService} from \"../api-authorization/authorize.service\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GlobalContextService {\r\n\r\n private readonly url: string;\r\n private validValues = false;\r\n private callGetUser = true;\r\n\r\n private userInfoInitializedSubject = new BehaviorSubject(false);\r\n public userInfoInitialized$ = this.userInfoInitializedSubject.asObservable();\r\n \r\n globals: Globals= { email:\"\", userType: 0, clientID:0, clientName: \"\", userID:\"\",userName: \"\", Auths: []};\r\n Auths: number[] = [];\r\n\r\n constructor( private http:HttpClient, \r\n @Inject('BASE_URL') baseUrl: string,\r\n private store: Store,\r\n private appRef: ApplicationRef\r\n //,private Auth:AuthorizeService\r\n ) {\r\n //console.log(\"in GlobalContextService constructor\");\r\n this.url = baseUrl;\r\n\r\n for (let i in Authorizations) {\r\n let ss = Authorizations[i].Title;\r\n //alert(ss);\r\n let fnd = Authorizations.find(x => x.Title == ss);\r\n if (fnd != undefined) {\r\n if (fnd.id != Authorizations[i].id) {\r\n alert(\"Duplicate Title in Authorizations at \" + fnd.id + \" and \" + Authorizations[i].id);\r\n }\r\n }\r\n \r\n }\r\n for (let i in Authorizations) {\r\n let ss = Authorizations[i].id;\r\n //alert(ss);\r\n let fnd = Authorizations.find(x => x.id == ss);\r\n if (fnd != undefined) {\r\n if (fnd.Title != Authorizations[i].Title) {\r\n alert(\"Duplicate id in Authorizations at \" + fnd.id);\r\n }\r\n }\r\n\r\n }\r\n //alert(\"finished checking for duplicates\")\r\n }\r\n\r\n public async GetUserInfo() {\r\n \r\n console.log(\"in GetUserInfo about to get the user info\");\r\n this.http.get(this.url + 'api/UserInfo').subscribe(resp => {\r\n //console.log(\"got user info:\" + resp);\r\n this.globals = resp;\r\n //console.log(this.globals);\r\n //this.store.dispatch(appContext.loggedInUserInfo({ item: this.globals }));\r\n //this.validValues = true;\r\n \r\n \r\n this.http.get(this.url + 'api/Authorizations/User/' + this.globals.userID).subscribe(resp => {\r\n //console.log(\"got user authorizatons:\" + resp);\r\n this.Auths = resp.map(x => (x.Authorization));\r\n this.globals.Auths = this.Auths;\r\n //console.log(this.Auths);\r\n this.store.dispatch(appContext.loggedInUserInfo({item: this.globals}));\r\n this.validValues = true;\r\n this.userInfoInitializedSubject.next(true);\r\n });\r\n });\r\n \r\n }\r\n\r\n public async GetUserInfo2() {\r\n/* if (!this.Auth.isAuthenticated()) {\r\n //need to retrieve the user from the store\r\n let user = this.Auth.getUser();\r\n console.log(\"tried to get user:\" + user);\r\n }*/\r\n \r\n //console.log(\"in GetUserInfo2 about to get the user info\");\r\n let response = await fetch(this.url + 'api/UserInfo');\r\n if (response === undefined) {\r\n //console.log(\"responce from UserInfo is null\");\r\n }\r\n let resp = await response.json();\r\n //console.log(\"got user info:\" + resp);\r\n if (resp == null) return;\r\n this.globals = JSON.parse(resp);\r\n \r\n let response2 = await fetch(this.url + 'api/Authorizations/User/' + this.globals.userID);\r\n let resp2 = await response2.json();\r\n //console.log(\"got user authorizatons:\" + resp2);\r\n this.Auths = resp.map(x => (x.Authorization));\r\n this.globals.Auths = this.Auths;\r\n //console.log(this.Auths);\r\n this.store.dispatch(appContext.loggedInUserInfo({item: this.globals}));\r\n this.validValues = true;\r\n //this.appRef.tick();\r\n }\r\n \r\n/* CheckHasUserInfo() {\r\n if (this.Auths.length == 0 || (!this.callGetUser && !this.validValues)) {\r\n this.callGetUser = true;\r\n }\r\n }*/\r\n \r\n private async GetAuthsFromStore() {\r\n if (this.callGetUser ) {\r\n this.callGetUser = false;\r\n await this.GetUserInfo2().then(() => {});\r\n }\r\n\r\n/* let j = 0\r\n while (this.globals.Auths.length == 0 && j < 5) {\r\n let i = 0;\r\n while (this.globals.Auths.length == 0 && i < 5) {\r\n i = i + 1;\r\n setTimeout(() => {\r\n console.log(i);\r\n }, 1000)\r\n }\r\n \r\n this.GetUserInfo().then(() => {});\r\n j = j + 1;\r\n }*/\r\n this.Auths = this.globals.Auths;\r\n }\r\n \r\n public isRoleAuthorized(id: number) {\r\n if (this.Auths[0] == -1) return true;\r\n return this.Auths.find(x => x == id);\r\n }\r\n \r\n public isAuthorized(name: string) {\r\n if (name == 'true') return true;\r\n \r\n if (this.Auths != undefined && this.Auths.length == 0) {\r\n this.validValues = true;\r\n this.GetAuthsFromStore();\r\n }\r\n\r\n if (this.Auths[0] == -1) return true;\r\n if (name.length == 0) return false;\r\n \r\n let auths = name.split(\"|\");\r\n \r\n for (let authn of auths) {\r\n let auth = Authorizations.find(x => x.Title == authn);\r\n if (auth == undefined) alert(\"could not find authorization:\" + authn);\r\n let found = this.Auths.find(x => x == auth.id);\r\n if ( found != undefined) return true;\r\n }\r\n \r\n return false;\r\n \r\n }\r\n \r\n public GetAuthorizationLevels() {\r\n return [...new Set(Authorizations.map(item => item.group))];\r\n }\r\n \r\n public GetAuthorizations(level: string) {\r\n return Authorizations.filter(x => x.group == level)\r\n }\r\n \r\n/* public GetValidValues() {\r\n return this.validValues;\r\n }*/\r\n \r\n public IsDataforensicsUser() {\r\n return this.globals.userType && NavSections.dataforensics\r\n }\r\n \r\n public SetClientName(ClientName: string) {\r\n this.globals.clientName = ClientName;\r\n this.store.dispatch(appContext.loggedInUserInfo({ item: this.globals }));\r\n\r\n this.nameChange.next(this.globals.clientName);\r\n }\r\n \r\n public GetClientName() {\r\n //alert(\"userType =\" + this.globals.userType);\r\n if (this.globals.userType == 0) {\r\n this.store.select(appContext.selectAppContextState).subscribe(async x => {\r\n this.globals = x;\r\n // might have been lost in refresh so get again\r\n if (this.globals.userType == 0) {\r\n await this.GetUserInfo2();\r\n //console.log(this.globals);\r\n return this.globals.clientName;\r\n }\r\n return this.globals.clientName;\r\n });\r\n }\r\n //alert(\"userName:\" + this.globals.clientName);\r\n return this.globals.clientName;\r\n }\r\n\r\n public GetClientID() {\r\n //alert(\"userType =\" + this.globals.userType);\r\n if (this.globals.userType == 0) {\r\n this.store.select(appContext.selectAppContextState).subscribe(async x => {\r\n this.globals = x;\r\n // might have been lost in refresh so get again\r\n if (this.globals.userType == 0) {\r\n await this.GetUserInfo2();\r\n //console.log(this.globals);\r\n return this.globals.clientID;\r\n }\r\n return this.globals.clientID;\r\n });\r\n }\r\n //alert(\"userName:\" + this.globals.clientName);\r\n return this.globals.clientID;\r\n }\r\n \r\n public GetUserType() {\r\n if (this.globals.userType == 0) {\r\n this.store.select(appContext.selectAppContextState).subscribe(async x => { \r\n this.globals = x;\r\n // might have been lost in refresh so get again\r\n if (this.globals.userType == 3) {\r\n await this.GetUserInfo2();\r\n //console.log(this.globals);\r\n return this.globals.userType\r\n }\r\n return this.globals.userType\r\n });\r\n }\r\n return this.globals.userType;\r\n}\r\n\r\n nameChange: Subject = new Subject();\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { DialogButtons } from '../dialogs.service';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'smart-confirm-dialog',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n `,\r\n})\r\nexport class ConfirmDialogComponent {\r\n title: string;\r\n message: string;\r\n buttons: DialogButtons;\r\n onClose = new Subject();\r\n\r\n constructor(public bsModalRef: BsModalRef) { }\r\n\r\n confirm($event: MouseEvent) {\r\n this.onClose.next(true);\r\n this.onClose.complete();\r\n this.bsModalRef.hide();\r\n }\r\n cancel($event: MouseEvent) {\r\n this.onClose.next(false);\r\n this.onClose.complete();\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { DialogsService } from './dialogs.service';\r\n\r\n@NgModule({\r\n declarations: [ConfirmDialogComponent],\r\n entryComponents: [ConfirmDialogComponent],\r\n imports: [\r\n CommonModule,\r\n ModalModule\r\n ],\r\n providers: [DialogsService]\r\n})\r\nexport class DialogsModule { }\r\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DialogsService {\r\n bsModalRef: BsModalRef;\r\n renderer: Renderer2;\r\n\r\n constructor(\r\n rendererFactory: RendererFactory2,\r\n private modalService: BsModalService) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n public confirm(initialState: DialogOptions) {\r\n this.playSound('messagebox');\r\n this.bsModalRef = this.modalService.show(ConfirmDialogComponent,\r\n {\r\n initialState,\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'modal-dialog-centered'\r\n });\r\n this.renderer.addClass(document.querySelector('.modal'), 'modal-alert');\r\n return this.bsModalRef.content.onClose as Observable;\r\n }\r\n\r\n public playSound(sound: string, path = 'assets/media/sound') {\r\n const audioElement = document.createElement('audio');\r\n if (navigator.userAgent.match('Firefox/')) {\r\n audioElement.setAttribute('src', path + '/' + sound + '.ogg');\r\n } else {\r\n audioElement.setAttribute('src', path + '/' + sound + '.mp3');\r\n }\r\n\r\n audioElement.addEventListener('load', () => {\r\n audioElement.play();\r\n }, true);\r\n audioElement.pause();\r\n audioElement.play();\r\n }\r\n\r\n}\r\n\r\nexport interface DialogOptions {\r\n title: string;\r\n message: string;\r\n buttons: DialogButtons;\r\n}\r\nexport interface DialogButton {\r\n label: string;\r\n className: string;\r\n}\r\nexport interface DialogButtons {\r\n confirm?: DialogButton;\r\n cancel?: DialogButton;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'smart-auth',\r\n templateUrl: './auth.component.html',\r\n styles: []\r\n})\r\nexport class AuthComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'smart-dropdown-apps',\r\n templateUrl: './dropdown-apps.component.html',\r\n})\r\nexport class DropdownAppsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'smart-dropdown-user',\r\n templateUrl: './dropdown-user.component.html',\r\n})\r\nexport class DropdownUserComponent {\r\n\r\n user = {\r\n app: 'pLog V2',\r\n name: 'Dr. Codex Lantern',\r\n email: 'drlantern@gotbootstrap.com',\r\n avatar: 'avatar-admin.png',\r\n };\r\n\r\n}\r\n","import { Component} from '@angular/core';\r\nimport { scrollToTop, toggleFullscreen } from '../../utils/utils.functions';\r\nimport { Store } from '@ngrx/store';\r\nimport { Go } from 'src/app/store/router';\r\n\r\n@Component({\r\n selector: 'smart-fab-shortcut',\r\n templateUrl: './fab-shortcut.component.html'\r\n})\r\nexport class FabShortcutComponent {\r\n\r\n constructor(private store: Store) { }\r\n\r\n\r\n scrollTop($event: MouseEvent) {\r\n $event.preventDefault();\r\n scrollToTop(150);\r\n\r\n }\r\n logout($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(new Go({path: ['/logout']}));\r\n\r\n }\r\n fullScreen($event: MouseEvent) {\r\n $event.preventDefault();\r\n toggleFullscreen();\r\n\r\n }\r\n printPage($event: MouseEvent) {\r\n $event.preventDefault();\r\n window.print();\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\r\n\r\nimport { MainComponent } from './main/main.component';\r\nimport { AuthComponent } from './auth/auth.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { PageHeaderComponent } from './page-header/page-header.component';\r\nimport { PageBreadcrumbComponent } from './page-breadcrumb/page-breadcrumb.component';\r\nimport { PageHeadingComponent } from './page-heading/page-heading.component';\r\nimport { PageFooterComponent } from './page-footer/page-footer.component';\r\nimport { DropdownAppsComponent } from './dropdown-apps/dropdown-apps.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { SettingsModalComponent } from './settings-modal/settings-modal.component';\r\nimport { UiModule } from '../ui/ui.module';\r\nimport { NavigationModule } from '../navigation/navigation.module';\r\nimport { SettingsShortcutComponent } from './settings-shortcut/settings-shortcut.component';\r\nimport { ShortcutModalComponent } from './shortcut-modal/shortcut-modal.component';\r\nimport { FabShortcutComponent } from './fab-shortcut/fab-shortcut.component';\r\nimport { DropdownUserComponent } from './dropdown-user/dropdown-user.component';\r\nimport {ApiAuthorizationModule} from \"../../../api-authorization/api-authorization.module\";\r\nimport {TooltipModule} from \"ngx-bootstrap/tooltip\";\r\n\r\n@NgModule({\r\n declarations: [MainComponent, AuthComponent, SidebarComponent,\r\n LogoComponent,\r\n PageHeaderComponent, PageBreadcrumbComponent, PageHeadingComponent,\r\n PageFooterComponent, DropdownAppsComponent, SettingsComponent,\r\n SettingsModalComponent,\r\n SettingsShortcutComponent,\r\n ShortcutModalComponent,\r\n FabShortcutComponent,\r\n DropdownUserComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n BsDropdownModule,\r\n ModalModule,\r\n ButtonsModule,\r\n\r\n NavigationModule,\r\n UiModule,\r\n ApiAuthorizationModule,\r\n TooltipModule\r\n\r\n ],\r\n exports: [MainComponent, AuthComponent, SidebarComponent],\r\n entryComponents: [ShortcutModalComponent]\r\n})\r\nexport class LayoutModule { }\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ShortcutModalService } from '../shortcut-modal/shortcut-modal.service';\r\nimport { APP_CONFIG } from 'src/app/app.config';\r\n\r\n@Component({\r\n selector: 'smart-logo',\r\n templateUrl: './logo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LogoComponent {\r\n logo = APP_CONFIG.logo;\r\n appName = APP_CONFIG.appName;\r\n\r\n constructor(public shortcut: ShortcutModalService) { }\r\n\r\n openShortcut($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.shortcut.openModal();\r\n\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { mobileNavigation } from 'src/app/store/navigation';\r\nimport { APP_CONFIG } from 'src/app/app.config';\r\n\r\n@Component({\r\n selector: 'smart-main',\r\n templateUrl: './main.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MainComponent {\r\n\r\n app = APP_CONFIG.app;\r\n\r\n constructor(private store: Store) { }\r\n\r\n closeMobileNav($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(mobileNavigation({open: false}));\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { getRouterState } from 'src/app/store/router';\r\n\r\n@Component({\r\n selector: 'smart-page-breadcrumb',\r\n templateUrl: './page-breadcrumb.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PageBreadcrumbComponent {\r\n\r\n date = Date.now();\r\n\r\n vm$ = this.store.select(getRouterState);\r\n\r\n constructor(private store: Store) { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { APP_CONFIG } from 'src/app/app.config';\r\n\r\n@Component({\r\n selector: 'smart-page-footer',\r\n templateUrl: './page-footer.component.html',\r\n styles: []\r\n})\r\nexport class PageFooterComponent implements OnInit {\r\n\r\n copyright = APP_CONFIG.copyright;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { mobileNavigation } from 'src/app/store/navigation';\r\nimport { APP_CONFIG } from 'src/app/app.config';\r\n\r\n@Component({\r\n selector: 'smart-page-header',\r\n templateUrl: './page-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PageHeaderComponent {\r\n\r\n avatar = APP_CONFIG.avatar;\r\n email = APP_CONFIG.email;\r\n user = APP_CONFIG.user;\r\n\r\n constructor(private store: Store) { }\r\n\r\n openMobileNav($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(mobileNavigation({open: true}));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'smart-page-heading',\r\n templateUrl: './page-heading.component.html',\r\n styles: []\r\n})\r\nexport class PageHeadingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, TemplateRef, OnDestroy, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { SubSink } from 'subsink';\r\nimport { SettingsModalService } from './settings-modal.service';\r\n\r\n@Component({\r\n selector: 'smart-settings-modal',\r\n templateUrl: './settings-modal.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SettingsModalComponent implements OnDestroy {\r\n\r\n @ViewChild('template', {static: true}) template: any;\r\n\r\n modalRef: BsModalRef;\r\n\r\n private sub = new SubSink();\r\n\r\n constructor(private modalService: BsModalService, sms: SettingsModalService) {\r\n this.sub.sink = sms.openSettings$.subscribe(() => {\r\n this.showModal();\r\n });\r\n }\r\n\r\n openModal($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.showModal();\r\n }\r\n\r\n private showModal() {\r\n this.modalRef = this.modalService.show(this.template, {\r\n class: 'modal-dialog-right modal-md'\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SettingsModalService {\r\n\r\n openSettings$ = new Subject();\r\n\r\n public openModal() {\r\n this.openSettings$.next(true);\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as settings from 'src/app/store/settings';\r\n\r\n@Component({\r\n selector: 'smart-settings-shortcut',\r\n templateUrl: './settings-shortcut.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SettingsShortcutComponent {\r\n\r\n constructor(private store: Store) { }\r\n\r\n toggleHideNavigation($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(settings.toggleHideNavigation());\r\n }\r\n\r\n toggleMinifyNavigation($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(settings.toggleMinifyNavigation());\r\n }\r\n\r\n toggleFixedNavigation($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(settings.toggleFixedNavigation());\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport * as settings from 'src/app/store/settings';\r\n\r\n@Component({\r\n selector: 'smart-settings',\r\n templateUrl: './settings.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SettingsComponent {\r\n\r\n vm$ = this.store.select(settings.selectSettingsState);\r\n\r\n constructor(private store: Store) { }\r\n\r\n toggleFixedHedaer($event: boolean) {\r\n this.store.dispatch(settings.toggleFixedHeader());\r\n }\r\n toggleFixedNavigation($event: boolean) {\r\n this.store.dispatch(settings.toggleFixedNavigation());\r\n }\r\n toggleMinifyNavigation($event: boolean) {\r\n this.store.dispatch(settings.toggleMinifyNavigation());\r\n }\r\n toggleHideNavigation($event: boolean) {\r\n this.store.dispatch(settings.toggleHideNavigation());\r\n }\r\n toggleTopNavigation($event: boolean) {\r\n this.store.dispatch(settings.toggleTopNavigation());\r\n }\r\n toggleBoxedLayout($event: boolean) {\r\n this.store.dispatch(settings.toggleBoxedLayout());\r\n }\r\n togglePushContent($event: boolean) {\r\n this.store.dispatch(settings.togglePushContent());\r\n }\r\n toggleNoOverlay($event: boolean) {\r\n this.store.dispatch(settings.toggleNoOverlay());\r\n }\r\n toggleOffCanvas($event: boolean) {\r\n this.store.dispatch(settings.toggleOffCanvas());\r\n }\r\n toggleBiggerContentFont($event: boolean) {\r\n this.store.dispatch(settings.toggleBiggerContentFont());\r\n }\r\n toggleHighContrastText($event: boolean) {\r\n this.store.dispatch(settings.toggleHighContrastText());\r\n }\r\n toggleDaltonism($event: boolean) {\r\n this.store.dispatch(settings.toggleDaltonism());\r\n }\r\n togglePreloaderInsise($event: boolean) {\r\n this.store.dispatch(settings.togglePreloaderInsise());\r\n }\r\n toggleCleanPageBackground($event: boolean) {\r\n this.store.dispatch(settings.toggleCleanPageBackground());\r\n }\r\n toggleHideNavigationIcons($event: boolean) {\r\n this.store.dispatch(settings.toggleHideNavigationIcons());\r\n }\r\n toggleDisableCSSAnimation($event: boolean) {\r\n this.store.dispatch(settings.toggleDisableCSSAnimation());\r\n }\r\n toggleHideInfoCard($event: boolean) {\r\n this.store.dispatch(settings.toggleHideInfoCard());\r\n }\r\n toggleLeanSubheader($event: boolean) {\r\n this.store.dispatch(settings.toggleLeanSubheader());\r\n }\r\n toggleHierarchicalNavigation($event: boolean) {\r\n this.store.dispatch(settings.toggleHierarchicalNavigation());\r\n }\r\n setGlobalFontSize(size: string) {\r\n this.store.dispatch(settings.setGlobalFontSize({ size }));\r\n }\r\n appReset($event: MouseEvent) {\r\n this.store.dispatch(settings.appReset());\r\n }\r\n factoryReset($event: MouseEvent) {\r\n this.store.dispatch(settings.factoryReset());\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'smart-shortcut-modal',\r\n templateUrl: './shortcut-modal.component.html',\r\n})\r\nexport class ShortcutModalComponent {\r\n\r\n constructor(public bsModalRef: BsModalRef) { }\r\n\r\n closeShortcut($event: MouseEvent) {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ShortcutModalComponent } from './shortcut-modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ShortcutModalService {\r\n bsModalRef: BsModalRef;\r\n\r\n constructor(private modalService: BsModalService) { }\r\n\r\n public openModal() {\r\n this.bsModalRef = this.modalService.show(ShortcutModalComponent,\r\n {\r\n class: 'modal-dialog-top modal-transparent'\r\n });\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { selectFilter } from 'src/app/store/navigation';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Component({\r\n selector: 'smart-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SidebarComponent {\r\n\r\n vm$ = this.store.select(selectFilter);\r\n\r\n constructor(private store: Store) { }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { selectResult } from 'src/app/store/navigation';\r\n\r\n@Component({\r\n selector: 'smart-nav-filter-msg',\r\n templateUrl: './nav-filter-msg.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavFilterMsgComponent {\r\n vm$ = this.store.select(selectResult);\r\n constructor(private store: Store) { }\r\n}\r\n","import { Component, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { toggleFilter, selectFilter, navigationFilter } from 'src/app/store/navigation';\r\nimport { SubSink } from 'subsink';\r\nimport { Subject } from 'rxjs';\r\nimport { tap, throttleTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'smart-nav-filter',\r\n templateUrl: './nav-filter.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavFilterComponent implements OnDestroy {\r\n\r\n vm$ = this.store.select(selectFilter);\r\n\r\n private sub = new SubSink();\r\n private textThrhottle$ = new Subject();\r\n\r\n constructor(private store: Store) {\r\n this.sub.sink = this.textThrhottle$.pipe(\r\n throttleTime(300),\r\n distinctUntilChanged(),\r\n tap(text => {\r\n this.store.dispatch(navigationFilter({text}));\r\n })\r\n ).subscribe();\r\n }\r\n\r\n toggleFilter($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(toggleFilter());\r\n }\r\n\r\n handleKeyup($event: KeyboardEvent, value: string) {\r\n this.textThrhottle$.next(value.trim());\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as settings from 'src/app/store/settings';\r\n\r\n@Component({\r\n selector: 'smart-nav-footer',\r\n templateUrl: './nav-footer.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavFooterComponent {\r\n\r\n constructor(private store: Store) {}\r\n\r\n toggleMinifyNavigation($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(settings.toggleMinifyNavigation());\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { toggleFilter } from 'src/app/store/navigation';\r\nimport { APP_CONFIG } from 'src/app/app.config';\r\nimport {map} from \"rxjs/operators\";\r\nimport {Observable} from \"rxjs\";\r\nimport {AuthorizeService} from \"../../../../api-authorization/authorize.service\";\r\n\r\n@Component({\r\n selector: 'smart-nav-info-card',\r\n templateUrl: './nav-info-card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavInfoCardComponent {\r\n\r\n public user: Observable;\r\n avatar = APP_CONFIG.avatar;\r\n\r\n constructor(private store: Store, private authorizeService: AuthorizeService) { }\r\n\r\n ngOnInit() {\r\n this.user = this.authorizeService.getUser().pipe(map(u => u && u.name));\r\n }\r\n\r\n toggleFilter($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(toggleFilter());\r\n\r\n }\r\n}\r\n","import { Component, Input, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { NavigationItem, toggleNavSection } from 'src/app/store/navigation';\r\n\r\nimport { trigger, state, style, transition, animate, group } from '@angular/animations';\r\nimport { Store } from '@ngrx/store';\r\nimport { makeSlideInOut } from '../../utils/animations';\r\nimport {Globals} from \"../../../Globals\";\r\nimport {GlobalContextService} from \"../../../globalcontext.service\";\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[smart-nav-item]',\r\n templateUrl: './nav-item.component.html',\r\n animations: [ makeSlideInOut()],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavItemComponent {\r\n\r\n @Input() item: NavigationItem;\r\n @Input() minified: boolean;\r\n\r\n @HostBinding('class.active') get active() { return this.item.active; }\r\n @HostBinding('class.open') get open() { return this.item.open; }\r\n @HostBinding('class.js-filter-hide]') get hidden() { return this.item.matched !== null && !this.item.matched; }\r\n @HostBinding('class.js-filter-show]') get shown() { return this.item.matched !== null && this.item.matched; }\r\n @HostBinding('class.nav-title]') get navTitle() { return this.item.navTitle; }\r\n\r\n\r\n constructor(\r\n private store: Store,\r\n private globalContextService: GlobalContextService\r\n ) { }\r\n\r\n toggleSection($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.store.dispatch(toggleNavSection({ item: this.item }));\r\n }\r\n\r\n trackByFn(idx: number, item: NavigationItem) {\r\n return item.title + '_' + idx;\r\n }\r\n\r\n isVisable(item: NavigationItem) {\r\n return ( this.globalContextService.isAuthorized(item.auth))\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store, createSelector } from '@ngrx/store';\r\nimport { selectNavigationItems, NavigationItem } from 'src/app/store/navigation';\r\nimport { selectSettingsState } from 'src/app/store/settings';\r\n\r\n@Component({\r\n selector: 'smart-nav',\r\n templateUrl: './nav.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavComponent {\r\n\r\n vm$ = this.store.select(\r\n createSelector(\r\n selectNavigationItems,\r\n selectSettingsState,\r\n (items, settings) => ({ items, minified: settings.minifyNavigation })\r\n )\r\n );\r\n\r\n constructor(private store: Store) { }\r\n\r\n trackByFn(idx: number, item: NavigationItem) {\r\n return item.title + '_' + idx;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NavFilterComponent } from './nav-filter/nav-filter.component';\r\nimport { NavInfoCardComponent } from './nav-info-card/nav-info-card.component';\r\nimport { NavComponent } from './nav/nav.component';\r\nimport { NavFilterMsgComponent } from './nav-filter-msg/nav-filter-msg.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NavigationComponent } from './navigation/navigation.component';\r\nimport { NavItemComponent } from './nav-item/nav-item.component';\r\nimport { NavFooterComponent } from './nav-footer/nav-footer.component';\r\nimport { UtilsModule } from '../utils/utils.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n NavFilterComponent, NavInfoCardComponent, NavComponent, NavFilterMsgComponent,\r\n NavigationComponent, NavItemComponent, NavFooterComponent,\r\n ],\r\n exports: [\r\n NavFilterComponent, NavInfoCardComponent, NavComponent, NavFilterMsgComponent, NavigationComponent\r\n ],\r\n imports: [\r\n\r\n CommonModule,\r\n RouterModule,\r\n TooltipModule,\r\n UtilsModule\r\n ]\r\n})\r\nexport class NavigationModule { }\r\n","import {Component, ChangeDetectionStrategy, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { selectSettingsState } from 'src/app/store/settings';\r\n\r\n@Component({\r\n selector: 'smart-navigation',\r\n template: `\r\n \r\n\t \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavigationComponent implements OnInit, OnDestroy{\r\n\r\n vm$ = this.store.select(selectSettingsState);\r\n interval: any;\r\n\r\n constructor(private store: Store,\r\n private ref: ChangeDetectorRef) { }\r\n\r\n ngOnDestroy(): void {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n this.ref.detach();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.interval = setInterval(() => {\r\n this.ref.detectChanges();\r\n }, 1000);\r\n }\r\n}\r\n","import { Component, OnInit, Input, Attribute, OnChanges, SimpleChanges, ElementRef, Renderer2, ContentChild } from '@angular/core';\r\nimport { makeSlideInOut } from '../../utils/animations';\r\nimport { handleClassCondition } from '../../utils/utils.functions';\r\nimport { DialogsService } from '../../dialogs/dialogs.service';\r\n\r\n@Component({\r\n selector: 'smart-panel',\r\n templateUrl: './panel.component.html',\r\n animations: [makeSlideInOut()],\r\n})\r\nexport class PanelComponent implements OnInit, OnChanges {\r\n\r\n hasPannel = false;\r\n @Input() collapsible = false;\r\n @Input() collapsed = false;\r\n @Input() fullscreenable = false;\r\n @Input() fullscreenIn: boolean;\r\n @Input() clossable: boolean;\r\n @Input() closed: boolean;\r\n headerClass: string;\r\n\r\n @ContentChild('panelTitle', { static: true }) panelTitle;\r\n constructor(\r\n @Attribute('headerClass') headerClass: string,\r\n private dialogs: DialogsService,\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n ) {\r\n this.headerClass = headerClass;\r\n }\r\n\r\n ngOnInit() {\r\n if (typeof this.collapsed !== 'undefined') {\r\n this.collapsible = true;\r\n }\r\n if (typeof this.fullscreenIn !== 'undefined') {\r\n this.fullscreenable = true;\r\n }\r\n if (typeof this.closed !== 'undefined') {\r\n this.clossable = true;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // console.log(22, changes);\r\n // if (typeof changes.fullscreenIn !== 'undefined') {\r\n // console.log('111', changes.fullscreenIn.currentValue, this.fullscreenable);\r\n // }\r\n }\r\n\r\n get pannelClasses() {\r\n const classes = ['panel'];\r\n classes.push(this.collapsed ? 'panel-collapsed' : '');\r\n classes.push(this.fullscreenIn ? 'panel-fullscreen' : '');\r\n return classes;\r\n }\r\n\r\n get pannelContainerClasses() {\r\n const classes = ['panel-container'];\r\n if (this.collapsible) {\r\n // classes.push(this.collapsed ? 'collapse' : 'show');\r\n classes.push(this.collapsed ? '' : 'show');\r\n }\r\n return classes;\r\n }\r\n\r\n get pannelContentClasses() {\r\n const classes = ['panel-content'];\r\n return classes;\r\n }\r\n\r\n toggleCollapse($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.collapsed = !this.collapsed;\r\n }\r\n toggleFullscreen($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.fullscreenIn = !this.fullscreenIn;\r\n handleClassCondition(this.fullscreenIn, 'panel-fullscreen', document.querySelector('body'));\r\n }\r\n async closePanel($event: MouseEvent) {\r\n $event.preventDefault();\r\n const titleEl = this.el.nativeElement.querySelector('h1')\r\n || this.el.nativeElement.querySelector('h2')\r\n || this.el.nativeElement.querySelector('h3');\r\n\r\n const title = titleEl ? titleEl.innerText : '';\r\n\r\n const result = await this.dialogs.confirm({\r\n title: `\r\n Do you wish to delete panel  '${title}' ?`,\r\n message: `Warning: This action cannot be undone!`,\r\n buttons: {\r\n confirm: {\r\n label: 'Yes',\r\n className: 'btn-danger shadow-0'\r\n },\r\n cancel: {\r\n label: 'No',\r\n className: 'btn-default'\r\n }\r\n }\r\n }).toPromise();\r\n\r\n if (result) {\r\n this.renderer.addClass(this.el.nativeElement, 'd-none');\r\n }\r\n\r\n }\r\n\r\n setHeaderClass(headerClass: string) {\r\n this.headerClass = headerClass;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * spec\r\n * + it should have multiple content projections\r\n * + it should have tooltips on feature buttons\r\n * it should be able to disable all features\r\n * it should save options to local storage\r\n * closed\r\n * + it should wrap header\r\n * + it should be closable\r\n * + it should warn on close\r\n * + it should be fullscrinable\r\n * + toggle class .panel-fullscreen on :host element\r\n * + toggle class .panel-fullscreen on body element\r\n * + it should be collapsable\r\n * + animated collapse\r\n * + toggle class .panel-collapsed on :host element\r\n * + toggle class .collapse .show on .panel-container element\r\n * it should be lockable *\r\n * toggle class .panel-locked on :host element\r\n * + it should be able to change colors // styles\r\n * + .panel-hdr\r\n * it should have loading indicator/state\r\n * have runLoader()\r\n * it should be able to run refresh state\r\n * toggle class .panel-refresh on :host element\r\n * toggle class .enable-loader on .panel-container element\r\n * + it should be able to accept custom buttons\r\n * it should be sortable\r\n * toggle class .panel-sortable on :host element\r\n * dragging\r\n * placeholder .panel-placeholder\r\n * drag handle > .panel-hdr > h2\r\n * it should remeber position\r\n * it should emit callbacks\r\n * it should be able to reset\r\n * all widgets\r\n * all widgets settings\r\n * all widgets positions\r\n * widget settings\r\n * widget position\r\n * it should be destroyable\r\n * alert if no id\r\n * it should add propper roles\r\n *\r\n * dependencies\r\n * ngx-bootstrap/modal\r\n * ngx-bootstrap/dropdown\r\n * ngx-bootstrap/tooltip\r\n * cdk/drag-ndrop\r\n */\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PanelComponent } from './panel/panel.component';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { DialogsModule } from '../dialogs/dialogs.module';\r\n\r\n@NgModule({\r\n declarations: [PanelComponent],\r\n imports: [\r\n TooltipModule,\r\n CommonModule,\r\n DialogsModule\r\n ],\r\n exports: [PanelComponent]\r\n})\r\nexport class PanelsModule { }\r\n","import { Component, Input, EventEmitter, Output, OnChanges, SimpleChanges, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'smart-on-off',\r\n template: `\r\n \r\n `,\r\n host: {\r\n class: 'd-inline-block'\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class OnOffComponent implements OnChanges {\r\n\r\n @Input() checked = false;\r\n @Input() class: string;\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!changes.checked || changes.checked.currentValue === this.checked) { return; }\r\n }\r\n\r\n onCheck($event: MouseEvent) {\r\n $event.preventDefault();\r\n this.checked = !this.checked;\r\n\r\n this.checkedChange.emit(this.checked);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OnOffComponent } from './on-off/on-off.component';\r\n\r\n@NgModule({\r\n declarations: [OnOffComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [OnOffComponent]\r\n})\r\nexport class UiModule { }\r\n","import { trigger, state, style, transition, animate, group } from '@angular/animations';\r\n\r\nexport function makeSlideInOut() {\r\n return trigger('slideInOut', [\r\n state('in', style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 1 }),\r\n\r\n group([\r\n animate('200ms ease-in-out', style({ height: 0 })),\r\n animate('200ms ease-in-out', style({ opacity: '0' }))\r\n ])\r\n\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n\r\n group([\r\n animate('200ms ease-in-out', style({ height: '*' })),\r\n animate('200ms ease-in-out', style({ opacity: '1' }))\r\n ])\r\n\r\n ])\r\n ]);\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[smartStubClick]'\r\n})\r\nexport class StubClickDirective {\r\n\r\n @HostListener('click', ['$event'])\r\n onMouseDown(event: MouseEvent) {\r\n event.preventDefault();\r\n }\r\n}\r\n","export function scrollToTop(scrollDuration: number) {\r\n const cosParameter = window.scrollY / 2;\r\n let scrollCount = 0;\r\n let oldTimestamp = performance.now();\r\n function step(newTimestamp) {\r\n scrollCount += Math.PI / (scrollDuration / (newTimestamp - oldTimestamp));\r\n if (scrollCount >= Math.PI) { window.scrollTo(0, 0); }\r\n if (window.scrollY === 0) { return; }\r\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\r\n oldTimestamp = newTimestamp;\r\n window.requestAnimationFrame(step);\r\n }\r\n window.requestAnimationFrame(step);\r\n}\r\n\r\n\r\n/* tslint:disable */\r\nexport function toggleFullscreen() {\r\n if (!document.fullscreenElement /* Standard browsers */\r\n && !document['msFullscreenElement'] /* Internet Explorer */\r\n && !document['mozFullScreenElement'] /* Firefox */\r\n && !document['webkitFullscreenElement'] /* Chrome */ \r\n ) {\r\n if (document.documentElement.requestFullscreen) {\r\n document.documentElement.requestFullscreen();\r\n } else if (document.documentElement['msRequestFullscreen']) {\r\n document.documentElement['msRequestFullscreen']();\r\n } else if (document.documentElement['mozRequestFullScreen']) {\r\n document.documentElement['mozRequestFullScreen']();\r\n } else if (document.documentElement['webkitRequestFullscreen']) {\r\n document.documentElement['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']);\r\n }\r\n } else {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document['msExitFullscreen']) {\r\n document['msExitFullscreen']();\r\n } else if (document['mozCancelFullScreen']) {\r\n document['mozCancelFullScreen']();\r\n } else if (document['webkitExitFullscreen']) {\r\n document['webkitExitFullscreen']();\r\n }\r\n }\r\n}\r\n/* tslint:enable */\r\n\r\n\r\n// conditionaly apply css class to target\r\nexport function handleClassCondition(\r\n condition: boolean,\r\n className: string,\r\n el: HTMLElement\r\n) {\r\n if (!condition && el.classList.contains(className)) {\r\n el.classList.remove(className);\r\n }\r\n if (condition && !el.classList.contains(className)) {\r\n el.classList.add(className);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StubClickDirective } from './directives/stub-click.directive';\r\n\r\n@NgModule({\r\n declarations: [StubClickDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [StubClickDirective]\r\n})\r\nexport class UtilsModule { }\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { Globals} from \"../../Globals\";\r\n\r\nexport const loggedInUserInfo = createAction(\r\n '[AppContext] User Info',\r\n props<{item:Globals}>()\r\n);\r\n\r\nexport const AppContextActionTypes: string[] = [\r\n loggedInUserInfo.type,\r\n];","import { Action, createReducer, on } from '@ngrx/store';\r\nimport * as AppContextActions from './appcontext.actions';\r\nimport {NavSections} from \"../../NavSections\";\r\nimport {Globals} from \"../../Globals\";\r\n\r\n\r\nconst initialState :Globals = { \r\n email:\"\", \r\n userType: NavSections.public,\r\n clientID:0,\r\n clientName: \"\",\r\n userID:\"\",\r\n userName: \"\",\r\n Auths:[]};\r\n\r\nconst AppContextReducer = createReducer(\r\n initialState,\r\n on(AppContextActions.loggedInUserInfo, (state, action) => \r\n {return action.item}));\r\n\r\nexport function reducer(state: Globals, action: Action) {\r\n return AppContextReducer(state, action);\r\n}","import { createFeatureSelector } from '@ngrx/store';\r\nimport {Globals} from \"../../Globals\";\r\n\r\n\r\nexport const selectAppContextState = createFeatureSelector('appcontext');\r\n","export * from './appcontext.actions';\r\nexport * from './appcontext.reducer';\r\nexport * from './appcontext.selectors'","import {\r\n ActionReducerMap,\r\n MetaReducer,\r\n ActionReducer, StoreModule\r\n} from '@ngrx/store';\r\nimport { RouterReducerState } from '@ngrx/router-store';\r\nimport { environment } from '../../environments/environment';\r\nimport { localStorageSync } from 'ngrx-store-localstorage';\r\nimport * as settings from './settings';\r\nimport * as navigation from './navigation';\r\nimport * as router from './router';\r\nimport * as appcontext from './appcontext';\r\nimport {Globals} from \"../Globals\";\r\n\r\n\r\n\r\nexport interface AppState {\r\n settings: settings.SettingsState;\r\n navigation: navigation.NavigationState;\r\n router: RouterReducerState;\r\n appcontext: Globals;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n settings: settings.reducer,\r\n navigation: navigation.reducer,\r\n router: router.reducer,\r\n appcontext: appcontext.reducer\r\n};\r\n\r\n\r\n// this will save part of redux store into localstorage\r\n// and restore this part on app init\r\nexport function localStorageSyncReducer(reducer: ActionReducer): ActionReducer {\r\n return localStorageSync({\r\n keys: ['settings'],\r\n rehydrate: true,\r\n })(reducer);\r\n}\r\n\r\nexport const metaReducers: MetaReducer[] = [\r\n localStorageSyncReducer,\r\n settings.settingsMetaReducer\r\n].concat(\r\n environment.production ?\r\n [] : // production only meta reducers\r\n [] // dev only meta reducers\r\n);\r\n\r\n\r\nexport const effects = [\r\n navigation.NavigationEffects\r\n];\r\n","export * from './navigation.actions';\r\nexport * from './navigation.effects';\r\nexport * from './navigation.reducer';\r\nexport * from './navigation.selectors';\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { NavigationItem } from './navigation.reducer';\r\n\r\nexport const toggleNavSection = createAction(\r\n '[Navigation] Toggle Nav Section',\r\n props<{ item: NavigationItem }>()\r\n);\r\n\r\nexport const activeUrl = createAction(\r\n '[Navigation] Active Url',\r\n props<{ url: string }>()\r\n);\r\n\r\nexport const toggleFilter = createAction(\r\n '[Navigation] Toggle Filter'\r\n);\r\n\r\nexport const navigationFilter = createAction(\r\n '[Navigation] Navigation Filter',\r\n props<{ text: string }>()\r\n);\r\n\r\nexport const mobileNavigation = createAction(\r\n '[Navigation] Mobile Navigation',\r\n props<{ open: boolean }>()\r\n);\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { ROUTER_NAVIGATED, RouterNavigatedAction } from '@ngrx/router-store';\r\nimport { activeUrl, mobileNavigation } from './navigation.actions';\r\nimport { handleClassCondition } from 'src/app/shared/utils/utils.functions';\r\n\r\n@Injectable()\r\nexport class NavigationEffects {\r\n\r\n mapToActiveUrl$ = createEffect(() => this.actions$.pipe(\r\n ofType(ROUTER_NAVIGATED),\r\n map((action: RouterNavigatedAction) => activeUrl({ url: action.payload.event.url })),\r\n tap(action => handleClassCondition(false, 'mobile-nav-on', document.querySelector('body')))\r\n ));\r\n\r\n mobileNavigation$ = createEffect(() => this.actions$.pipe(\r\n ofType(mobileNavigation),\r\n tap(action => handleClassCondition(action.open, 'mobile-nav-on', document.querySelector('body'))\r\n )), { dispatch: false });\r\n\r\n constructor(private actions$: Actions, breakpointObserver: BreakpointObserver) {\r\n breakpointObserver.observe(\r\n '(max-width: 600px)',\r\n ).subscribe(result => {\r\n handleClassCondition(result.matches, 'mobile-view-activated', document.querySelector('body'));\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\n","import { Action, createReducer, on } from '@ngrx/store';\r\nimport * as NavigationActions from './navigation.actions';\r\nimport { NavigationItems } from '../../app.navigation';\r\n\r\nexport interface NavigationItem {\r\n title: string;\r\n icon?: string;\r\n tags?: string;\r\n routerLink?: string;\r\n active?: boolean;\r\n open?: boolean;\r\n items?: NavigationItem[];\r\n matched?: boolean;\r\n navTitle?: boolean;\r\n auth: string;\r\n}\r\n\r\nexport interface NavigationState {\r\n items: NavigationItem[];\r\n total: number;\r\n filterActive: boolean;\r\n filterText: string;\r\n matched: number;\r\n}\r\n\r\nexport const initialState: NavigationState = {\r\n items: decorateItems(NavigationItems),\r\n total: countTotal(NavigationItems),\r\n filterActive: false,\r\n filterText: '',\r\n matched: 0\r\n};\r\n\r\n\r\nconst navigationReducer = createReducer(\r\n initialState,\r\n on(NavigationActions.activeUrl, (state, action) => ({\r\n ...state,\r\n items: detectActiveItems(state.items, action.url)\r\n })),\r\n on(NavigationActions.toggleNavSection, (state, action) => ({\r\n ...state,\r\n items: toggleItems(state.items, action.item)\r\n })),\r\n on(NavigationActions.toggleFilter, state => {\r\n if (state.filterActive) {\r\n return {\r\n ...state,\r\n filterActive: false,\r\n matched: 0,\r\n items: state.items.map(_ => ({ ..._, matched: null }))\r\n };\r\n } else {\r\n const items = filterItems(state.items, state.filterText);\r\n return {\r\n ...state,\r\n filterActive: true,\r\n items,\r\n matched: countMatched(items),\r\n };\r\n }\r\n\r\n }),\r\n on(NavigationActions.navigationFilter, (state, action) => {\r\n const items = filterItems(state.items, action.text);\r\n return {\r\n ...state,\r\n filterText: action.text,\r\n items,\r\n matched: countMatched(items),\r\n };\r\n })\r\n);\r\n\r\n\r\nexport function reducer(state: NavigationState, action: Action) {\r\n return navigationReducer(state, action);\r\n}\r\n\r\n\r\n\r\n// utils\r\n\r\n// recursevly add `open` and `active` fields to items\r\nfunction decorateItems(navItems: NavigationItem[]): NavigationItem[] {\r\n return navItems.map(navItem => {\r\n const item: NavigationItem = {\r\n ...navItem,\r\n active: false,\r\n matched: null\r\n };\r\n if (navItem.items) {\r\n item.open = false;\r\n item.items = decorateItems(navItem.items);\r\n }\r\n\r\n item.navTitle = !navItem.items && !navItem.routerLink && !!navItem.title;\r\n\r\n return item;\r\n });\r\n}\r\n\r\n// recursevly count total of all items\r\nfunction countTotal(navItems: NavigationItem[]): number {\r\n let total = navItems.length;\r\n navItems.filter(_ => !!_.items).forEach(_ => {\r\n total += countTotal(_.items);\r\n });\r\n return total;\r\n}\r\n\r\n// recursevly count total of filter matched items\r\nfunction countMatched(navItems: NavigationItem[]): number {\r\n let matched = navItems.filter(_ => !!_.matched).length;\r\n navItems.filter(_ => !!_.items).forEach(_ => {\r\n matched += countMatched(_.items);\r\n });\r\n return matched;\r\n}\r\n\r\n\r\n// recursevly check if item is active by url when navigation ends\r\n// if active item has parent it's `open` field becomes true\r\nfunction detectActiveItems(navItems: NavigationItem[], activeUrl: string): NavigationItem[] {\r\n return navItems.map(navItem => {\r\n const isActive = itemIsActive(navItem, activeUrl);\r\n const item = {\r\n ...navItem,\r\n active: isActive\r\n };\r\n if (navItem.items) {\r\n item.open = isActive;\r\n item.items = detectActiveItems(navItem.items, activeUrl);\r\n }\r\n return item;\r\n });\r\n}\r\n\r\n\r\n// recursevly check if item is active by url\r\n// if any of item children is active item considered as active\r\nfunction itemIsActive(item: NavigationItem, activeUrl: string) {\r\n if (item.routerLink === activeUrl) {\r\n return true;\r\n } else if (item.items) {\r\n return item.items.some(_ => itemIsActive(_, activeUrl));\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\n\r\n\r\nfunction toggleItems(navItems: NavigationItem[], toggledItem: NavigationItem): NavigationItem[] {\r\n\r\n const isToggledItemLevel = navItems.some(_ => _ === toggledItem);\r\n return navItems.map(navItem => {\r\n\r\n const item = {\r\n ...navItem\r\n };\r\n\r\n if (isToggledItemLevel && item.items && navItem !== toggledItem) {\r\n item.open = false;\r\n }\r\n if (navItem === toggledItem) {\r\n item.open = !navItem.open;\r\n }\r\n if (navItem.items) {\r\n item.items = toggleItems(navItem.items, toggledItem);\r\n }\r\n return item;\r\n });\r\n}\r\n\r\n\r\nfunction filterItems(navItems: NavigationItem[], text: string): NavigationItem[] {\r\n\r\n return navItems.map(navItem => {\r\n\r\n const item = {\r\n ...navItem,\r\n };\r\n\r\n if (navItem.items) {\r\n item.matched = navItemMatch(navItem, text) || navItem.items.some(_ => navItemMatch(_, text));\r\n item.items = filterItems(navItem.items, text);\r\n } else {\r\n item.matched = navItemMatch(navItem, text);\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction navItemMatch(item: NavigationItem, text: string) {\r\n return (!text.trim() || (item.tags && !!item.tags.match(new RegExp(`.*${text.trim()}.*`, 'gi'))));\r\n\r\n}\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { NavigationState } from './navigation.reducer';\r\n\r\nexport const selectNavigationState = createFeatureSelector('navigation');\r\n\r\nexport const selectNavigationItems = createSelector(selectNavigationState, state => state.items);\r\nexport const selectFilter = createSelector(selectNavigationState, state => ({\r\n active: state.filterActive,\r\n text: state.filterText\r\n}));\r\n\r\n\r\nexport const selectResult = createSelector(selectNavigationState, state => ({\r\n active: state.filterActive && !!state.filterText.trim(),\r\n total: state.total,\r\n matched: state.matched\r\n}));\r\n","export * from './router.reducer';\r\nexport * from './router.actions';\r\nexport * from './router.selectors';\r\nexport * from './router.effects';\r\n","import { NavigationExtras } from '@angular/router';\r\nimport { Action } from '@ngrx/store';\r\n\r\nexport const GO = '[Router] Go';\r\nexport const UPDATE = '[Router] Update url';\r\nexport const BACK = '[Router] Back';\r\nexport const FORWARD = '[Router] Forward';\r\n\r\nexport class Go implements Action {\r\n public readonly type = GO;\r\n constructor(\r\n public payload: {\r\n path: any[];\r\n query?: object;\r\n extras?: NavigationExtras;\r\n }\r\n ) {}\r\n}\r\n\r\nexport class UpdateLocation implements Action {\r\n public readonly type = UPDATE;\r\n constructor(public payload: string) {}\r\n}\r\n\r\nexport class Back implements Action {\r\n public readonly type = BACK;\r\n}\r\n\r\nexport class Forward implements Action {\r\n public readonly type = FORWARD;\r\n}\r\n\r\nexport type Actions = Go | Back | Forward;\r\n","import { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Actions, Effect, ofType } from '@ngrx/effects';\r\nimport * as RouterActions from './router.actions';\r\n\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class RouterEffects {\r\n @Effect({ dispatch: false }) navigate$ = this.actions$.pipe(\r\n ofType(RouterActions.GO),\r\n map((action: RouterActions.Go) => action.payload),\r\n tap(({ path, query: queryParams, extras }) => {\r\n this.router.navigate(path, { queryParams, ...extras });\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false }) location$ = this.actions$.pipe(\r\n ofType(RouterActions.UPDATE),\r\n map((action: RouterActions.UpdateLocation) => action.payload),\r\n tap(path => {\r\n this.location.go(path);\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false }) navigateBack$ = this.actions$.pipe(\r\n ofType(RouterActions.BACK),\r\n tap(() => this.location.back())\r\n );\r\n\r\n @Effect({ dispatch: false }) navigateForward$ = this.actions$.pipe(\r\n ofType(RouterActions.FORWARD),\r\n tap(() => this.location.forward())\r\n );\r\n constructor(\r\n private actions$: Actions,\r\n private router: Router,\r\n private location: Location\r\n ) { }\r\n}\r\n","import {\r\n ActivatedRouteSnapshot,\r\n Params,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\nimport * as fromRouter from '@ngrx/router-store';\r\n\r\nexport interface RouterStateUrl {\r\n url: string;\r\n queryParams: Params;\r\n params: Params;\r\n data: any;\r\n}\r\n\r\nexport const reducer = fromRouter.routerReducer;\r\n\r\nexport class CustomSerializer\r\n implements fromRouter.RouterStateSerializer {\r\n public serialize(routerState: RouterStateSnapshot): RouterStateUrl {\r\n const { url } = routerState;\r\n const { queryParams } = routerState.root;\r\n\r\n let state: ActivatedRouteSnapshot = routerState.root;\r\n while (state.firstChild) {\r\n state = state.firstChild;\r\n }\r\n\r\n const { params, data } = state;\r\n\r\n return { url, queryParams, params, data };\r\n }\r\n}\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { RouterStateUrl } from './router.reducer';\r\n\r\nimport * as fromRouter from '@ngrx/router-store';\r\n\r\nexport const getRouterState = createFeatureSelector<\r\n fromRouter.RouterReducerState\r\n>('router');\r\n","export * from './settings.actions';\r\nexport * from './settings.meta';\r\nexport * from './settings.reducer';\r\nexport * from './settings.selectors';\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\n\r\nexport const toggleFixedHeader = createAction(\r\n '[Settings] Toggle Fixed Header'\r\n);\r\nexport const toggleFixedNavigation = createAction(\r\n '[Settings] Toggle Fixed Navigation'\r\n);\r\nexport const toggleMinifyNavigation = createAction(\r\n '[Settings] Toggle Minify Navigation'\r\n);\r\nexport const toggleHideNavigation = createAction(\r\n '[Settings] Toggle Hide Navigation'\r\n);\r\nexport const toggleTopNavigation = createAction(\r\n '[Settings] Toggle Top Navigation'\r\n);\r\nexport const toggleBoxedLayout = createAction(\r\n '[Settings] Toggle Boxed Layout'\r\n);\r\nexport const togglePushContent = createAction(\r\n '[Settings] Toggle Push Content'\r\n);\r\nexport const toggleNoOverlay = createAction(\r\n '[Settings] Toggle No Overlay'\r\n);\r\nexport const toggleOffCanvas = createAction(\r\n '[Settings] Toggle Off Canvas'\r\n);\r\nexport const toggleBiggerContentFont = createAction(\r\n '[Settings] Toggle Bigger Content Font'\r\n);\r\nexport const toggleHighContrastText = createAction(\r\n '[Settings] Toggle High Contrast Text'\r\n);\r\nexport const toggleDaltonism = createAction(\r\n '[Settings] Toggle Daltonism'\r\n);\r\nexport const toggleRtl = createAction(\r\n '[Settings] Toggle RTL'\r\n);\r\nexport const togglePreloaderInsise = createAction(\r\n '[Settings] Toggle Preloader Insise'\r\n);\r\nexport const toggleCleanPageBackground = createAction(\r\n '[Settings] Toggle Clean Page Background'\r\n);\r\nexport const toggleHideNavigationIcons = createAction(\r\n '[Settings] Toggle Hide Navigation Icons'\r\n);\r\nexport const toggleDisableCSSAnimation = createAction(\r\n '[Settings] Toggle Disable CSS Animation'\r\n);\r\nexport const toggleHideInfoCard = createAction(\r\n '[Settings] Toggle Hide Info Card'\r\n);\r\nexport const toggleLeanSubheader = createAction(\r\n '[Settings] Toggle Lean Subheader'\r\n);\r\nexport const toggleHierarchicalNavigation = createAction(\r\n '[Settings] Toggle Hierarchical Navigation'\r\n);\r\nexport const setGlobalFontSize = createAction(\r\n '[Settings] Set Global Font Size',\r\n props<{ size: string; }>()\r\n);\r\nexport const appReset = createAction(\r\n '[Settings] App Reset'\r\n);\r\nexport const factoryReset = createAction(\r\n '[Settings] Factory Reset'\r\n);\r\n\r\n\r\nexport const SettingsActionTypes: string[] = [\r\n toggleFixedHeader.type,\r\n toggleFixedNavigation.type,\r\n toggleMinifyNavigation.type,\r\n toggleHideNavigation.type,\r\n toggleTopNavigation.type,\r\n toggleBoxedLayout.type,\r\n togglePushContent.type,\r\n toggleNoOverlay.type,\r\n toggleOffCanvas.type,\r\n toggleBiggerContentFont.type,\r\n toggleHighContrastText.type,\r\n toggleDaltonism.type,\r\n toggleRtl.type,\r\n togglePreloaderInsise.type,\r\n toggleCleanPageBackground.type,\r\n toggleHideNavigationIcons.type,\r\n toggleDisableCSSAnimation.type,\r\n toggleHideInfoCard.type,\r\n toggleLeanSubheader.type,\r\n toggleHierarchicalNavigation.type,\r\n setGlobalFontSize.type,\r\n appReset.type,\r\n factoryReset.type,\r\n];\r\n","import { ActionReducer, Action, INIT } from '@ngrx/store';\r\n\r\nimport * as actions from './settings.actions';\r\nimport { SettingsState } from './settings.reducer';\r\nimport { handleClassCondition } from '../../shared/utils/utils.functions';\r\n\r\nconst html = document.querySelector('html');\r\nconst body = document.querySelector('body');\r\n\r\n// meta reducer that applies layout classes based on settings reducer\r\nexport function settingsMetaReducer(reducer: ActionReducer): ActionReducer {\r\n return (state: { settings: SettingsState }, action: Action) => {\r\n\r\n // build new state\r\n const result = reducer(state, action);\r\n\r\n // use our middleware only for INIT action and for Settings actions\r\n if (action.type === INIT || actions.SettingsActionTypes.includes(action.type)) {\r\n handleCssClasses(result.settings, action);\r\n }\r\n\r\n // pass state into next chain\r\n return result;\r\n };\r\n}\r\n\r\n\r\nfunction handleCssClasses(state: SettingsState, action: Action) {\r\n handleClassCondition(state.fixedHeader, 'header-function-fixed', body);\r\n handleClassCondition(state.fixedNavigation, 'nav-function-fixed', body);\r\n handleClassCondition(state.minifyNavigation, 'nav-function-minify', body);\r\n handleClassCondition(state.hideNavigation, 'nav-function-hidden', body);\r\n handleClassCondition(state.topNavigation, 'nav-function-top', body);\r\n handleClassCondition(state.boxedLayout, 'mod-main-boxed', body);\r\n handleClassCondition(state.pushContent, 'nav-mobile-push', body);\r\n handleClassCondition(state.noOverlay, 'nav-mobile-no-overlay', body);\r\n handleClassCondition(state.offCanvas, 'nav-mobile-slide-out', body);\r\n handleClassCondition(state.biggerContentFont, 'mod-bigger-font', body);\r\n handleClassCondition(state.highContrastText, 'mod-high-contrast', body);\r\n handleClassCondition(state.daltonism, 'mod-color-blind', body);\r\n handleClassCondition(state.preloaderInside, 'mod-pace-custom', body);\r\n handleClassCondition(state.cleanPageBackground, 'mod-clean-page-bg', body);\r\n handleClassCondition(state.hideNavigationIcons, 'mod-hide-nav-icons', body);\r\n handleClassCondition(state.disableCSSAnimation, 'mod-disable-animation', body);\r\n handleClassCondition(state.hideInfoCard, 'mod-hide-info-card', body);\r\n handleClassCondition(state.leanSubheader, 'mod-lean-subheader', body);\r\n handleClassCondition(state.hierarchicalNavigation, 'mod-nav-link', body);\r\n handleClassCondition(state.globalFontSize === 'sm', 'root-text-sm', html);\r\n handleClassCondition(state.globalFontSize === 'md', 'root-text', html);\r\n handleClassCondition(state.globalFontSize === 'lg', 'root-text-lg', html);\r\n handleClassCondition(state.globalFontSize === 'xl', 'root-text-xl', html);\r\n}\r\n\r\n\r\n","import { Action, createReducer, on } from '@ngrx/store';\r\nimport * as SettingsActions from './settings.actions';\r\n\r\nexport interface SettingsState {\r\n // app layout\r\n fixedHeader: boolean;\r\n fixedNavigation: boolean;\r\n minifyNavigation: boolean;\r\n hideNavigation: boolean;\r\n topNavigation: boolean;\r\n boxedLayout: boolean;\r\n\r\n // mobile menu\r\n pushContent: boolean;\r\n noOverlay: boolean;\r\n offCanvas: boolean;\r\n\r\n // accessibility\r\n biggerContentFont: boolean;\r\n highContrastText: boolean;\r\n daltonism: boolean;\r\n preloaderInside: boolean;\r\n rtl: boolean;\r\n\r\n // global modifications\r\n cleanPageBackground: boolean;\r\n hideNavigationIcons: boolean;\r\n disableCSSAnimation: boolean;\r\n hideInfoCard: boolean;\r\n leanSubheader: boolean;\r\n hierarchicalNavigation: boolean;\r\n\r\n // global font size\r\n globalFontSize: string;\r\n}\r\n\r\n// here you can configure initial state of your app\r\n// for all your users\r\nexport const initialState: SettingsState = {\r\n // app layout\r\n fixedHeader: false,\r\n fixedNavigation: false,\r\n minifyNavigation: false,\r\n hideNavigation: false,\r\n topNavigation: false,\r\n boxedLayout: false,\r\n\r\n // mobile menu\r\n pushContent: false,\r\n noOverlay: false,\r\n offCanvas: false,\r\n\r\n // accessibility\r\n biggerContentFont: false,\r\n highContrastText: false,\r\n daltonism: false,\r\n preloaderInside: false,\r\n rtl: false,\r\n\r\n // global modifications\r\n cleanPageBackground: false,\r\n hideNavigationIcons: false,\r\n disableCSSAnimation: false,\r\n hideInfoCard: false,\r\n leanSubheader: false,\r\n hierarchicalNavigation: false,\r\n\r\n // global font size\r\n globalFontSize: 'md',\r\n\r\n};\r\n\r\nconst settingsReducer = createReducer(\r\n initialState,\r\n\r\n on(SettingsActions.toggleFixedHeader, state => ({ ...state, fixedHeader: !state.fixedHeader })),\r\n on(SettingsActions.toggleFixedNavigation, state => ({...state, fixedNavigation: !state.fixedNavigation })),\r\n on(SettingsActions.toggleMinifyNavigation, state => ({...state, minifyNavigation: !state.minifyNavigation })),\r\n on(SettingsActions.toggleHideNavigation, state => ({...state, hideNavigation: !state.hideNavigation })),\r\n on(SettingsActions.toggleTopNavigation, state => ({...state, topNavigation: !state.topNavigation })),\r\n on(SettingsActions.toggleBoxedLayout, state => ({...state, boxedLayout: !state.boxedLayout })),\r\n on(SettingsActions.togglePushContent, state => ({...state, pushContent: !state.pushContent })),\r\n on(SettingsActions.toggleNoOverlay, state => ({...state, noOverlay: !state.noOverlay })),\r\n on(SettingsActions.toggleOffCanvas, state => ({...state, offCanvas: !state.offCanvas })),\r\n on(SettingsActions.toggleBiggerContentFont, state => ({...state, biggerContentFont: !state.biggerContentFont })),\r\n on(SettingsActions.toggleHighContrastText, state => ({...state, highContrastText: !state.highContrastText })),\r\n on(SettingsActions.toggleDaltonism, state => ({...state, daltonism: !state.daltonism })),\r\n on(SettingsActions.toggleRtl, state => ({...state, rtl: !state.rtl })),\r\n on(SettingsActions.togglePreloaderInsise, state => ({...state, preloaderInside: !state.preloaderInside })),\r\n on(SettingsActions.toggleCleanPageBackground, state => ({...state, cleanPageBackground: !state.cleanPageBackground })),\r\n on(SettingsActions.toggleHideNavigationIcons, state => ({...state, hideNavigationIcons: !state.hideNavigationIcons })),\r\n on(SettingsActions.toggleDisableCSSAnimation, state => ({...state, disableCSSAnimation: !state.disableCSSAnimation })),\r\n on(SettingsActions.toggleHideInfoCard, state => ({...state, hideInfoCard: !state.hideInfoCard })),\r\n on(SettingsActions.toggleLeanSubheader, state => ({...state, leanSubheader: !state.leanSubheader })),\r\n on(SettingsActions.toggleHierarchicalNavigation, state => ({...state, hierarchicalNavigation: !state.hierarchicalNavigation })),\r\n on(SettingsActions.setGlobalFontSize, (state, action) => ({...state, globalFontSize: action.size })),\r\n\r\n on(SettingsActions.appReset, () => ({...initialState})),\r\n\r\n\r\n);\r\n\r\nexport function reducer(state: SettingsState, action: Action) {\r\n return settingsReducer(state, action);\r\n}\r\n","import { createFeatureSelector } from '@ngrx/store';\r\nimport { SettingsState } from './settings.reducer';\r\n\r\nexport const selectSettingsState = createFeatureSelector('settings');\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}