{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/authorization/auth.provider.ts","./src/app/core/authorization/index.ts","./src/app/core/authorization/msal.config.ts","./src/app/core/authorization/user.store.ts","./src/app/core/core.module.ts","./src/app/core/drawer/drawer.service.ts","./src/app/core/drawer/index.ts","./src/app/core/error-page/error-page.component.ts","./src/app/core/right-sidenav/right-bar-constant.ts","./src/app/core/right-sidenav/right-sidenav.component.ts","./src/app/core/right-sidenav/right-sidenav.component.html","./src/app/core/right-sidenav/right-sidenav.store.ts","./src/app/core/top-navbar/breadcrumb/breadcrumb.component.ts","./src/app/core/top-navbar/breadcrumb/breadcrumb.component.html","./src/app/core/top-navbar/manage-menu/manage-menu.component.ts","./src/app/core/top-navbar/manage-menu/manage-menu.component.html","./src/app/core/top-navbar/top-navbar.component.ts","./src/app/core/top-navbar/top-navbar.component.html","./src/app/home/constants/common.const.ts","./src/app/home/constants/default-columns.ts","./src/app/home/constants/filter-configuration.const.ts","./src/app/home/constants/options-predicate.const.ts","./src/app/home/home.utils.ts","./src/app/home/model/case-filter-type.model.ts","./src/app/home/model/controls-filter.model.ts","./src/app/home/model/events-filter.model.ts","./src/app/home/model/home-config.model.ts","./src/app/home/model/issues-filter.model.ts","./src/app/home/model/rcsa-filter.model.ts","./src/app/home/model/standard-filter.model.ts","./src/app/home/model/status-filter.model.ts","./src/app/home/model/user-settings-event.enum.ts","./src/app/home/store/controls-filter-params.store.ts","./src/app/home/store/events-filter-params.store.ts","./src/app/home/store/filter-params.store.ts","./src/app/home/store/issues-filter-params.store.ts","./src/app/home/store/my-all-filter-params.store.ts","./src/app/home/store/my-to-do-params.store.ts","./src/app/home/store/rcsa-filter-params.store.ts","./src/app/home/store/returns-back-to-app.store.ts","./src/app/home/store/standards-filter-params.store.ts","./src/app/rcsa/filter/filter-advanced-predicates.model.ts","./src/app/rcsa/filter/filter-autocomplete-def.model.ts","./src/app/rcsa/filter/filter-checkbox-group.model.ts","./src/app/rcsa/filter/filter-dropdown-def.model.ts","./src/app/rcsa/filter/filter-full-text-search-definition.model.ts","./src/app/rcsa/shared.constants.ts","./src/app/shared/adapters/adapter.ts","./src/app/shared/adapters/enum-option.adapter.ts","./src/app/shared/adapters/events-status-enum.adapter.ts","./src/app/shared/adapters/events-type-enum.adapter.ts","./src/app/shared/adapters/issue-rating-enum.adapter.ts","./src/app/shared/adapters/issues-status-enum.adapter.ts","./src/app/shared/adapters/lod-enum.adapter.ts","./src/app/shared/adapters/risk-cases.adapter.ts","./src/app/shared/adapters/user-settings.adapter.ts","./src/app/shared/components/alert-dialog.component.ts","./src/app/shared/components/autocomplete.component.ts","./src/app/shared/components/base-table-full-text-filter.component.ts","./src/app/shared/components/commit-version.component.ts","./src/app/shared/components/expansion-panel/expansion-panel.component.ts","./src/app/shared/components/filter-chips.component.ts","./src/app/shared/components/filter-popover-content.component.ts","./src/app/shared/components/full-height-container.component.ts","./src/app/shared/components/full-text-form-field.component.ts","./src/app/shared/components/index.ts","./src/app/shared/components/overlay-spinner/overlay-spinner.component.ts","./src/app/shared/components/overlay-spinner/overlay-spinner.service.ts","./src/app/shared/components/popover-container/popover-container.component.ts","./src/app/shared/components/popover-container/popover-container.component.html","./src/app/shared/components/read-more/read-more.component.ts","./src/app/shared/components/read-more/read-more.component.html","./src/app/shared/components/selectable-card.component.ts","./src/app/shared/components/selection-tree/selection-tree-defer-loading-skeleton.component.ts","./src/app/shared/components/selection-tree/selection-tree.component.ts","./src/app/shared/components/selection-tree/tree.model.ts","./src/app/shared/components/skeleton-loader.component.ts","./src/app/shared/components/stepper/index.ts","./src/app/shared/components/stepper/stepper-config.model.ts","./src/app/shared/components/stepper/stepper.component.ts","./src/app/shared/components/table-error-message/table-error-message.component.ts","./src/app/shared/components/text-input-highlight/highlight-tag.model.ts","./src/app/shared/components/text-input-highlight/index.ts","./src/app/shared/components/text-input-highlight/text-input-element.directive.ts","./src/app/shared/components/text-input-highlight/text-input-highlight-container.directive.ts","./src/app/shared/components/text-input-highlight/text-input-highlight.component.ts","./src/app/shared/components/user-guide/user-guide.component.ts","./src/app/shared/components/user-guide/user-guide.component.html","./src/app/shared/components/users-search-form-field.component.ts","./src/app/shared/constants/constants.ts","./src/app/shared/constants/index.ts","./src/app/shared/constants/providers.ts","./src/app/shared/constants/user-guide-data.ts","./src/app/shared/dialog/dialog-sub-header.directive.ts","./src/app/shared/dialog/dialog.component.ts","./src/app/shared/dialog/dialog.component.html","./src/app/shared/dialog/index.ts","./src/app/shared/directives/column-width.directive.ts","./src/app/shared/directives/index.ts","./src/app/shared/directives/popover-actions.directive.ts","./src/app/shared/directives/popover.directive.ts","./src/app/shared/directives/selectable.directive.ts","./src/app/shared/directives/show-more.directive.ts","./src/app/shared/directives/skeleton-loader.directive.ts","./src/app/shared/directives/table-auto-scroll.directive.ts","./src/app/shared/directives/table-row.directive.ts","./src/app/shared/directives/trim-empty-space.directive.ts","./src/app/shared/guards/can-deactivate.guard.ts","./src/app/shared/guards/index.ts","./src/app/shared/models/constant/common-constants.ts","./src/app/shared/models/entity-name.model.ts","./src/app/shared/models/filter/filter-dropdown-option.model.ts","./src/app/shared/models/filter/filter.model.ts","./src/app/shared/models/graphUser.model.ts","./src/app/shared/models/index.ts","./src/app/shared/models/my-todo.model.ts","./src/app/shared/models/option.model.ts","./src/app/shared/models/rcsa-views.model.ts","./src/app/shared/models/rcsa.model.ts","./src/app/shared/models/risk-case-status.model.ts","./src/app/shared/models/risk-case-type.model.ts","./src/app/shared/models/risk-case-view.model.ts","./src/app/shared/models/table/column-width.model.ts","./src/app/shared/models/user-settings.model.ts","./src/app/shared/models/user.model.ts","./src/app/shared/pipe/date-format.pipe.ts","./src/app/shared/pipe/field-to-column-width.pipe.ts","./src/app/shared/pipe/get-assessors-status-text.pipe.ts","./src/app/shared/pipe/index.ts","./src/app/shared/pipe/is-false.pipe.ts","./src/app/shared/pipe/is-function.pipe.ts","./src/app/shared/pipe/is-issue-or-event-in-draft-for-days.pipe.ts","./src/app/shared/pipe/is-not-empty.pipe.ts","./src/app/shared/pipe/is-not-nil.pipe.ts","./src/app/shared/pipe/is-true.pipe.ts","./src/app/shared/pipe/is-valid-date.pipe.ts","./src/app/shared/pipe/rating-class.pipe.ts","./src/app/shared/pipe/rating-id.pipe.ts","./src/app/shared/pipe/rating-label.pipe.ts","./src/app/shared/pipe/safe-html.pipe.ts","./src/app/shared/pipe/to-string.pipe.ts","./src/app/shared/pipe/truncate.pipe.ts","./src/app/shared/pipe/utf-8-count.pipe.ts","./src/app/shared/services/enum.service.ts","./src/app/shared/services/events-enum.service.ts","./src/app/shared/services/excel.service.ts","./src/app/shared/services/favicon.service.ts","./src/app/shared/services/graph.service.ts","./src/app/shared/services/home-enum.service.ts","./src/app/shared/services/home.service.ts","./src/app/shared/services/icon.service.ts","./src/app/shared/services/index.ts","./src/app/shared/services/issues-enum.service.ts","./src/app/shared/services/my-todos.service.ts","./src/app/shared/services/popover.service.ts","./src/app/shared/services/rcsa-fe.service.ts","./src/app/shared/services/risk-cases.service.ts","./src/app/shared/services/state-saving.service.ts","./src/app/shared/services/subscription-variables.service.ts","./src/app/shared/services/theme-detection.service.ts","./src/app/shared/services/toast.service.ts","./src/app/shared/services/user-settings.service.ts","./src/app/shared/services/users.service.ts","./src/app/shared/services/window-resize.service.ts","./src/app/shared/utils/array/group-by.ts","./src/app/shared/utils/array/is-array.ts","./src/app/shared/utils/array/is-empty.ts","./src/app/shared/utils/array/is-not-empty.ts","./src/app/shared/utils/array/is-user-array.ts","./src/app/shared/utils/array/map.ts","./src/app/shared/utils/array/some.ts","./src/app/shared/utils/array/sort-by.ts","./src/app/shared/utils/array/uniq-by.ts","./src/app/shared/utils/boolean/is-boolean.ts","./src/app/shared/utils/boolean/is-false.ts","./src/app/shared/utils/boolean/is-falsy.ts","./src/app/shared/utils/boolean/is-true.ts","./src/app/shared/utils/boolean/is-truthy.ts","./src/app/shared/utils/date/get-rcsa-quarter.ts","./src/app/shared/utils/date/is-after-or-equal-time.ts","./src/app/shared/utils/date/is-before-or-equal-date.ts","./src/app/shared/utils/date/is-before-or-equal-time.ts","./src/app/shared/utils/date/is-date-after-days.ts","./src/app/shared/utils/date/is-same-time.ts","./src/app/shared/utils/date/is-valid-date.ts","./src/app/shared/utils/date/unix-to-formatted-date.ts","./src/app/shared/utils/index.ts","./src/app/shared/utils/number/is-number.ts","./src/app/shared/utils/object/clone-deep.ts","./src/app/shared/utils/object/difference-with.ts","./src/app/shared/utils/object/get-etag-header.ts","./src/app/shared/utils/object/invert.ts","./src/app/shared/utils/object/is-enum.ts","./src/app/shared/utils/object/is-equal.ts","./src/app/shared/utils/object/is-filter-dropdown-option.ts","./src/app/shared/utils/object/is-nil.ts","./src/app/shared/utils/object/is-not-nil.ts","./src/app/shared/utils/object/is-object.ts","./src/app/shared/utils/object/is-user.ts","./src/app/shared/utils/object/omit.ts","./src/app/shared/utils/object/pick.ts","./src/app/shared/utils/object/search-in-object.ts","./src/app/shared/utils/object/set.ts","./src/app/shared/utils/other/find-enum-item.ts","./src/app/shared/utils/other/get-id-from-enum-item.ts","./src/app/shared/utils/other/get-risk-case-status-filter.ts","./src/app/shared/utils/other/inject-filter-params-store.ts","./src/app/shared/utils/other/is-event.ts","./src/app/shared/utils/other/is-function.ts","./src/app/shared/utils/other/is-issue-or-event-in-draft-for-days.ts","./src/app/shared/utils/other/is-issue.ts","./src/app/shared/utils/other/types.ts","./src/app/shared/utils/router/navigate-to-current-route.ts","./src/app/shared/utils/string/camel-case.ts","./src/app/shared/utils/string/is-string.ts","./src/app/shared/utils/string/is-valid-external-url.ts","./src/app/shared/utils/string/map-to-url-with-protocol.ts","./src/app/shared/utils/test-utils/create-shallow-testbed.ts","./src/app/shared/utils/test-utils/run-marble-test.ts","./src/app/shared/utils/validators/all-or-none.validator.ts","./src/app/shared/utils/validators/autocomplete-selection.validator.ts","./src/app/shared/utils/validators/max-byte-length.validator.ts","./src/environments/environment.dev.ts","./src/environments/version.ts","./src/main.ts","./src/styles/p-table/cell-renderers/boolean-cell-renderer.component.ts","./src/styles/p-table/cell-renderers/date-cell-renderer.component.ts","./src/styles/p-table/cell-renderers/infinite-days-cell-renderer.component.ts","./src/styles/p-table/cell-renderers/overdue-cell-renderer/overdue-cell-color.directive.ts","./src/styles/p-table/cell-renderers/overdue-cell-renderer/overdue-cell-renderer.component.ts","./src/styles/p-table/constants.ts","./src/styles/p-table/pipe/infinite-days.pipe.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { ErrorPageComponent } from '@core/error-page/error-page.component';\n\nimport { Breadcrumb } from '@core/top-navbar';\nimport { canDeactivateGuard } from '@shared/guards';\n\nexport const ROUTES = {\n rcsa: 'rcsa',\n wizard: {\n root: 'wizard',\n selection: 'selection',\n preDraft: {\n root: 'pre-draft',\n description: 'description',\n identification: 'identification',\n rcsa: 'rcsa',\n risk: 'risk',\n responsibilities: 'responsibilities',\n summary: 'summary',\n },\n draft: {\n root: 'draft',\n businessImpact: 'business-impact',\n legalEntities: 'legal-entities',\n outsourcing: 'outsourcing',\n monetaryImpact: 'monetary-impact',\n additionalInformations: 'additional-informations',\n summary: 'summary',\n },\n },\n home: '',\n standardDetail: 'standard-detail',\n error: 'error',\n} as const;\n\nconst routes: Routes = [\n {\n path: ROUTES.rcsa,\n loadChildren: () => import('./rcsa/rcsa.module').then(x => x.RCSAModule),\n data: { breadcrumb: { label: 'RCSAs', key: 'rcsa' } as Breadcrumb },\n canActivate: [MsalGuard],\n },\n {\n path: ROUTES.wizard.root,\n loadChildren: () => import('./wizard/routes').then(x => x.wizardRoutes),\n },\n {\n path: ROUTES.home,\n loadChildren: () => import('./home/home.module').then(x => x.HomeModule),\n data: { breadcrumb: { label: 'Home', key: 'home' } as Breadcrumb },\n canActivate: [MsalGuard],\n },\n {\n path: `${ROUTES.standardDetail}`,\n children: [\n {\n path: '',\n loadComponent: () => import('./standards/standard-detail.component').then(x => x.StandardDetailComponent),\n canDeactivate: [canDeactivateGuard],\n data: {\n breadcrumb: { label: 'Standard detail', key: 'standardDetail' } as Breadcrumb,\n },\n },\n {\n path: ':id',\n loadComponent: () => import('./standards/standard-detail.component').then(x => x.StandardDetailComponent),\n canDeactivate: [canDeactivateGuard],\n data: {\n breadcrumb: { label: 'Standard detail', key: 'standardDetail' } as Breadcrumb,\n },\n },\n ],\n data: { breadcrumb: { label: 'Standards', key: 'standards' } as Breadcrumb },\n canActivate: [MsalGuard],\n },\n {\n path: ROUTES.error,\n component: ErrorPageComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'disabled', bindToComponentInputs: true })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, inject, OnInit } from '@angular/core';\n\nimport { UserStore } from '@core/authorization';\nimport { DrawerService } from '@core/drawer';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n})\nexport class AppComponent implements OnInit {\n title = 'orm-client';\n isIframe = false;\n isMobile = false;\n\n drawerOpened$ = this.drawerService.opened$;\n drawerMode$ = this.drawerService.mode$;\n\n private readonly store = inject(UserStore);\n\n constructor(private readonly drawerService: DrawerService) {}\n\n ngOnInit(): void {\n this.isIframe = window !== window.parent && !window.opener;\n this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n }\n}\n","\n\n \n \n \n \n \n @if (!isIframe) {\n \n }\n \n\n\n \n
\n
\n \"Info\"
\n Important: OneORM is not accessible on mobile devices, please use Swiss Re notebook instead\n
\n
\n
\n
\n","import { NgOptimizedImage } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MsalModule } from '@azure/msal-angular';\nimport { provideAuth } from '@core/authorization/auth.provider';\nimport { RightSidenavComponent } from '@core/right-sidenav/right-sidenav.component';\nimport { OverlaySpinnerComponent } from '@shared/components/overlay-spinner/overlay-spinner.component';\nimport { ApiModule, BASE_PATH } from 'oneorm-api-http-client';\n\nimport { CoreModule } from '@core/core.module';\nimport { FavIconService, GraphService, SubscriptionVariablesService, ThemeDetectionService, ToastService } from '@shared/services';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { environment } from '../environments/environment';\n\nfunction initializeThemeDetection(themeDetectionService: ThemeDetectionService) {\n return () => themeDetectionService.init();\n}\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n HttpClientModule,\n CoreModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n ApiModule,\n MatSidenavModule,\n RightSidenavComponent,\n MsalModule,\n OverlaySpinnerComponent,\n NgOptimizedImage,\n ],\n providers: [\n GraphService,\n SubscriptionVariablesService,\n ToastService,\n { provide: BASE_PATH, useValue: environment.apiUrl },\n provideAuth(),\n FavIconService,\n ThemeDetectionService,\n {\n provide: APP_INITIALIZER,\n useFactory: initializeThemeDetection,\n deps: [ThemeDetectionService],\n multi: true,\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Provider } from '@angular/core';\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalBroadcastService,\n MsalGuard,\n MsalInterceptor,\n MsalService,\n} from '@azure/msal-angular';\nimport { MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory } from '@core/authorization/msal.config';\n\nexport function provideAuth(): Provider[] {\n return [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true,\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory,\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory,\n },\n ];\n}\n","export * from './auth.provider';\nexport * from './msal.config';\nexport * from './user.store';\n","import { MsalGuardConfiguration, MsalInterceptorConfiguration } from '@azure/msal-angular';\nimport { BrowserCacheLocation, InteractionType, IPublicClientApplication, PublicClientApplication } from '@azure/msal-browser';\n\nimport { environment } from '../../../environments/environment';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MSALInstanceFactory(): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: environment.msalConfig.clientId,\n authority: environment.msalConfig.authority,\n redirectUri: window.location.origin,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: false,\n },\n });\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map>();\n protectedResourceMap.set(environment.apiUrl, [environment.msalConfig.scope]);\n protectedResourceMap.set('https://graph.microsoft.com/', ['User.Read', 'profile', 'openid', 'offline_access']);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap,\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: [environment.msalConfig.scope],\n },\n };\n}\n","import { inject } from '@angular/core';\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\nimport { InteractionStatus } from '@azure/msal-browser';\nimport { tapResponse } from '@ngrx/operators';\nimport { patchState, signalStore, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { AuthorizationService } from 'oneorm-api-http-client';\nimport { pipe } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\n\nimport { TUser, UserRole } from '@shared/models';\nimport { GraphService } from '@shared/services';\nimport { isEmpty, isNil } from '@shared/utils';\n\nconst DEFAULT_USER: TUser = {\n user_id: '',\n user_status: '',\n userRole: [],\n user_name: '',\n user_email_address: '',\n userPhoto: undefined,\n};\n\nexport const UserStore = signalStore(\n { providedIn: 'root' },\n withState(DEFAULT_USER),\n withMethods(\n (\n store,\n authorizationService = inject(AuthorizationService),\n msalService = inject(MsalService),\n msalBroadcastService = inject(MsalBroadcastService),\n graphService = inject(GraphService)\n ) => ({\n getUserInfo: rxMethod(\n pipe(\n switchMap(() => msalBroadcastService.inProgress$.pipe(filter((status: InteractionStatus) => status === InteractionStatus.None))),\n switchMap(() => {\n const accounts = msalService.instance.getAllAccounts();\n\n if (isEmpty(accounts)) {\n throw new Error('No accounts found!');\n }\n\n const userAccount = accounts[0];\n\n if (isNil(userAccount)) {\n throw new Error('No user account found');\n }\n\n const { onpremsam, preferred_username, name } = userAccount.idTokenClaims;\n const user: TUser = {\n user_id: onpremsam as string,\n user_email_address: preferred_username,\n user_name: name,\n };\n\n patchState(store, user);\n return graphService.getLoggedUserPhoto();\n }),\n tapResponse({\n next: userPhoto => patchState(store, { userPhoto }),\n error: console.error,\n })\n )\n ),\n getUserRoles: rxMethod(\n pipe(\n switchMap(() =>\n authorizationService.getRolesForUser().pipe(\n map(({ data }) => data as UserRole[]),\n tapResponse({\n next: roles => patchState(store, { userRole: roles }),\n error: console.error,\n })\n )\n )\n )\n ),\n })\n ),\n withHooks({\n onInit({ getUserRoles, getUserInfo }) {\n getUserRoles();\n getUserInfo();\n },\n })\n);\n","import { LayoutModule } from '@angular/cdk/layout';\nimport { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\nimport { CommonModule } from '@angular/common';\nimport { inject, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MAT_CHECKBOX_DEFAULT_OPTIONS, MatCheckboxDefaultOptions } from '@angular/material/checkbox';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS, MatSnackBarConfig, MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { RightSidenavStore } from '@core/right-sidenav/right-sidenav.store';\nimport { IconService } from '@shared/services/icon.service';\n\nimport { UserGuideComponent, VersionComponent } from '@shared/components';\nimport { SkeletonLoaderDirective } from '@shared/directives';\nimport { IsFalsePipe, IsNotEmptyPipe } from '@shared/pipe';\nimport { PopoverService, ToastService } from '@shared/services';\n\nimport { BreadcrumbComponent } from './top-navbar/breadcrumb/breadcrumb.component';\nimport { ManageMenuComponent } from './top-navbar/manage-menu/manage-menu.component';\nimport { TopNavbarComponent } from './top-navbar/top-navbar.component';\n\n@NgModule({\n declarations: [TopNavbarComponent, ManageMenuComponent, BreadcrumbComponent],\n imports: [\n CommonModule,\n RouterModule,\n UserGuideComponent,\n LayoutModule,\n IsFalsePipe,\n SkeletonLoaderDirective,\n MatCardModule,\n MatIconModule,\n MatTooltipModule,\n MatMenuModule,\n MatButtonModule,\n MatDividerModule,\n MatToolbarModule,\n MatSnackBarModule,\n IsNotEmptyPipe,\n VersionComponent,\n ],\n exports: [TopNavbarComponent, BreadcrumbComponent, ManageMenuComponent],\n providers: [\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'fill',\n floatLabel: 'always',\n } as MatFormFieldDefaultOptions,\n },\n {\n provide: MAT_CHECKBOX_DEFAULT_OPTIONS,\n useValue: {\n color: 'primary',\n } as MatCheckboxDefaultOptions,\n },\n {\n provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,\n useValue: {\n duration: 5000,\n } as MatSnackBarConfig,\n },\n {\n provide: STEPPER_GLOBAL_OPTIONS,\n useValue: { showError: true },\n },\n {\n provide: MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,\n useValue: {\n hideSingleSelectionIndicator: true,\n },\n },\n IconService,\n PopoverService,\n ToastService,\n RightSidenavStore,\n ],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error('CoreModule is already loaded. Import it in the AppModule only.');\n }\n\n inject(IconService).registerCustomIcons();\n }\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { MatDrawerMode } from '@angular/material/sidenav';\nimport { BehaviorSubject, distinctUntilChanged, Observable, shareReplay, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DrawerService implements OnDestroy {\n readonly opened$: Observable;\n readonly mode$: Observable;\n\n private readonly _opened$ = new BehaviorSubject(false);\n private readonly _mode$ = new BehaviorSubject('side');\n private readonly destroy$ = new Subject();\n private readonly sidenavMargin = 300;\n private readonly xLargeMaterialBreakpoint = 1920;\n\n constructor(private readonly breakpointObserver: BreakpointObserver) {\n this.opened$ = this._opened$.asObservable().pipe(shareReplay(1));\n this.mode$ = this._mode$.asObservable().pipe(shareReplay(1));\n this.breakpointObserver\n .observe([\n Breakpoints.Small,\n Breakpoints.XSmall,\n `(min-width: ${this.sidenavMargin * 2 + this.xLargeMaterialBreakpoint}px)`,\n Breakpoints.TabletLandscape,\n ])\n .pipe(distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe(({ matches }) => this._mode$.next(this.getDrawerMode(matches)));\n }\n\n setOpen(opened: boolean): void {\n this._opened$.next(opened);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getDrawerMode(matchBreakpoint: boolean): MatDrawerMode {\n return matchBreakpoint ? 'over' : 'side';\n }\n}\n","export * from './drawer.service';\n","import { Component, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterLink } from '@angular/router';\n\nexport interface ErrorData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'app-error-page',\n standalone: true,\n imports: [MatCardModule, MatIconModule, MatButtonModule, RouterLink],\n template: `\n \n \n error_outline\n {{ errorTitle }}\n \n \n

{{ errorMessage }}

\n
\n \n \n \n
\n `,\n styles: [\n `\n .error-card {\n max-width: 400px;\n margin: 100px auto;\n text-align: center;\n }\n `,\n ],\n})\nexport class ErrorPageComponent implements OnInit {\n errorTitle: string = 'Error Occurred';\n errorMessage: string = 'An unexpected error occurred.';\n\n ngOnInit(): void {\n const errorState = history.state.error as ErrorData | undefined;\n\n if (errorState?.title) {\n this.errorTitle = errorState.title;\n }\n if (errorState?.message) {\n this.errorMessage = errorState.message;\n }\n }\n}\n","export const supportMassage = {\n opEventSupport: '&subject=Op Event Support&content=Please help me with the process of a new risk case',\n helpMe: '=Please help me with this case: ',\n opEventSupportMessage: '&topicName=Op Event Support&message=Please help me with the process of a new risk case',\n linkAttendees: 'msteams:/l/meeting/new?attendees=',\n linkUser: 'msteams:/l/chat/0/0?users=',\n};\n","import { AsyncPipe, NgFor, NgIf, NgStyle } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DrawerService } from '@core/drawer/drawer.service';\nimport { RightSidenavStore } from '@core/right-sidenav/right-sidenav.store';\nimport { LetDirective } from '@ngrx/component';\nimport { combineLatest, distinctUntilChanged } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { UserStore } from '@core/authorization';\nimport { SkeletonLoaderDirective } from '@shared/directives';\nimport { IsFalsePipe } from '@shared/pipe';\nimport { isNotEmpty } from '@shared/utils';\n\nimport { supportMassage } from './right-bar-constant';\n\nexport enum Status {\n Available = 'Available',\n AvailableIdle = 'AvailableIdle',\n Away = 'Away',\n BeRightBack = 'BeRightBack',\n Busy = 'Busy',\n BusyIdle = 'BusyIdle',\n DoNotDisturb = 'DoNotDisturb',\n Offline = 'Offline',\n PresenceUnknown = 'PresenceUnknown',\n}\n\n@Component({\n selector: 'app-right-sidenav',\n templateUrl: './right-sidenav.component.html',\n styleUrls: ['./right-sidenav.component.scss'],\n standalone: true,\n imports: [\n MatIconModule,\n MatTooltipModule,\n MatCardModule,\n NgIf,\n SkeletonLoaderDirective,\n NgFor,\n NgStyle,\n MatDividerModule,\n AsyncPipe,\n LetDirective,\n IsFalsePipe,\n ],\n})\nexport class RightSidenavComponent {\n numberOfItems = 3;\n numberOfItemsL = 3;\n\n readonly governanceCoordinators$ = this.store.governanceCoordinators$.pipe(filter(isNotEmpty));\n readonly complianceContacts$ = this.store.complianceContacts$.pipe(filter(isNotEmpty));\n readonly riskManagers$ = this.store.riskManagers$.pipe(filter(isNotEmpty));\n readonly noContactsAvailable$ = combineLatest([\n this.store.governanceCoordinators$,\n this.store.complianceContacts$,\n this.store.riskManagers$,\n this.store.loading$,\n ]).pipe(\n map(\n ([governanceCoordinators, complianceContacts, riskManagers, loading]) =>\n governanceCoordinators.length === 0 && complianceContacts.length === 0 && riskManagers.length === 0 && !loading\n ),\n distinctUntilChanged()\n );\n readonly loadingContacts$ = this.store.loading$;\n\n private readonly userStore = inject(UserStore);\n\n constructor(\n private readonly drawerService: DrawerService,\n private readonly store: RightSidenavStore\n ) {}\n\n sendChatMessage(messageTo: string): void {\n let link = `${supportMassage.linkUser}${this.userStore.user_email_address()},${messageTo}`;\n link = `${link}${supportMassage.opEventSupportMessage}`;\n location.href = link;\n }\n\n scheduleMeeting(meetTo: string): void {\n let link = `${supportMassage.linkAttendees}${meetTo}`;\n link = `${link}${supportMassage.opEventSupport}`;\n location.href = link;\n }\n\n sendEmail(to: string, name: string): void {\n let subject = '';\n let body = 'Hello ' + name + ',%0D%0A%0D%0A I need your support on risk case reporting process... ';\n subject = 'Support request on a generic risk case';\n body = body + '%0D%0A%0D%0A%0D%0A Kind Regards,%0D%0A%0D%0A' + this.userStore.user_name();\n window.location.href = 'mailto:' + to + '?subject=' + subject + '&body=' + body;\n }\n\n getColor(status: Status): {\n position: string;\n bottom: string;\n right: string;\n 'font-size': string;\n color: string;\n border: string;\n 'border-radius': string;\n 'background-color': string;\n } {\n let color;\n switch (status) {\n case Status.Available:\n color = '#32a852';\n break;\n case Status.Away:\n color = '#fcba03';\n break;\n case Status.BeRightBack:\n color = '#fcba03';\n break;\n case Status.Busy:\n color = '#eb4034';\n break;\n case Status.DoNotDisturb:\n color = '#eb4034';\n break;\n case Status.Offline:\n color = 'grey';\n break;\n default:\n color = 'grey';\n break;\n }\n return {\n position: 'absolute',\n bottom: '0px',\n right: '5px',\n 'font-size': '17px',\n color,\n border: '2px solid #ffffff',\n 'border-radius': '50%',\n 'background-color': '#ffffff',\n };\n }\n\n getPresenceIcon(status: Status): 'check_circle' | 'watch_later' | 'lens' | 'remove_circle' | 'cancel' {\n switch (status) {\n case Status.Available:\n return 'check_circle';\n case Status.Away:\n return 'watch_later';\n case Status.BeRightBack:\n return 'watch_later';\n case Status.Busy:\n return 'lens';\n case Status.DoNotDisturb:\n return 'remove_circle';\n case Status.Offline:\n break;\n default: //Status.PresenceUnknown\n return 'cancel';\n }\n\n return 'cancel';\n }\n\n closeBar(): void {\n this.drawerService.setOpen(false);\n }\n}\n","
\n \n \n Do you need support?\n close \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n Your Governance Contact\n
\n
\n
\n \n show more...\n
\n
\n
\n \"Support\"\n {{\n getPresenceIcon(item.presence)\n }}\n
\n
\n
\n {{ item.displayName }}\n
\n
\n \n
\n
\n email \n \n question_answer\n \n \n calendar_today\n \n
\n
\n
\n 3 && i === governanceCoordinators.length - 1 && numberOfItems > 3\"\n (click)=\"numberOfItems = 3\"\n >\n show less...\n
\n
\n \n
\n
\n
Your ORM Contact
\n
\n
\n \n show more...\n
\n
\n
\n \"Risk\n {{\n getPresenceIcon(item.presence)\n }}\n
\n
\n
\n {{ item.displayName }}\n
\n
\n \n
\n
\n email \n \n question_answer\n \n \n calendar_today\n \n
\n
\n
\n 3 && i === riskManagers.length - 1 && numberOfItemsL > 3\"\n (click)=\"numberOfItemsL = 3\"\n >\n show less...\n
\n \n \n \n
\n
\n
\n Your Compliance Contact\n
\n
\n
\n
\n
\n \"Compliance\"\n {{\n getPresenceIcon(item.presence)\n }}\n
\n
\n
\n {{ item.displayName }}\n
\n
\n \n
\n
\n email \n \n question_answer\n \n \n calendar_today\n \n
\n
\n
\n
\n
\n
\n
\n
No support contacts available
\n
\n
\n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { ComplianceService, GovernanceCoordinator, GovernanceCoordinatorsService, RCSA, UserService } from 'oneorm-api-http-client';\nimport { distinctUntilChanged, forkJoin, Observable, shareReplay, switchMap } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\nimport { GraphUser } from '@shared/models';\nimport { GraphService } from '@shared/services';\nimport { isEmpty, isEqual, isNotEmpty, isNotNil, uniqBy } from '@shared/utils';\n\ninterface RightSidenavState {\n governanceCoordinators: GraphUser[];\n riskManagers: GraphUser[];\n complianceContacts: GraphUser[];\n rcsas: RCSA[];\n loading: boolean;\n}\n\n@Injectable()\nexport class RightSidenavStore extends ComponentStore {\n readonly governanceCoordinators$ = this.select(state => state.governanceCoordinators);\n readonly complianceContacts$ = this.select(state => state.complianceContacts);\n readonly riskManagers$ = this.select(state => state.riskManagers);\n readonly loading$ = this.select(state => state.loading).pipe(distinctUntilChanged());\n\n private readonly governanceContactType = 'Governance Contact';\n private readonly emptyDivision = 'empty';\n\n private readonly rcsas$ = this.select(state => state.rcsas).pipe(\n tap(rcsas => {\n if (isEmpty(rcsas)) {\n this.patchState({ loading: false });\n }\n }),\n filter(isNotEmpty),\n distinctUntilChanged((x, y) => isEqual(x, y)),\n tap(() => this.resetState()),\n shareReplay(1)\n );\n\n private readonly getGovernanceCoordinatorsOnRcsaChange = this.effect(() =>\n this.rcsas$.pipe(\n tap(rcas => {\n this.getGovernanceCoordinators(rcas);\n this.getComplianceContacts(rcas);\n this.getRiskManagers(rcas);\n })\n )\n );\n\n private readonly getGovernanceCoordinators = this.effect((trigger$: Observable) =>\n trigger$.pipe(\n map(rcsas => rcsas.filter(rcsa => isNotNil(rcsa.risk_assessment_id))),\n switchMap(rcsas => this.getGovernanceCoordinatorsGraphUsers(rcsas))\n )\n );\n\n private readonly getComplianceContacts = this.effect((trigger$: Observable) =>\n trigger$.pipe(\n map(rcsas => rcsas.filter(rcsa => isNotNil(rcsa.risk_assessment_id))),\n switchMap(rcsas => this.getComplianceContactsGraphInfo(rcsas))\n )\n );\n\n private readonly getRiskManagers = this.effect((trigger$: Observable) =>\n trigger$.pipe(switchMap(rcsas => this.getRiskManagersGraphInfo(rcsas)))\n );\n\n constructor(\n private readonly governanceCoordinatorsService: GovernanceCoordinatorsService,\n private readonly complianceService: ComplianceService,\n private readonly usersService: UserService,\n private readonly graphService: GraphService\n ) {\n super({\n governanceCoordinators: [],\n rcsas: [],\n complianceContacts: [],\n riskManagers: [],\n loading: true,\n });\n }\n\n private resetState(): void {\n this.patchState({\n governanceCoordinators: [],\n complianceContacts: [],\n riskManagers: [],\n loading: true,\n });\n }\n\n private getGovernanceCoordinatorsGraphUsers(rcsas: RCSA[]): Observable {\n return forkJoin(rcsas.map(rcsa => this.governanceCoordinatorsService.getGovernanceCoordinators(rcsa.risk_assessment_id))).pipe(\n map(contactsResponse => contactsResponse.flatMap(contactResponse => contactResponse.data)),\n map(contacts => contacts.filter(contact => this.isGovernanceContact(contact))),\n filter(isNotEmpty),\n map(contacts => uniqBy(contacts, 'contact_id')),\n switchMap(contacts => this.graphService.getGraphUsers(contacts.map(governanceCoordinator => governanceCoordinator.contact_email))),\n tap(governanceCoordinators => this.patchState({ governanceCoordinators, loading: false }))\n );\n }\n\n private getComplianceContactsGraphInfo(rcsas: RCSA[]): Observable {\n return forkJoin(\n rcsas\n .filter(rcsa => isNotNil(rcsa.global_function))\n .map(rcsa => this.complianceService.getComplianceList(rcsa.global_function, rcsa.division ?? this.emptyDivision))\n ).pipe(\n map(contactsResponse => contactsResponse.flatMap(contactResponse => contactResponse.data)),\n filter(isNotEmpty),\n map(complianceContacts => uniqBy(complianceContacts, 'compliance_contact.user_id')),\n map(complianceContacts => complianceContacts.map(complianceContact => complianceContact.compliance_contact)),\n switchMap(complianceContacts => this.graphService.getGraphUsers(complianceContacts.map(contact => contact.user_email_address))),\n tap(complianceContacts => this.patchState({ complianceContacts, loading: false }))\n );\n }\n\n private getRiskManagersGraphInfo(rcsas: RCSA[]): Observable {\n return forkJoin(\n rcsas.filter(rcsa => isNotNil(rcsa.risk_manager_id)).map(rcsa => this.usersService.getUserById(rcsa.risk_manager_id))\n ).pipe(\n filter(isNotEmpty),\n map(riskManagers => uniqBy(riskManagers, 'user_id')),\n switchMap(riskManagers => this.graphService.getGraphUsers(riskManagers.map(riskManager => riskManager.user_email_address))),\n tap(riskManagers => this.patchState({ riskManagers, loading: false }))\n );\n }\n\n private isGovernanceContact(governanceCoordinator: GovernanceCoordinator): boolean {\n return governanceCoordinator.contact_type === this.governanceContactType;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router, ActivationEnd } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SubscriptionVariablesService } from '@shared/services';\nimport { uniqBy, isNotNil, isNil } from '@shared/utils';\n\nexport type BreadcrumbKey =\n | 'home'\n | 'standardDetail'\n | 'rcsaDetail'\n | 'standards'\n | 'rcsa'\n | 'eventIssue'\n | 'events'\n | 'controls'\n | 'risks'\n | 'issues'\n | 'homeEvents'\n | 'homeIssues'\n | 'homeMyTodos'\n | 'homeRcsas'\n | 'homeControls'\n | 'homeStandards';\n\nexport interface Breadcrumb {\n label: string;\n key: BreadcrumbKey;\n url?: string;\n}\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n})\nexport class BreadcrumbComponent implements OnInit {\n subscription: Subscription = new Subscription();\n breadcrumbs: Breadcrumb[];\n\n constructor(\n private readonly subscriptionVariablesService: SubscriptionVariablesService,\n private readonly router: Router,\n private readonly route: ActivatedRoute\n ) {\n const breadcrumb: Breadcrumb = {\n label: 'Home',\n url: '',\n key: 'home',\n };\n this.router.events.pipe(filter(event => event instanceof ActivationEnd)).subscribe(() => {\n // set breadcrumbs\n const root: ActivatedRoute = this.route.root;\n this.breadcrumbs = this.getBreadcrumbs(root);\n this.breadcrumbs = uniqBy([breadcrumb, ...this.breadcrumbs], 'label');\n if (this.subscriptionVariablesService.breadcrumbValues) {\n this.updateBreadcrumbs(this.subscriptionVariablesService.breadcrumbValues);\n }\n });\n }\n\n ngOnInit(): void {\n this.subscription.add(this.subscriptionVariablesService.changeBreadcrumb.subscribe(breadcrumbs => this.updateBreadcrumbs(breadcrumbs)));\n }\n\n goOut(breadcrumb: Breadcrumb): void {\n if (breadcrumb.key === 'rcsa') {\n this.router.navigate(['/rcsas']);\n return;\n }\n\n if (breadcrumb.key === 'home') {\n this.router.navigate(['/']);\n return;\n }\n\n if (breadcrumb.key === 'standards') {\n this.router.navigate(['/standards']);\n return;\n }\n\n this.router.navigateByUrl(breadcrumb.url);\n }\n\n updateBreadcrumbs(breadcrumb: Breadcrumb): void {\n if (isNil(this.breadcrumbs)) {\n return;\n }\n let obj = this.breadcrumbs.find(o => o.key === breadcrumb.key);\n if (isNotNil(obj)) {\n obj.label = breadcrumb.label;\n }\n }\n\n private getBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: Breadcrumb[] = []): Breadcrumb[] {\n const ROUTE_DATA_BREADCRUMB = 'breadcrumb';\n // get the child routes\n const children: ActivatedRoute[] = route.children;\n // return if there are no more children\n if (children.length === 0) {\n return breadcrumbs;\n }\n // iterate over each children\n for (const child of children) {\n // verify the custom data property \"breadcrumb\" is specified on the route\n if (!child.snapshot.data.hasOwnProperty(ROUTE_DATA_BREADCRUMB)) {\n return this.getBreadcrumbs(child, url, breadcrumbs);\n }\n // get the route's URL segment\n const routeURL: string = child.snapshot.url.map(segment => segment.path).join('/');\n const newBreadcrumb = child.snapshot.data[ROUTE_DATA_BREADCRUMB] as Breadcrumb;\n // append route URL to URL\n url += `/${routeURL}`;\n // add breadcrumb\n const breadcrumb: Breadcrumb = {\n label: newBreadcrumb.label,\n url,\n key: newBreadcrumb.key,\n };\n breadcrumbs.push(breadcrumb);\n // recursive\n return this.getBreadcrumbs(child, url, breadcrumbs);\n }\n return breadcrumbs;\n }\n}\n","
\n home \n
\n 0 && breadcrumbs.length > 1\"\n >\n chevron_right\n \n \n {{ breadcrumb.label }}\n \n
\n
\n","import { Component } from '@angular/core';\n\nimport { environment } from '../../../../environments/environment';\n\n@Component({\n selector: 'app-manage-menu',\n templateUrl: './manage-menu.component.html',\n styleUrls: ['./manage-menu.component.scss'],\n})\nexport class ManageMenuComponent {\n requestControlChange = environment.requestControlChange;\n environmentVariables = environment;\n\n goOutsideApp(url: string): void {\n window.open(url, '_blank');\n }\n\n newCase(): void {\n const url = environment.oneOrmUrl + '#/new-risk/mandate';\n window.open(url, '_self');\n }\n\n onFaqLinkClick(): void {\n window.open(environment.faqUrl, '_blank');\n }\n}\n","\n\n\n \n\n\n\n\n \n\n\n
\n \n
\n","import { Component, inject, Signal } from '@angular/core';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { DrawerService } from '@core/drawer/drawer.service';\n\nimport { UserStore } from '@core/authorization';\n\nimport { environment } from '../../../environments/environment';\n\n@Component({\n selector: 'app-top-navbar',\n templateUrl: './top-navbar.component.html',\n styleUrls: ['./top-navbar.component.scss'],\n})\nexport class TopNavbarComponent {\n environmentType = environment.envType;\n call = true;\n drawerOpened$ = this.drawerService.opened$;\n readonly userPhoto: Signal = inject(UserStore).userPhoto;\n\n constructor(\n private readonly router: Router,\n private readonly drawerService: DrawerService\n ) {}\n\n onClick(): void {\n this.router.navigate(['/']);\n }\n\n openDrawer(): void {\n this.drawerService.setOpen(true);\n }\n\n closeDrawer(): void {\n this.drawerService.setOpen(false);\n }\n}\n","\n
\n
\n \"SwissRe\n \"OneORM\n
\n @if (environmentType | isNotEmpty) {\n ({{ environmentType }})\n \n }\n
\n \n
\n
\n \n \n \n \"Profile\n
\n
\n
\n","import { Breadcrumb } from '@core/top-navbar';\nimport { RiskCaseType } from '@shared/models';\n\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport { HomeTabType } from '../model/home-config.model';\nimport { UserSettingsEvent } from '../model/user-settings-event.enum';\n\nexport enum StatusId {\n EVENT_DRAFT = 6,\n EVENT_DRAFT_PENDING_REVIEW = 7,\n EVENT_PRE_DRAFT = 37,\n EVENT_OPEN = 8,\n EVENT_CLOSED = 10,\n EVENT_CANCELLED = 11,\n ISSUE_DRAFT = 23,\n ISSUE_DRAFT_PENDING_REVIEW = 24,\n ISSUE_PRE_DRAFT = 38,\n ISSUE_OPEN = 25,\n ISSUE_CLOSED = 30,\n ISSUE_CANCELLED = 36,\n}\n\nexport type HomeLabel = 'Events' | 'Issues' | 'My To-Dos' | 'RCSAs' | 'Controls' | 'Standards';\n\nexport const RCSA_TAB_PARAM_MARK = 'rcsaTab';\n\nexport const caseFilterTypeToUserSettingsEvent: Record> = {\n [CaseFilterType.MY]: {\n events: UserSettingsEvent.MY_CASES_EVENT,\n issues: UserSettingsEvent.MY_CASES_ISSUE,\n rcsas: UserSettingsEvent.RCSAS,\n todos: UserSettingsEvent.MY_TODOS,\n controls: UserSettingsEvent.MY_CONTROLS,\n standards: UserSettingsEvent.MY_STANDARDS,\n },\n [CaseFilterType.ALL]: {\n events: UserSettingsEvent.ALL_CASES_EVENT,\n issues: UserSettingsEvent.ALL_CASES_ISSUE,\n rcsas: UserSettingsEvent.RCSAS,\n todos: UserSettingsEvent.MY_TODOS,\n controls: UserSettingsEvent.ALL_CONTROLS,\n standards: UserSettingsEvent.ALL_STANDARDS,\n },\n};\n\nexport enum HomePath {\n todos = 'todos',\n events = 'events',\n issues = 'issues',\n rcsas = 'rcsas',\n controls = 'controls',\n standards = 'standards',\n}\n\nexport const homeTabTypeToFilterHeader: Record = {\n todos: '',\n rcsas: `RCSA filter`,\n events: 'Event filter',\n issues: 'Issue filter',\n controls: 'Control filter',\n standards: 'Standard filter',\n};\n\nexport const homeTabTypeToRiskCaseType: Partial> = {\n issues: 'Issue',\n events: 'Event',\n controls: undefined,\n standards: undefined,\n};\n\nexport const homeTabTypeToLabel: Record = {\n events: 'Events',\n issues: 'Issues',\n todos: `My To-Dos`,\n rcsas: `RCSAs`,\n controls: 'Controls',\n standards: 'Standards',\n};\n\nexport const homePathToLabel: Record = {\n [HomePath.events]: { label: 'Events', key: 'homeEvents' },\n [HomePath.issues]: { label: 'Issues', key: 'homeIssues' },\n [HomePath.todos]: { label: 'My To-Dos', key: 'homeMyTodos' },\n [HomePath.rcsas]: { label: 'RCSAs', key: 'homeRcsas' },\n [HomePath.controls]: { label: 'Controls', key: 'controls' },\n [HomePath.standards]: { label: 'Standards', key: 'homeStandards' },\n};\n","import { RcsaControlAssessmentViewFE } from '@shared/services/controls.service';\nimport { RiskAssessment, Standard } from 'oneorm-api-http-client';\n\nimport { MyTodo, RiskCaseViewFE } from '@shared/models';\n\nimport { DefaultUserSettingsColumnsDef } from './column-definitions';\nimport { UserSettingsEvent } from '../model/user-settings-event.enum';\n\nexport const disabledColumnFields: Partial> = {\n [UserSettingsEvent.MY_CASES_EVENT]: ['loss', 'accounting_adjustments', 'operational_gains', 'target_due_date'],\n [UserSettingsEvent.ALL_CASES_EVENT]: ['loss', 'accounting_adjustments', 'operational_gains', 'target_due_date'],\n};\n\nexport const defaultIssuesColumns: DefaultUserSettingsColumnsDef = [\n { field: 'rc_source_name', filter: '', mode: '', isVisible: true, index: 0, selectIndex: 0 },\n { field: 'title', filter: '', mode: '', isVisible: true, index: 1, selectIndex: 1 },\n { field: 'status', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2 },\n { field: 'days_until_deadline', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'creation_date', filter: '', mode: '', isVisible: false, index: 4, selectIndex: 4 },\n { field: 'submission_date', filter: '', mode: '', isVisible: true, index: 5, selectIndex: 5 },\n { field: 'target_due_date', filter: '', mode: '', isVisible: true, index: 6, selectIndex: 6 },\n { field: 'closure_date', filter: '', mode: '', isVisible: false, index: 7, selectIndex: 7 },\n { field: 'cancellation_date', filter: '', mode: '', isVisible: false, index: 8, selectIndex: 8 },\n { field: 'creator', filter: '', mode: '', isVisible: false, index: 9, selectIndex: 9, subfield: 'user_name' },\n { field: 'owner', filter: '', mode: '', isVisible: true, index: 10, selectIndex: 10, subfield: 'user_name' },\n { field: 'delegate', filter: '', mode: '', isVisible: false, index: 11, selectIndex: 11, subfield: 'user_name' },\n {\n field: 'risk_manager',\n filter: '',\n mode: '',\n isVisible: false,\n index: 12,\n selectIndex: 12,\n subfield: 'user_name',\n },\n { field: 'rcsa_owner', filter: '', mode: '', isVisible: false, index: 13, selectIndex: 13, subfield: 'user_name' },\n { field: 'bu_gf', filter: '', mode: '', isVisible: false, index: 14, selectIndex: 14 },\n { field: 'identifyingLod', filter: '', mode: '', isVisible: false, index: 15, selectIndex: 15 },\n { field: 'source', filter: '', mode: '', isVisible: false, index: 16, selectIndex: 16 },\n { field: 'impactRating', filter: '', mode: '', isVisible: false, index: 17, selectIndex: 17 },\n];\n\nexport const defaultEventsColumns: DefaultUserSettingsColumnsDef = [\n { field: 'rc_source_name', filter: '', mode: '', isVisible: true, index: 0, selectIndex: 0 },\n { field: 'title', filter: '', mode: '', isVisible: true, index: 1, selectIndex: 1 },\n { field: 'status', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2 },\n { field: 'days_until_deadline', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'creation_date', filter: '', mode: '', isVisible: false, index: 4, selectIndex: 4 },\n { field: 'submission_date', filter: '', mode: '', isVisible: true, index: 5, selectIndex: 5 },\n { field: 'closure_date', filter: '', mode: '', isVisible: false, index: 6, selectIndex: 6 },\n { field: 'cancellation_date', filter: '', mode: '', isVisible: false, index: 7, selectIndex: 7 },\n { field: 'creator', filter: '', mode: '', isVisible: false, index: 8, selectIndex: 8, subfield: 'user_name' },\n { field: 'owner', filter: '', mode: '', isVisible: true, index: 9, selectIndex: 9, subfield: 'user_name' },\n { field: 'delegate', filter: '', mode: '', isVisible: false, index: 10, selectIndex: 10, subfield: 'user_name' },\n {\n field: 'risk_manager',\n filter: '',\n mode: '',\n isVisible: false,\n index: 11,\n selectIndex: 11,\n subfield: 'user_name',\n },\n {\n field: 'rcsa_owner',\n filter: '',\n mode: '',\n isVisible: false,\n index: 12,\n selectIndex: 12,\n subfield: 'user_name',\n },\n { field: 'bu_gf', filter: '', mode: '', isVisible: false, index: 13, selectIndex: 13 },\n];\n\nexport const defaultRcsaColumns: DefaultUserSettingsColumnsDef = [\n { field: 'name', filter: '', mode: '', isVisible: true, index: 0, selectIndex: 0 },\n { field: 'description', filter: '', mode: '', isVisible: true, index: 1, selectIndex: 1 },\n { field: 'sign_off_date', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2 },\n { field: 'rcsa_owner', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'risk_manager', filter: '', mode: '', isVisible: true, index: 4, selectIndex: 4 },\n { field: 'global_function', filter: '', mode: '', isVisible: true, index: 5, selectIndex: 5 },\n { field: 'status', filter: '', mode: '', isVisible: false, index: 6, selectIndex: 6 },\n { field: 'type', filter: '', mode: '', isVisible: false, index: 7, selectIndex: 7 },\n { field: 'folder', filter: '', mode: '', isVisible: false, index: 8, selectIndex: 8 },\n];\n\nexport const defaultMyTodoColumns: DefaultUserSettingsColumnsDef = [\n { field: 'rc_source_name', filter: '', mode: '', isVisible: false, index: 0, selectIndex: 0 },\n { field: 'rc_title', filter: '', mode: '', isVisible: false, index: 1, selectIndex: 1 },\n { field: 'action', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2, subfield: 'user_name' },\n { field: 'deadline', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'ownership', filter: '', mode: '', isVisible: true, index: 4, selectIndex: 4, subfield: 'user_name' },\n { field: 'class_name', filter: '', mode: '', isVisible: false, index: 5, selectIndex: 5 },\n { field: 'status_name', filter: '', mode: '', isVisible: false, index: 6, selectIndex: 6 },\n];\n\nexport const defaultControlsColumns: DefaultUserSettingsColumnsDef = [\n { field: 'ctrl_control_name', filter: '', mode: '', isVisible: true, index: 0, selectIndex: 0 },\n { field: 'ctrl_description', filter: '', mode: '', isVisible: true, index: 1, selectIndex: 1 },\n { field: 'ctrl_key', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2 },\n { field: 'assessors', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'rating_name', filter: '', mode: '', isVisible: true, index: 4, selectIndex: 4 },\n { field: 'ca_assessment_comment', filter: '', mode: '', isVisible: false, index: 5, selectIndex: 5 },\n { field: 'ca_modified', filter: '', mode: '', isVisible: true, index: 6, selectIndex: 6 },\n { field: 'sign_off_due_date', filter: '', mode: '', isVisible: true, index: 7, selectIndex: 7 },\n { field: 'sign_off_in_period', filter: '', mode: '', isVisible: false, index: 8, selectIndex: 8 },\n { field: 'ra_name', filter: '', mode: '', isVisible: false, index: 9, selectIndex: 9 },\n { field: 'folder', filter: '', mode: '', isVisible: false, index: 10, selectIndex: 10 },\n { field: 'ra_global_function', filter: '', mode: '', isVisible: true, index: 11, selectIndex: 11 },\n { field: 'ctrl_open_cases', filter: '', mode: '', isVisible: false, index: 12, selectIndex: 12 },\n];\n\nexport const defaultStandardsColumns: DefaultUserSettingsColumnsDef = [\n { field: 'doc_reference_id', filter: '', mode: '', isVisible: true, index: 0, selectIndex: 0 },\n { field: 'name', filter: '', mode: '', isVisible: true, index: 1, selectIndex: 1 },\n { field: 'owner', filter: '', mode: '', isVisible: true, index: 2, selectIndex: 2 },\n { field: 'document_type', filter: '', mode: '', isVisible: true, index: 3, selectIndex: 3 },\n { field: 'topic', filter: '', mode: '', isVisible: true, index: 4, selectIndex: 4 },\n { field: 'status', filter: '', mode: '', isVisible: false, index: 5, selectIndex: 5 },\n { field: 'modified', filter: '', mode: '', isVisible: true, index: 6, selectIndex: 6 },\n { field: 'source_url', filter: '', mode: '', isVisible: true, index: 7, selectIndex: 7 },\n];\n\ntype DefaultColumnType =\n | typeof defaultRcsaColumns\n | typeof defaultIssuesColumns\n | typeof defaultEventsColumns\n | typeof defaultMyTodoColumns\n | typeof defaultControlsColumns\n | typeof defaultStandardsColumns;\n\nexport const userSettingsTypeToDefaultColumns: Record = {\n [UserSettingsEvent.ALL_CASES_EVENT]: defaultEventsColumns,\n [UserSettingsEvent.MY_CASES_EVENT]: defaultEventsColumns,\n [UserSettingsEvent.ALL_CASES_ISSUE]: defaultIssuesColumns,\n [UserSettingsEvent.MY_CASES_ISSUE]: defaultIssuesColumns,\n [UserSettingsEvent.MY_TODOS]: defaultMyTodoColumns,\n [UserSettingsEvent.RCSAS]: defaultRcsaColumns,\n [UserSettingsEvent.MY_CONTROLS]: defaultControlsColumns,\n [UserSettingsEvent.ALL_CONTROLS]: defaultControlsColumns,\n [UserSettingsEvent.MY_STANDARDS]: defaultStandardsColumns,\n [UserSettingsEvent.ALL_STANDARDS]: defaultStandardsColumns,\n};\n","import { RcsaControlAssessmentViewFE } from '@shared/services/controls.service';\nimport { RcsaControlAssessor, RiskAssessment, RiskCaseEnumItem, Standard } from 'oneorm-api-http-client';\nimport { RcsaControlAssessmentView } from 'oneorm-api-http-client/model/rcsaControlAssessmentView';\nimport { User } from 'oneorm-api-http-client/model/user';\n\nimport { FilterDropdownOption, FilterOption, RatingCheckboxFilter, RatingCheckboxFilterValue, RiskCaseViewFE } from '@shared/models';\nimport { isNotNil } from '@shared/utils';\n\nimport { DefaultUserSettingsColumnsDef } from './column-definitions';\nimport { enumItemPredicate, userPredicate, usersPredicate } from './options-predicate.const';\nimport { FilterAdvancedPredicatesModel } from '../../rcsa/filter/filter-advanced-predicates.model';\nimport { FilterAutocompleteDef } from '../../rcsa/filter/filter-autocomplete-def.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\nimport { FilterFullTextSearchDefinitionModel } from '../../rcsa/filter/filter-full-text-search-definition.model';\nimport { KeyControlsCheckboxFilterValue, KeyControlsFilterName } from '../../rcsa/shared.constants';\nimport {\n ControlsAdditionalFiltersCheckboxFilter,\n ControlsAdditionalFiltersCheckboxFilterValue,\n ControlsAutocompleteFilter,\n ControlsKeyCheckboxFilter,\n ControlsKeyCheckboxFilterValue,\n ControlsOpenCasesCheckboxFilter,\n ControlsOpenCasesCheckboxFilterValue,\n ControlsSignedInPeriodCheckboxFilter,\n ControlsSignedInPeriodCheckboxFilterValue,\n} from '../model/controls-filter.model';\nimport { EventsAutocompleteFilter, EventsTypeCheckboxFilter, EventsTypeCheckboxFilterValue } from '../model/events-filter.model';\nimport { HomeTabType } from '../model/home-config.model';\nimport {\n IssuesAutocompleteFilter,\n IssuesIdentifyingLodCheckboxFilter,\n IssuesIdentifyingLodCheckboxFilterValue,\n IssuesImpactRatingCheckboxFilter,\n IssuesImpactRatingCheckboxFilterValue,\n} from '../model/issues-filter.model';\nimport {\n RcsaAutocompleteFilter,\n RcsaCheckboxFilter,\n RcsaStatusCheckboxFilter,\n RcsaStatusCheckboxFilterValue,\n rcsaStatusFilters,\n RcsaTypeCheckboxFilter,\n RcsaTypeCheckboxFilterLabel,\n RcsaTypeCheckboxFilterValue,\n rcsaTypeFilters,\n} from '../model/rcsa-filter.model';\nimport {\n StandardsAutocompleteFilter,\n StandardsCheckboxFilter,\n StandardsStatusCheckboxFilter,\n StandardsStatusCheckboxFilterValue,\n standardsStatusFilters,\n} from '../model/standard-filter.model';\nimport { StatusCheckboxFilter, StatusCheckboxFilterValue } from '../model/status-filter.model';\n\nconst STATUS_PREFIX = 'Status';\n\nexport const CHECKBOX_PARAM_TYPE_TO_PARAM_LABEL: Record<\n | StatusCheckboxFilter\n | IssuesImpactRatingCheckboxFilter\n | IssuesIdentifyingLodCheckboxFilter\n | EventsTypeCheckboxFilter\n | RcsaTypeCheckboxFilter\n | RcsaStatusCheckboxFilter\n | ControlsKeyCheckboxFilter\n | RatingCheckboxFilter\n | ControlsSignedInPeriodCheckboxFilter\n | ControlsOpenCasesCheckboxFilter\n | ControlsAdditionalFiltersCheckboxFilter\n | StandardsStatusCheckboxFilter\n | KeyControlsFilterName,\n string\n> = {\n active: 'Active',\n inactive: 'Inactive',\n leRcsa: 'LE RCSA',\n prsa: 'PRSA',\n rcsa: 'RCSA',\n [EventsTypeCheckboxFilter.loss]: EventsTypeCheckboxFilterValue.loss,\n [EventsTypeCheckboxFilter.incident]: EventsTypeCheckboxFilterValue.incident,\n [IssuesImpactRatingCheckboxFilter.low]: IssuesImpactRatingCheckboxFilterValue.low,\n [IssuesImpactRatingCheckboxFilter.moderate]: IssuesImpactRatingCheckboxFilterValue.moderate,\n [IssuesImpactRatingCheckboxFilter.elevated]: IssuesImpactRatingCheckboxFilterValue.elevated,\n [IssuesImpactRatingCheckboxFilter.high]: IssuesImpactRatingCheckboxFilterValue.high,\n [IssuesIdentifyingLodCheckboxFilter.self]: IssuesIdentifyingLodCheckboxFilterValue.self,\n [IssuesIdentifyingLodCheckboxFilter.secondLine]: IssuesIdentifyingLodCheckboxFilterValue.secondLine,\n [IssuesIdentifyingLodCheckboxFilter.thirdLine]: IssuesIdentifyingLodCheckboxFilterValue.thirdLineLine,\n [StatusCheckboxFilter.open]: StatusCheckboxFilterValue.open,\n [StatusCheckboxFilter.draft]: StatusCheckboxFilterValue.draft,\n [StatusCheckboxFilter.cancelled]: StatusCheckboxFilterValue.cancelled,\n [StatusCheckboxFilter.completed]: StatusCheckboxFilterValue.completed,\n [StatusCheckboxFilter.closed]: StatusCheckboxFilterValue.closed,\n [ControlsKeyCheckboxFilter.key]: ControlsKeyCheckboxFilterValue.key,\n [ControlsKeyCheckboxFilter.nonKey]: ControlsKeyCheckboxFilterValue.nonKey,\n [KeyControlsFilterName.keyControls]: KeyControlsCheckboxFilterValue.keyControls,\n [KeyControlsFilterName.nonKeyControls]: KeyControlsCheckboxFilterValue.nonKeyControls,\n [RatingCheckboxFilter.effective]: RatingCheckboxFilterValue.effective,\n [RatingCheckboxFilter.notEffective]: RatingCheckboxFilterValue.notEffective,\n [RatingCheckboxFilter.notAssessed]: RatingCheckboxFilterValue.notAssessed,\n [RatingCheckboxFilter.notApplicable]: RatingCheckboxFilterValue.notApplicable,\n [ControlsSignedInPeriodCheckboxFilter.signedIn]: ControlsSignedInPeriodCheckboxFilterValue.yes,\n [ControlsSignedInPeriodCheckboxFilter.notSignedIn]: ControlsSignedInPeriodCheckboxFilterValue.no,\n [ControlsOpenCasesCheckboxFilter.openCasesYes]: ControlsOpenCasesCheckboxFilterValue.yes,\n [ControlsOpenCasesCheckboxFilter.openCasesNo]: ControlsOpenCasesCheckboxFilterValue.no,\n [ControlsAdditionalFiltersCheckboxFilter.controlsNotEffectiveWithNoOpenCases]:\n ControlsAdditionalFiltersCheckboxFilterValue.controlsNotEffectiveWithNoOpenCases,\n [ControlsAdditionalFiltersCheckboxFilter.controlsWithMissingOrInactiveControlAssessor]:\n ControlsAdditionalFiltersCheckboxFilterValue.controlsWithMissingOrInactiveControlAssessor,\n};\n\nconst RCSA_LABELS: Record = {\n rcsa_owner: 'Owner',\n risk_manager: 'Risk Manager',\n global_function: 'Global Function',\n governance_coordinators: 'Governance Coordinator',\n};\n\nconst EVENTS_LABELS: Record = {\n creator: 'Creator',\n owner: 'Owner',\n delegate: 'Delegate',\n rcsa_owner: 'RCSA Owner',\n risk_manager: 'Risk Manager',\n governanceCoordinator: 'Governance Coordinator',\n bu_gf: 'Global Function',\n};\n\nconst ISSUES_LABELS: Record = {\n creator: 'Creator',\n owner: 'Owner',\n delegate: 'Delegate',\n rcsa_owner: 'RCSA Owner',\n risk_manager: 'Risk Manager',\n governanceCoordinator: 'Governance Coordinator',\n bu_gf: 'Global Function',\n actionOwner: 'Action Owner',\n actionDelegate: 'Action Delegate',\n};\n\nconst CONTROLS_LABELS: Record = {\n assessor: 'Assessor',\n globalFunction: 'Global Function',\n};\n\nconst STANDARDS_LABELS: Record = {\n owner: 'Owner',\n topic: 'Topic',\n document_type: 'Document Type',\n};\n\nexport const PARAM_TYPE_TO_PARAM_LABEL: Record<\n HomeTabType,\n typeof RCSA_LABELS | typeof EVENTS_LABELS | typeof ISSUES_LABELS | typeof CONTROLS_LABELS | typeof STANDARDS_LABELS | undefined\n> = {\n rcsas: RCSA_LABELS,\n events: EVENTS_LABELS,\n issues: ISSUES_LABELS,\n todos: undefined,\n controls: CONTROLS_LABELS,\n standards: STANDARDS_LABELS,\n} as const;\n\nexport const SERVER_SIDE_DEFAULT_FILTERS: Record<\n 'events' | 'issues' | 'controls',\n { open?: FilterOption; draft?: FilterOption }\n> = {\n issues: {\n draft: {\n id: 23,\n label: 'Draft',\n type: 'checkbox',\n chipLabelPrefix: STATUS_PREFIX,\n groupIndex: 4,\n },\n open: {\n id: 25,\n label: 'Open',\n type: 'checkbox',\n chipLabelPrefix: STATUS_PREFIX,\n groupIndex: 4,\n },\n },\n events: {\n draft: {\n id: 6,\n label: 'Draft',\n type: 'checkbox',\n chipLabelPrefix: STATUS_PREFIX,\n groupIndex: 3,\n },\n open: {\n id: 8,\n label: 'Open',\n type: 'checkbox',\n chipLabelPrefix: STATUS_PREFIX,\n groupIndex: 3,\n },\n },\n controls: {},\n};\n\nexport const RCSAS_DEFAULT_FILTER: FilterOption = {\n label: RcsaStatusCheckboxFilterValue.active,\n chipLabelPrefix: STATUS_PREFIX,\n id: RcsaStatusCheckboxFilterValue.active,\n type: 'checkbox',\n groupIndex: 3,\n};\n\nexport const STANDARDS_DEFAULT_FILTER: FilterOption = {\n label: StandardsStatusCheckboxFilterValue.active,\n chipLabelPrefix: STATUS_PREFIX,\n id: StandardsStatusCheckboxFilterValue.active,\n type: 'checkbox',\n groupIndex: 1,\n};\n\nexport const STATUS_TO_STATUS_IDS: Record<'draft' | 'open' | 'completed' | 'canceled' | 'closed', number[]> = {\n draft: [6, 7, 23, 24, 37, 38],\n open: [8, 25, 28, 29, 9, 27, 31],\n completed: [30, 10],\n canceled: [11, 36],\n closed: [30, 10],\n};\n\nexport type AutocompleteFilterDef = {\n filterDef: FilterAutocompleteDef;\n predicateModel: FilterAdvancedPredicatesModel;\n optionsPredicate?: (val: PREDICATE) => FilterDropdownOption | FilterDropdownOption[];\n};\n\nexport function createAutocompleteFilter(\n values: Extract[],\n label: string,\n predicate: FilterAdvancedPredicatesModel['predicate'],\n options: FilterDropdownOption[] = []\n): AutocompleteFilterDef {\n const filterValues = [...values] as const;\n const fieldToFilter = filterValues[0];\n const autocompleteDef = new FilterAutocompleteDef(fieldToFilter, label, options, 'autocomplete');\n\n const predicateModel = new FilterAdvancedPredicatesModel(\n fieldToFilter,\n fieldToFilter as keyof DATA,\n filterValues,\n predicate\n );\n\n return {\n filterDef: autocompleteDef,\n predicateModel,\n };\n}\n\nexport const rcsaCheckboxFilters: Record = {\n [RcsaCheckboxFilter.type]: new FilterCheckboxGroupModel(\n 'Type',\n [\n {\n filterName: RcsaTypeCheckboxFilter.rcsa,\n label: RcsaTypeCheckboxFilterLabel.rcsa,\n value: '39',\n },\n {\n filterName: RcsaTypeCheckboxFilter.prsa,\n label: RcsaTypeCheckboxFilterLabel.prsa,\n value: '40',\n },\n {\n filterName: RcsaTypeCheckboxFilter.leRcsa,\n label: RcsaTypeCheckboxFilterLabel.leRcsa,\n value: '41',\n },\n ],\n new FilterAdvancedPredicatesModel(\n RcsaCheckboxFilter.type,\n RcsaCheckboxFilter.type,\n rcsaTypeFilters,\n (value, filter) => {\n const filterApplied = isNotNil(filter.rcsa) || isNotNil(filter.prsa) || isNotNil(filter.leRcsa);\n let match = false;\n if (filter.rcsa && value.id.toString() === RcsaTypeCheckboxFilterValue.rcsa) {\n match = true;\n }\n\n if (filter.prsa && value.id.toString() === RcsaTypeCheckboxFilterValue.prsa) {\n match = true;\n }\n\n if (filter.leRcsa && value.id.toString() === RcsaTypeCheckboxFilterValue.leRcsa) {\n match = true;\n }\n return (filterApplied && match) || !filterApplied;\n }\n ),\n 'type'\n ),\n [RcsaCheckboxFilter.status]: new FilterCheckboxGroupModel(\n 'Status',\n [\n {\n filterName: RcsaStatusCheckboxFilter.active,\n label: RcsaStatusCheckboxFilterValue.active,\n value: RcsaStatusCheckboxFilterValue.active,\n },\n {\n filterName: RcsaStatusCheckboxFilter.inactive,\n label: RcsaStatusCheckboxFilterValue.inactive,\n value: RcsaStatusCheckboxFilterValue.inactive,\n },\n ],\n new FilterAdvancedPredicatesModel(\n RcsaCheckboxFilter.status,\n RcsaCheckboxFilter.status,\n rcsaStatusFilters,\n (value, filter) => {\n const filterApplied = isNotNil(filter.active) || isNotNil(filter.inactive);\n let match = false;\n if (filter.active && value === RcsaStatusCheckboxFilterValue.active) {\n match = true;\n }\n\n if (filter.inactive && value === RcsaStatusCheckboxFilterValue.inactive) {\n match = true;\n }\n\n return (filterApplied && match) || !filterApplied;\n }\n )\n ),\n};\n\nexport const rcsaAutocompleteFilters: Record<\n RcsaAutocompleteFilter,\n AutocompleteFilterDef\n> = {\n [RcsaAutocompleteFilter.rcsa_owner]: {\n ...createAutocompleteFilter(['rcsa_owner'], 'Owner', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.rcsa_owner);\n return value.user_id === filter.rcsa_owner || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n } as AutocompleteFilterDef,\n [RcsaAutocompleteFilter.risk_manager]: {\n ...createAutocompleteFilter(['risk_manager'], 'Risk Manager', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.risk_manager);\n return value.user_id === filter.risk_manager || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n } as AutocompleteFilterDef,\n [RcsaAutocompleteFilter.global_function]: {\n ...createAutocompleteFilter(['global_function'], 'Global Function', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.global_function);\n return isNotNil(value) && (value === filter.global_function || !filterApplied);\n }),\n } as AutocompleteFilterDef,\n [RcsaAutocompleteFilter.governance_coordinators]: {\n ...createAutocompleteFilter(['governance_coordinators'], 'Governance Coordinator', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.governance_coordinators);\n return isNotNil(value.find(user => user.user_id === filter.governance_coordinators)) || !filterApplied;\n }),\n optionsPredicate: usersPredicate,\n } as AutocompleteFilterDef,\n};\n\nexport const controlsAutocompleteFilters: Record<\n ControlsAutocompleteFilter,\n AutocompleteFilterDef\n> = {\n [ControlsAutocompleteFilter.assessor]: {\n ...createAutocompleteFilter(['assessors'], 'Assessor', () => true),\n optionsPredicate: usersPredicate,\n } as AutocompleteFilterDef,\n [ControlsAutocompleteFilter.globalFunction]: {\n ...createAutocompleteFilter(['ra_global_function'], 'Global Function', () => true),\n } as AutocompleteFilterDef,\n};\n\nexport const standardsAutocompleteFilters: Record<\n StandardsAutocompleteFilter,\n AutocompleteFilterDef | AutocompleteFilterDef\n> = {\n [StandardsAutocompleteFilter.owner]: {\n ...createAutocompleteFilter(['owner'], 'Owner', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.owner);\n return value.user_id === filter.owner || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [StandardsAutocompleteFilter.topic]: {\n ...createAutocompleteFilter(['topic'], 'Topic', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.topic);\n return isNotNil(value) && (value.id?.toString() === filter.topic || !filterApplied);\n }),\n optionsPredicate: enumItemPredicate,\n } as AutocompleteFilterDef,\n [StandardsAutocompleteFilter.document_type]: {\n ...createAutocompleteFilter(['document_type'], 'Document Type', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.document_type);\n return isNotNil(value) && (value.id?.toString() === filter.document_type || !filterApplied);\n }),\n optionsPredicate: enumItemPredicate,\n },\n};\n\nexport const standardsCheckboxFilters: Record = {\n [StandardsCheckboxFilter.status]: new FilterCheckboxGroupModel(\n 'Status',\n [\n {\n filterName: StandardsStatusCheckboxFilter.active,\n label: StandardsStatusCheckboxFilterValue.active,\n value: StandardsStatusCheckboxFilterValue.active,\n },\n {\n filterName: StandardsStatusCheckboxFilter.inactive,\n label: StandardsStatusCheckboxFilterValue.inactive,\n value: StandardsStatusCheckboxFilterValue.inactive,\n },\n ],\n new FilterAdvancedPredicatesModel(\n StandardsCheckboxFilter.status,\n StandardsCheckboxFilter.status,\n standardsStatusFilters,\n (value, filter) => {\n const filterApplied = isNotNil(filter.active) || isNotNil(filter.inactive);\n let match = false;\n if (filter.active && value.name === StandardsStatusCheckboxFilterValue.active) {\n match = true;\n }\n\n if (filter.inactive && value.name === StandardsStatusCheckboxFilterValue.inactive) {\n match = true;\n }\n\n return (filterApplied && match) || !filterApplied;\n }\n )\n ),\n};\n\n// TODO: Left only definitions for Events / Issues\nexport const eventsAutocompleteFilters: Record<\n EventsAutocompleteFilter,\n AutocompleteFilterDef | AutocompleteFilterDef\n> = {\n [EventsAutocompleteFilter.creator]: {\n ...createAutocompleteFilter(['creator'], 'Creator', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.creator);\n return value.user_id === filter.creator || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.owner]: {\n ...createAutocompleteFilter(['owner'], 'Owner', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.owner);\n return value.user_id === filter.owner || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.delegate]: {\n ...createAutocompleteFilter(['delegate'], 'Delegate', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.delegate);\n return value.user_id === filter.delegate || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.rcsa_owner]: {\n ...createAutocompleteFilter(['rcsa_owner'], 'RCSA Owner', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.rcsa_owner);\n return value.user_id === filter.rcsa_owner || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.risk_manager]: {\n ...createAutocompleteFilter(['risk_manager'], 'Risk Manager', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.risk_manager);\n return value.user_id === filter.risk_manager || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.governanceCoordinator]: {\n ...createAutocompleteFilter(\n ['governanceCoordinator'],\n 'Governance Coordinator',\n\n (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.governanceCoordinator);\n return value.user_id === filter.governanceCoordinator || !filterApplied;\n }\n ),\n optionsPredicate: userPredicate,\n },\n [EventsAutocompleteFilter.bu_gf]: {\n ...createAutocompleteFilter(['bu_gf'], 'BU / GF', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.bu_gf);\n return value === filter.bu_gf || !filterApplied;\n }),\n } as AutocompleteFilterDef,\n};\n\nexport const issuesAutocompleteFilters: Record<\n IssuesAutocompleteFilter,\n AutocompleteFilterDef | AutocompleteFilterDef\n> = {\n ...eventsAutocompleteFilters,\n [IssuesAutocompleteFilter.actionOwner]: {\n ...createAutocompleteFilter(['actionOwner'], 'Action Owner', (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.actionOwner);\n return value.user_id === filter.actionOwner || !filterApplied;\n }),\n optionsPredicate: userPredicate,\n },\n [IssuesAutocompleteFilter.actionDelegate]: {\n ...createAutocompleteFilter(\n ['actionDelegate'],\n 'Action Delegate',\n\n (value, filter) => {\n let filterApplied: boolean = isNotNil(filter.actionDelegate);\n return value.user_id === filter.actionDelegate || !filterApplied;\n }\n ),\n optionsPredicate: userPredicate,\n },\n};\n\nexport const getFullTextDefinitionModelFromTableColumns = (\n columns: DefaultUserSettingsColumnsDef\n): FilterFullTextSearchDefinitionModel =>\n new FilterFullTextSearchDefinitionModel(columns.filter(column => column.isVisible).map(({ field }) => field));\n","import { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\nimport { User } from 'oneorm-api-http-client/model/user';\n\nimport { FilterDropdownOption } from '@shared/models';\nimport { isNil, isNotNil } from '@shared/utils';\n\nexport type UserPredicate = Pick;\n\nexport const userPredicate = (user: UserPredicate): FilterDropdownOption | undefined => {\n if (isNil(user)) {\n return undefined;\n }\n return {\n label: user.user_name,\n id: user.user_id,\n type: 'dropdown',\n };\n};\n\nexport const usersPredicate = (users: UserPredicate[]): FilterDropdownOption[] => {\n if (isNil(users)) {\n return [];\n }\n return users.map(user => userPredicate(user)).filter(user => isNotNil(user));\n};\n\nexport const enumItemPredicate = (enumItem: RiskCaseEnumItem): FilterDropdownOption | undefined => {\n if (isNil(enumItem)) {\n return undefined;\n }\n return {\n label: enumItem.name,\n id: enumItem.id.toString(),\n type: 'dropdown',\n };\n};\n","import { inject } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { UserSettingsAdapter } from '@shared/adapters/user-settings.adapter';\n\nimport { FilterDropdownOption, RiskCaseViewFE, UserSettings } from '@shared/models';\nimport { isEmpty, isNil, isNotNil, map as lodashMap } from '@shared/utils';\n\nimport { UserSettingsColumnsDef } from './constants/column-definitions';\nimport { caseFilterTypeToUserSettingsEvent, StatusId } from './constants/common.const';\nimport { AutocompleteFilterDef, SERVER_SIDE_DEFAULT_FILTERS } from './constants/filter-configuration.const';\nimport { CaseFilterType } from './model/case-filter-type.model';\nimport { HOME_TAB_TYPE_TOKEN, HomeTabType, InitialConfig } from './model/home-config.model';\nimport { StatusCheckboxFilter } from './model/status-filter.model';\nimport { UserSettingsEvent } from './model/user-settings-event.enum';\nimport { ControlsFilterParamsStore } from './store/controls-filter-params.store';\nimport { EventsFilterParamsStore } from './store/events-filter-params.store';\nimport { FilterParamsStore } from './store/filter-params.store';\nimport { IssuesFilterParamsStore } from './store/issues-filter-params.store';\nimport { MyToDoFilterParamsStore } from './store/my-to-do-params.store';\nimport { RcsaFilterParamsStore } from './store/rcsa-filter-params.store';\nimport { StandardsFilterParamsStore } from './store/standards-filter-params.store';\n\nexport type FilterState = {\n [CaseFilterType.MY]: PARAMS;\n [CaseFilterType.ALL]: PARAMS;\n selectedCaseFilterType: CaseFilterType;\n};\n\nfunction sortOptionsAlphabetically(options: FilterDropdownOption[]): FilterDropdownOption[] {\n return options.sort((a, b) => (a.label > b.label ? 1 : -1));\n}\n\nconst checkFilterNameMismatch = (key: string, value: AutocompleteFilterDef): void => {\n if (key !== value.filterDef.filterName) {\n console.warn(\n `FilterName is '${value.filterDef.filterName}' and key is '${key}'. This can be mismatch and filter might not work correctly.`\n );\n }\n};\n\nconst defaultOptionPredicate = (field: string): FilterDropdownOption =>\n ({ id: field, label: field, type: 'dropdown' }) as FilterDropdownOption;\n\nconst getOptionsPredicate = (\n value: AutocompleteFilterDef\n): ((field: string) => FilterDropdownOption) | ((val: unknown) => FilterDropdownOption | FilterDropdownOption[]) =>\n isNotNil(value.optionsPredicate) ? value.optionsPredicate : defaultOptionPredicate;\n\nconst addOptionToMap = (option: FilterDropdownOption, optionsMap: Map): void => {\n if (!optionsMap.has(JSON.stringify(option))) {\n optionsMap.set(JSON.stringify(option), option);\n }\n};\n\nconst processOption = (option: FilterDropdownOption | FilterDropdownOption[], optionsMap: Map): void => {\n if (Array.isArray(option)) {\n option.forEach(opt => addOptionToMap(opt, optionsMap));\n } else {\n addOptionToMap(option, optionsMap);\n }\n};\n\nexport const getDefaultEventsIssuesColumnFilters = (\n defaultParams: Partial>\n): {\n [CaseFilterType.MY]: Record;\n [CaseFilterType.ALL]: Record;\n selectedCaseFilterType: CaseFilterType;\n} => ({\n [CaseFilterType.MY]: {\n ...defaultParams,\n [StatusCheckboxFilter.open]: SERVER_SIDE_DEFAULT_FILTERS.issues.open,\n [StatusCheckboxFilter.draft]: SERVER_SIDE_DEFAULT_FILTERS.issues.draft,\n },\n [CaseFilterType.ALL]: {\n ...defaultParams,\n [StatusCheckboxFilter.open]: SERVER_SIDE_DEFAULT_FILTERS.issues.open,\n [StatusCheckboxFilter.draft]: SERVER_SIDE_DEFAULT_FILTERS.issues.draft,\n },\n selectedCaseFilterType: CaseFilterType.MY,\n});\n\nexport const createAutocompleteAndDropdownFilters = (\n data: T[],\n autocompleteFilters: Record>\n): Record> | undefined => {\n if (isNil(autocompleteFilters)) {\n return undefined;\n }\n\n Object.entries(autocompleteFilters).forEach(([key, value]) => {\n checkFilterNameMismatch(key, value as AutocompleteFilterDef);\n\n const optionsMap = new Map();\n\n const optionsPredicate = getOptionsPredicate(value as AutocompleteFilterDef);\n\n lodashMap(data, key).forEach(field => {\n const option = optionsPredicate(field);\n processOption(option, optionsMap);\n });\n\n value.filterDef.options = sortOptionsAlphabetically([...optionsMap.values()].filter(option => isNotNil(option) && isNotNil(option.id)));\n });\n return autocompleteFilters;\n};\n\nexport const getCurrentParamsStore = (): T | undefined => {\n const type = inject(HOME_TAB_TYPE_TOKEN, {\n optional: true,\n });\n\n if (type === 'todos') {\n return MyToDoFilterParamsStore as unknown as T;\n }\n\n if (type === 'rcsas') {\n return RcsaFilterParamsStore as unknown as T;\n }\n\n if (type === 'issues') {\n return IssuesFilterParamsStore as unknown as T;\n }\n\n if (type === 'events') {\n return EventsFilterParamsStore as unknown as T;\n }\n\n if (type === 'controls') {\n return ControlsFilterParamsStore as unknown as T;\n }\n\n if (type === 'standards') {\n return StandardsFilterParamsStore as unknown as T;\n }\n return undefined;\n};\n\nexport const getQueryParamsFromState = (state: T): Params =>\n Object.entries(state).reduce((res, [key, value]) => {\n if (isNotNil(value)) {\n res[key] = JSON.stringify(value);\n } else {\n res[key] = undefined;\n }\n return res;\n }, {} as Params);\n\nexport const isRiskCaseViewFe = (value: unknown): value is RiskCaseViewFE => isNotNil((value as RiskCaseViewFE).status_id);\n\nexport const isPreDraft = (value: unknown): boolean =>\n isRiskCaseViewFe(value) && (value.status_id === StatusId.EVENT_PRE_DRAFT || value.status_id === StatusId.ISSUE_PRE_DRAFT);\n\nexport const isDraft = (value: unknown): boolean =>\n isRiskCaseViewFe(value) && (value.status_id === StatusId.EVENT_DRAFT || value.status_id === StatusId.ISSUE_DRAFT);\n\nexport const isDraftPendingReview = (value: unknown): boolean =>\n isRiskCaseViewFe(value) &&\n (value.status_id === StatusId.ISSUE_DRAFT_PENDING_REVIEW || value.status_id === StatusId.EVENT_DRAFT_PENDING_REVIEW);\n\nexport const getUserSettingsEventBasedOnType = (homeTabType: HomeTabType): UserSettingsEvent =>\n caseFilterTypeToUserSettingsEvent['ALL'][homeTabType];\n\nexport const getColumns = (\n columns: UserSettingsColumnsDef,\n homeTabType: HomeTabType,\n defaultColumns: UserSettings[],\n columnDefinitions: InitialConfig['columnDefinitions']\n): UserSettingsColumnsDef =>\n isEmpty(columns) ? UserSettingsAdapter.fromDto(defaultColumns, columnDefinitions, getUserSettingsEventBasedOnType(homeTabType)) : columns;\n\nexport const getDefaultColumnFilters = (defaultParams: Partial): FilterState> => ({\n [CaseFilterType.MY]: {\n ...defaultParams,\n },\n [CaseFilterType.ALL]: {\n ...defaultParams,\n },\n selectedCaseFilterType: CaseFilterType.MY,\n});\n","export enum CaseFilterType {\n MY = 'MY',\n ALL = 'ALL',\n}\n","export enum ControlsAutocompleteFilter {\n 'assessor' = 'assessor',\n 'globalFunction' = 'globalFunction',\n}\n\nexport enum ControlsCheckboxFilter {\n rating = 'rating',\n key = 'key',\n signedInPeriod = 'signedInPeriod',\n openCases = 'openCases',\n additionalFilters = 'additionalFilters',\n}\n\nexport enum ControlsKeyCheckboxFilter {\n key = 'key',\n nonKey = 'nonKey',\n}\n\nexport enum ControlsKeyCheckboxFilterValue {\n key = 'Key Controls',\n nonKey = 'Non-Key Controls',\n}\n\nexport enum ControlsSignedInPeriodCheckboxFilter {\n signedIn = 'signedIn',\n notSignedIn = 'notSignedIn',\n}\n\nexport enum ControlsSignedInPeriodCheckboxFilterValue {\n yes = 'Yes',\n no = 'No',\n}\n\nexport enum ControlsOpenCasesCheckboxFilter {\n openCasesYes = 'openCasesYes',\n openCasesNo = 'openCasesNo',\n}\n\nexport enum ControlsOpenCasesCheckboxFilterValue {\n yes = 'Yes',\n no = 'No',\n}\n\nexport enum ControlsAdditionalFiltersCheckboxFilter {\n controlsNotEffectiveWithNoOpenCases = 'controlsNotEffectiveWithNoOpenCases',\n controlsWithMissingOrInactiveControlAssessor = 'controlsWithMissingOrInactiveControlAssessor',\n}\n\nexport enum ControlsAdditionalFiltersCheckboxFilterValue {\n controlsNotEffectiveWithNoOpenCases = 'Controls not effective with no open cases',\n controlsWithMissingOrInactiveControlAssessor = 'Controls with missing or inactive control assessor',\n}\n","export enum EventsAutocompleteFilter {\n creator = 'creator',\n owner = 'owner',\n delegate = 'delegate',\n rcsa_owner = 'rcsa_owner',\n risk_manager = 'risk_manager',\n governanceCoordinator = 'governanceCoordinator',\n bu_gf = 'bu_gf',\n}\n\nexport enum EventsCheckboxFilter {\n type = 'type',\n status = 'status',\n}\n\nexport enum EventsTypeCheckboxFilter {\n incident = 'incident',\n loss = 'loss',\n}\n\nexport enum EventsTypeCheckboxFilterValue {\n incident = 'Incident (no cash out)',\n loss = 'Loss',\n}\n","import { InjectionToken } from '@angular/core';\nimport { Params } from '@angular/router';\n\nimport { DefaultUserSettings } from '@shared/models';\n\nimport { MapperParams } from './filter.model';\nimport { DefaultColumnsDefinitions } from '../constants/column-definitions';\n\nexport type HomeTabType = 'rcsas' | 'todos' | 'issues' | 'events' | 'controls' | 'standards';\n\nexport interface InitialConfig {\n columnDefinitions: DefaultColumnsDefinitions;\n defaultColumns: DefaultUserSettings[];\n dataKey: Extract;\n dataMapper?: (params: MapperParams) => Params;\n}\n\nexport const INITIAL_CONFIG_TOKEN = new InjectionToken>('Home Screen Initial Config');\nexport const HOME_TAB_TYPE_TOKEN = new InjectionToken('Home screen tab type');\n","export enum IssuesAutocompleteFilter {\n creator = 'creator',\n owner = 'owner',\n delegate = 'delegate',\n rcsa_owner = 'rcsa_owner',\n risk_manager = 'risk_manager',\n governanceCoordinator = 'governanceCoordinator',\n bu_gf = 'bu_gf',\n actionOwner = 'actionOwner',\n actionDelegate = 'actionDelegate',\n}\n\nexport enum IssuesCheckboxFilter {\n identifyingLod = 'identifyingLod',\n impactRating = 'impactRating',\n status = 'status',\n}\n\nexport enum IssuesIdentifyingLodCheckboxFilter {\n self = 'self',\n secondLine = 'secondLine',\n thirdLine = 'thirdLine',\n}\n\nexport enum IssuesIdentifyingLodCheckboxFilterValue {\n self = '1\\u02E2\\u1D57 (self-identified)',\n secondLine = '2\\u207F\\u1D48 (not self-identified)',\n thirdLineLine = '3\\u02B3\\u1D48 (not self-identified)',\n}\n\nexport enum IssuesImpactRatingCheckboxFilter {\n low = 'low',\n moderate = 'moderate',\n elevated = 'elevated',\n high = 'high',\n}\n\nexport enum IssuesImpactRatingCheckboxFilterValue {\n low = 'Low',\n moderate = 'Moderate',\n elevated = 'Elevated',\n high = 'High',\n}\n","export enum RcsaTypeCheckboxFilterLabel {\n rcsa = 'RCSA',\n prsa = 'PRSA',\n leRcsa = 'LE RCSA',\n}\n\nexport enum RcsaTypeCheckboxFilterValue {\n rcsa = '39',\n prsa = '40',\n leRcsa = '41',\n}\n\nexport enum RcsaStatusCheckboxFilterValue {\n active = 'Active',\n inactive = 'Inactive',\n}\n\nexport enum RcsaTypeCheckboxFilter {\n rcsa = 'rcsa',\n prsa = 'prsa',\n leRcsa = 'leRcsa',\n}\n\nexport enum RcsaStatusCheckboxFilter {\n active = 'active',\n inactive = 'inactive',\n}\n\nexport const rcsaTypeFilters = [RcsaTypeCheckboxFilter.rcsa, RcsaTypeCheckboxFilter.prsa, RcsaTypeCheckboxFilter.leRcsa] as const;\nexport const rcsaStatusFilters = [RcsaStatusCheckboxFilter.active, RcsaStatusCheckboxFilter.inactive] as const;\n\nexport enum RcsaAutocompleteFilter {\n rcsa_owner = 'rcsa_owner',\n risk_manager = 'risk_manager',\n global_function = 'global_function',\n governance_coordinators = 'governance_coordinators',\n}\n\nexport enum RcsaCheckboxFilter {\n type = 'type',\n status = 'status',\n}\n","export enum StandardsAutocompleteFilter {\n 'owner' = 'owner',\n 'topic' = 'topic',\n 'document_type' = 'document_type',\n}\n\nexport enum StandardsCheckboxFilter {\n status = 'status',\n}\n\nexport enum StandardsStatusCheckboxFilter {\n active = 'active',\n inactive = 'inactive',\n}\n\nexport enum StandardsStatusCheckboxFilterValue {\n active = 'Active',\n inactive = 'Inactive',\n}\n\nexport const standardsStatusFilters = [StandardsStatusCheckboxFilter.active, StandardsStatusCheckboxFilter.inactive] as const;\n","export enum StatusCheckboxFilter {\n draft = 'draft',\n open = 'open',\n completed = 'completed',\n cancelled = 'cancelled',\n closed = 'closed',\n}\n\nexport enum StatusCheckboxFilterValue {\n draft = 'Draft',\n open = 'Open',\n completed = 'Completed',\n cancelled = 'Cancelled',\n closed = 'Closed',\n}\n","export enum UserSettingsEvent {\n MY_CASES_EVENT = 'my_cases_event',\n ALL_CASES_EVENT = 'all_cases_event',\n MY_CASES_ISSUE = 'my_cases_issue',\n ALL_CASES_ISSUE = 'all_cases_issue',\n MY_TODOS = 'my_todos',\n RCSAS = 'all_rcsas',\n MY_CONTROLS = 'my_controls',\n ALL_CONTROLS = 'all_controls',\n MY_STANDARDS = 'my_standards',\n ALL_STANDARDS = 'all_standards',\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { take } from 'rxjs';\n\nimport { FilterDropdownOption, FilterOption, RatingCheckboxFilter } from '@shared/models';\nimport { StateSavingService } from '@shared/services';\nimport { isFalse } from '@shared/utils';\n\nimport { MyAllFilterParamsStore } from './my-all-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { getDefaultColumnFilters } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport {\n ControlsAdditionalFiltersCheckboxFilter,\n ControlsAutocompleteFilter,\n ControlsKeyCheckboxFilter,\n ControlsOpenCasesCheckboxFilter,\n ControlsSignedInPeriodCheckboxFilter,\n} from '../model/controls-filter.model';\n\nexport interface ControlsFilterParam {\n [ControlsAutocompleteFilter.assessor]?: FilterDropdownOption;\n [ControlsAutocompleteFilter.globalFunction]?: FilterDropdownOption;\n [RatingCheckboxFilter.effective]?: FilterOption;\n [RatingCheckboxFilter.notEffective]?: FilterOption;\n [RatingCheckboxFilter.notAssessed]?: FilterOption;\n [RatingCheckboxFilter.notApplicable]?: FilterOption;\n [ControlsKeyCheckboxFilter.key]?: FilterOption;\n [ControlsKeyCheckboxFilter.nonKey]?: FilterOption;\n [ControlsSignedInPeriodCheckboxFilter.signedIn]?: FilterOption;\n [ControlsSignedInPeriodCheckboxFilter.notSignedIn]?: FilterOption;\n [ControlsOpenCasesCheckboxFilter.openCasesYes]?: FilterOption;\n [ControlsOpenCasesCheckboxFilter.openCasesNo]?: FilterOption;\n [ControlsAdditionalFiltersCheckboxFilter.controlsNotEffectiveWithNoOpenCases]?: FilterOption;\n [ControlsAdditionalFiltersCheckboxFilter.controlsWithMissingOrInactiveControlAssessor]?: FilterOption;\n selectedCaseFilterType?: CaseFilterType;\n fullTextSearch?: string;\n}\n\ntype FilterParams =\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.MY)\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.ALL);\n\nconst DEFAULT_UNDEFINED_PARAMS: ControlsFilterParam = {\n [ControlsAutocompleteFilter.assessor]: undefined,\n [ControlsAutocompleteFilter.globalFunction]: undefined,\n [RatingCheckboxFilter.effective]: undefined,\n [RatingCheckboxFilter.notEffective]: undefined,\n [RatingCheckboxFilter.notAssessed]: undefined,\n [RatingCheckboxFilter.notApplicable]: undefined,\n [ControlsKeyCheckboxFilter.key]: undefined,\n [ControlsKeyCheckboxFilter.nonKey]: undefined,\n [ControlsSignedInPeriodCheckboxFilter.signedIn]: undefined,\n [ControlsSignedInPeriodCheckboxFilter.notSignedIn]: undefined,\n [ControlsOpenCasesCheckboxFilter.openCasesYes]: undefined,\n [ControlsOpenCasesCheckboxFilter.openCasesNo]: undefined,\n [ControlsAdditionalFiltersCheckboxFilter.controlsNotEffectiveWithNoOpenCases]: undefined,\n [ControlsAdditionalFiltersCheckboxFilter.controlsWithMissingOrInactiveControlAssessor]: undefined,\n fullTextSearch: '',\n};\n\ninterface ControlsFilterState {\n [CaseFilterType.MY]: ControlsFilterParam;\n [CaseFilterType.ALL]: ControlsFilterParam;\n selectedCaseFilterType: CaseFilterType;\n}\n\nconst SAVED_STATE_MARK = 'controls-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ControlsFilterParamsStore\n extends MyAllFilterParamsStore\n implements StateSavingService\n{\n constructor() {\n super(\n getDefaultColumnFilters(DEFAULT_UNDEFINED_PARAMS),\n SAVED_STATE_MARK,\n { ...DEFAULT_UNDEFINED_PARAMS },\n HomePath.controls\n );\n this.returnBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.saveState(getDefaultColumnFilters(DEFAULT_UNDEFINED_PARAMS));\n }\n });\n }\n\n override pickFilterParams(params: Params): ControlsFilterParam {\n let filterParams: Partial = {};\n\n const validKeys: (keyof ControlsFilterParam)[] = [\n ControlsAutocompleteFilter.assessor,\n ControlsAutocompleteFilter.globalFunction,\n RatingCheckboxFilter.effective,\n RatingCheckboxFilter.notEffective,\n RatingCheckboxFilter.notAssessed,\n RatingCheckboxFilter.notApplicable,\n ControlsKeyCheckboxFilter.key,\n ControlsKeyCheckboxFilter.nonKey,\n ControlsSignedInPeriodCheckboxFilter.signedIn,\n ControlsSignedInPeriodCheckboxFilter.notSignedIn,\n ControlsOpenCasesCheckboxFilter.openCasesYes,\n ControlsOpenCasesCheckboxFilter.openCasesNo,\n ControlsAdditionalFiltersCheckboxFilter.controlsNotEffectiveWithNoOpenCases,\n ControlsAdditionalFiltersCheckboxFilter.controlsWithMissingOrInactiveControlAssessor,\n 'selectedCaseFilterType',\n 'fullTextSearch',\n ];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as FilterParams;\n }\n });\n\n return filterParams;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { StateSavingService } from '@shared/services/state-saving.service';\nimport { take } from 'rxjs';\n\nimport { FilterDropdownOption, FilterOption } from '@shared/models';\nimport { isFalse } from '@shared/utils';\n\nimport { MyAllFilterParamsStore } from './my-all-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { SERVER_SIDE_DEFAULT_FILTERS } from '../constants/filter-configuration.const';\nimport { getDefaultEventsIssuesColumnFilters } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport { EventsAutocompleteFilter, EventsTypeCheckboxFilter } from '../model/events-filter.model';\nimport { StatusCheckboxFilter } from '../model/status-filter.model';\n\nexport interface EventsFilterParam {\n [EventsAutocompleteFilter.creator]?: FilterDropdownOption;\n [EventsAutocompleteFilter.owner]?: FilterDropdownOption;\n [EventsAutocompleteFilter.delegate]?: FilterDropdownOption;\n [EventsAutocompleteFilter.rcsa_owner]?: FilterDropdownOption;\n [EventsAutocompleteFilter.risk_manager]?: FilterDropdownOption;\n [EventsAutocompleteFilter.governanceCoordinator]?: FilterDropdownOption;\n [EventsAutocompleteFilter.bu_gf]?: FilterDropdownOption;\n [StatusCheckboxFilter.draft]?: FilterOption;\n [StatusCheckboxFilter.open]?: FilterOption;\n [StatusCheckboxFilter.closed]?: FilterDropdownOption;\n [StatusCheckboxFilter.cancelled]?: FilterDropdownOption;\n [EventsTypeCheckboxFilter.incident]?: FilterOption;\n [EventsTypeCheckboxFilter.loss]?: FilterOption;\n selectedCaseFilterType?: CaseFilterType;\n fullTextSearch?: string;\n}\n\ntype FilterParams =\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.MY)\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.ALL);\n\nconst DEFAULT_UNDEFINED_PARAMS: EventsFilterParam = {\n [EventsAutocompleteFilter.creator]: undefined,\n [EventsAutocompleteFilter.owner]: undefined,\n [EventsAutocompleteFilter.delegate]: undefined,\n [EventsAutocompleteFilter.rcsa_owner]: undefined,\n [EventsAutocompleteFilter.risk_manager]: undefined,\n [EventsAutocompleteFilter.governanceCoordinator]: undefined,\n [EventsAutocompleteFilter.bu_gf]: undefined,\n [StatusCheckboxFilter.draft]: undefined,\n [StatusCheckboxFilter.open]: undefined,\n [StatusCheckboxFilter.closed]: undefined,\n [StatusCheckboxFilter.cancelled]: undefined,\n [EventsTypeCheckboxFilter.incident]: undefined,\n [EventsTypeCheckboxFilter.loss]: undefined,\n fullTextSearch: '',\n};\n\ninterface EventsFilterState {\n [CaseFilterType.MY]: EventsFilterParam;\n [CaseFilterType.ALL]: EventsFilterParam;\n selectedCaseFilterType: CaseFilterType;\n}\n\nconst SAVED_STATE_MARK = 'events-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventsFilterParamsStore extends MyAllFilterParamsStore implements StateSavingService {\n constructor() {\n super(\n getDefaultEventsIssuesColumnFilters(DEFAULT_UNDEFINED_PARAMS),\n SAVED_STATE_MARK,\n { ...DEFAULT_UNDEFINED_PARAMS },\n HomePath.events\n );\n this.returnBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.saveState(getDefaultEventsIssuesColumnFilters(DEFAULT_UNDEFINED_PARAMS));\n }\n });\n }\n\n override pickFilterParams(params: Params): EventsFilterParam {\n let filterParams: Partial = {};\n\n const validKeys: (keyof EventsFilterParam)[] = [\n EventsAutocompleteFilter.creator,\n EventsAutocompleteFilter.owner,\n EventsAutocompleteFilter.delegate,\n EventsAutocompleteFilter.rcsa_owner,\n EventsAutocompleteFilter.risk_manager,\n EventsAutocompleteFilter.governanceCoordinator,\n EventsAutocompleteFilter.bu_gf,\n StatusCheckboxFilter.draft,\n StatusCheckboxFilter.open,\n StatusCheckboxFilter.closed,\n StatusCheckboxFilter.cancelled,\n EventsTypeCheckboxFilter.incident,\n EventsTypeCheckboxFilter.loss,\n 'selectedCaseFilterType',\n 'fullTextSearch',\n ];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as FilterParams;\n }\n });\n return filterParams as EventsFilterParam;\n }\n\n override setDefaultParams(selectedCaseFilterType?: CaseFilterType): void {\n this.updateParams({\n ...DEFAULT_UNDEFINED_PARAMS,\n [StatusCheckboxFilter.open]: SERVER_SIDE_DEFAULT_FILTERS.events.open,\n [StatusCheckboxFilter.draft]: SERVER_SIDE_DEFAULT_FILTERS.events.draft,\n selectedCaseFilterType,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { Observable, Subject, Subscription } from 'rxjs';\n\nimport { CaseFilterType } from '../model/case-filter-type.model';\n\n@Injectable()\nexport abstract class FilterParamsStore extends ComponentStore {\n readonly params$: Observable = this.select(state => state as PARAMS | T);\n readonly selectedCaseFilterType$: Observable;\n readonly paramsUpdated$ = new Subject();\n abstract updateParams: (observableOrValue: Observable | unknown) => Subscription;\n selectedCaseType?(): CaseFilterType;\n updateSelectedCaseFilterType?(selectedCaseFilterType: CaseFilterType): void;\n abstract getState(): S;\n abstract setParamsFromRouteSnapshot(): void;\n abstract resetParams(): void;\n abstract setDefaultParams(): void;\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { take } from 'rxjs';\n\nimport { FilterDropdownOption, FilterOption } from '@shared/models';\nimport { StateSavingService } from '@shared/services';\nimport { isFalse } from '@shared/utils';\n\nimport { MyAllFilterParamsStore } from './my-all-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { SERVER_SIDE_DEFAULT_FILTERS } from '../constants/filter-configuration.const';\nimport { getDefaultEventsIssuesColumnFilters } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport {\n IssuesAutocompleteFilter,\n IssuesIdentifyingLodCheckboxFilter,\n IssuesImpactRatingCheckboxFilter,\n} from '../model/issues-filter.model';\nimport { StatusCheckboxFilter } from '../model/status-filter.model';\n\nexport interface IssuesFilterParam {\n [IssuesAutocompleteFilter.creator]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.owner]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.delegate]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.rcsa_owner]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.risk_manager]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.governanceCoordinator]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.actionOwner]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.actionDelegate]?: FilterDropdownOption;\n [IssuesAutocompleteFilter.bu_gf]?: FilterDropdownOption;\n [IssuesIdentifyingLodCheckboxFilter.self]?: FilterDropdownOption;\n [IssuesIdentifyingLodCheckboxFilter.secondLine]?: FilterDropdownOption;\n [IssuesIdentifyingLodCheckboxFilter.thirdLine]?: FilterDropdownOption;\n [StatusCheckboxFilter.draft]?: FilterOption;\n [StatusCheckboxFilter.open]?: FilterOption;\n [StatusCheckboxFilter.completed]?: FilterDropdownOption;\n [StatusCheckboxFilter.cancelled]?: FilterDropdownOption;\n [IssuesImpactRatingCheckboxFilter.low]?: FilterDropdownOption;\n [IssuesImpactRatingCheckboxFilter.moderate]?: FilterDropdownOption;\n [IssuesImpactRatingCheckboxFilter.elevated]?: FilterDropdownOption;\n [IssuesImpactRatingCheckboxFilter.high]?: FilterDropdownOption;\n selectedCaseFilterType?: CaseFilterType;\n fullTextSearch?: string;\n}\n\ntype FilterParams =\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.MY)\n | (FilterDropdownOption & FilterDropdownOption & string & CaseFilterType.ALL);\n\nconst DEFAULT_UNDEFINED_PARAMS: IssuesFilterParam = {\n [IssuesAutocompleteFilter.creator]: undefined,\n [IssuesAutocompleteFilter.owner]: undefined,\n [IssuesAutocompleteFilter.delegate]: undefined,\n [IssuesAutocompleteFilter.rcsa_owner]: undefined,\n [IssuesAutocompleteFilter.risk_manager]: undefined,\n [IssuesAutocompleteFilter.governanceCoordinator]: undefined,\n [IssuesAutocompleteFilter.actionOwner]: undefined,\n [IssuesAutocompleteFilter.actionDelegate]: undefined,\n [IssuesAutocompleteFilter.bu_gf]: undefined,\n [IssuesIdentifyingLodCheckboxFilter.self]: undefined,\n [IssuesIdentifyingLodCheckboxFilter.secondLine]: undefined,\n [IssuesIdentifyingLodCheckboxFilter.thirdLine]: undefined,\n [StatusCheckboxFilter.draft]: undefined,\n [StatusCheckboxFilter.open]: undefined,\n [StatusCheckboxFilter.completed]: undefined,\n [StatusCheckboxFilter.cancelled]: undefined,\n [IssuesImpactRatingCheckboxFilter.low]: undefined,\n [IssuesImpactRatingCheckboxFilter.moderate]: undefined,\n [IssuesImpactRatingCheckboxFilter.elevated]: undefined,\n [IssuesImpactRatingCheckboxFilter.high]: undefined,\n fullTextSearch: '',\n};\n\ninterface IssuesFilterState {\n [CaseFilterType.MY]: IssuesFilterParam;\n [CaseFilterType.ALL]: IssuesFilterParam;\n selectedCaseFilterType: CaseFilterType;\n}\n\nconst SAVED_STATE_MARK = 'issues-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IssuesFilterParamsStore extends MyAllFilterParamsStore implements StateSavingService {\n constructor() {\n super(\n getDefaultEventsIssuesColumnFilters(DEFAULT_UNDEFINED_PARAMS),\n SAVED_STATE_MARK,\n { ...DEFAULT_UNDEFINED_PARAMS },\n HomePath.issues\n );\n this.returnBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.saveState(getDefaultEventsIssuesColumnFilters(DEFAULT_UNDEFINED_PARAMS));\n }\n });\n }\n\n override setDefaultParams(selectedCaseFilterType?: CaseFilterType): void {\n this.updateParams({\n ...DEFAULT_UNDEFINED_PARAMS,\n [StatusCheckboxFilter.open]: SERVER_SIDE_DEFAULT_FILTERS.issues.open,\n [StatusCheckboxFilter.draft]: SERVER_SIDE_DEFAULT_FILTERS.issues.draft,\n selectedCaseFilterType,\n });\n }\n\n override pickFilterParams(params: Params): IssuesFilterParam {\n let filterParams: Partial = {};\n\n const validKeys: (keyof IssuesFilterParam)[] = [\n IssuesAutocompleteFilter.creator,\n IssuesAutocompleteFilter.owner,\n IssuesAutocompleteFilter.delegate,\n IssuesAutocompleteFilter.rcsa_owner,\n IssuesAutocompleteFilter.risk_manager,\n IssuesAutocompleteFilter.governanceCoordinator,\n IssuesAutocompleteFilter.actionOwner,\n IssuesAutocompleteFilter.actionDelegate,\n IssuesAutocompleteFilter.bu_gf,\n IssuesIdentifyingLodCheckboxFilter.self,\n IssuesIdentifyingLodCheckboxFilter.secondLine,\n IssuesIdentifyingLodCheckboxFilter.thirdLine,\n StatusCheckboxFilter.draft,\n StatusCheckboxFilter.open,\n StatusCheckboxFilter.completed,\n StatusCheckboxFilter.cancelled,\n IssuesImpactRatingCheckboxFilter.low,\n IssuesImpactRatingCheckboxFilter.moderate,\n IssuesImpactRatingCheckboxFilter.elevated,\n IssuesImpactRatingCheckboxFilter.high,\n 'selectedCaseFilterType',\n 'fullTextSearch',\n ];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as FilterParams;\n }\n });\n\n return filterParams as IssuesFilterParam;\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { distinctUntilChanged, skip } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { StateSavingService } from '@shared/services';\nimport { isEmpty, isNotEmpty, navigateToCurrentRoute, omit } from '@shared/utils';\n\nimport { EventsFilterParam } from './events-filter-params.store';\nimport { FilterParamsStore } from './filter-params.store';\nimport { IssuesFilterParam } from './issues-filter-params.store';\nimport { ReturnsBackToAppStore } from './returns-back-to-app.store';\nimport { StandardsFilterParam } from './standards-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { FilterState, getQueryParamsFromState } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\n\n@Injectable()\nexport abstract class MyAllFilterParamsStore\n extends FilterParamsStore, PARAM>\n implements StateSavingService>\n{\n override readonly updateParams = this.updater(\n (state, params: Partial | Partial | Partial) => {\n const selectedCaseFilterType = state.selectedCaseFilterType;\n const newState: FilterState = {\n ...state,\n [selectedCaseFilterType]: {\n ...state[selectedCaseFilterType],\n ...omit(params, 'selectedCaseFilterType'),\n },\n ...(params.selectedCaseFilterType && { selectedCaseFilterType: params.selectedCaseFilterType }),\n };\n\n this.saveState(newState);\n navigateToCurrentRoute(this.router, this.activatedRoute, {\n ...getQueryParamsFromState({ ...state[selectedCaseFilterType], ...params }),\n });\n return newState;\n }\n );\n\n override readonly params$ = this.select(state => state).pipe(map(state => state[state.selectedCaseFilterType]));\n override readonly selectedCaseFilterType$ = this.select(state => state.selectedCaseFilterType).pipe(distinctUntilChanged());\n\n protected readonly router = inject(Router);\n protected readonly activatedRoute = inject(ActivatedRoute);\n protected readonly returnBackToAppStore = inject(ReturnsBackToAppStore);\n\n private readonly resetParamsOnCaseFilterTypeChange = this.effect(() =>\n this.select(state => state.selectedCaseFilterType).pipe(\n skip(1),\n distinctUntilChanged(),\n tap(() => {\n this.updateParamsFromState();\n })\n )\n );\n\n protected constructor(\n protected readonly defaultState: FilterState,\n protected readonly saveStateMark: string,\n protected readonly defaultParams: PARAM,\n protected readonly pathToCheckQueryParams: HomePath\n ) {\n super(defaultState);\n }\n\n saveState(state: FilterState): void {\n localStorage.setItem(this.saveStateMark, JSON.stringify(state));\n }\n\n loadState(): void {\n if (this.savedStateExists()) {\n this.setState(JSON.parse(localStorage.getItem(this.saveStateMark)));\n this.updateParamsFromState(JSON.parse(localStorage.getItem(this.saveStateMark)));\n }\n }\n\n savedStateExists(): boolean {\n return isNotEmpty(localStorage.getItem(this.saveStateMark));\n }\n\n override setDefaultParams(selectedCaseFilterType?: CaseFilterType): void {\n this.updateParams({\n ...this.defaultState['MY'],\n selectedCaseFilterType,\n });\n }\n\n override setParamsFromRouteSnapshot(): void {\n const path = this.getPathFromSnapshot();\n const queryParams = this.activatedRoute.snapshot.queryParams;\n\n const pickedQueryParams = this.pickFilterParams(queryParams);\n\n if (path === this.pathToCheckQueryParams) {\n if (isEmpty(pickedQueryParams) && !this.savedStateExists()) {\n this.resetParams();\n return;\n }\n\n if (isEmpty(pickedQueryParams)) {\n this.loadState();\n return;\n }\n\n this.updateParams({ ...this.defaultParams, ...pickedQueryParams });\n }\n }\n\n updateParamsFromState(state?: FilterState): void {\n const selectedCaseFilterType: CaseFilterType = state?.selectedCaseFilterType ?? this.get().selectedCaseFilterType;\n const selectedCaseState = this.get()[selectedCaseFilterType];\n this.updateParams({ ...this.defaultParams, ...selectedCaseState, selectedCaseFilterType });\n }\n\n override updateSelectedCaseFilterType(selectedCaseFilterType: CaseFilterType): void {\n this.updateParams({ selectedCaseFilterType });\n }\n\n override resetParams(): void {\n this.setDefaultParams();\n }\n\n override getState(): EventsFilterParam | IssuesFilterParam {\n return this.get()[this.get().selectedCaseFilterType];\n }\n\n override selectedCaseType(): CaseFilterType {\n return this.get().selectedCaseFilterType;\n }\n\n protected getPathFromSnapshot(): string {\n return this.activatedRoute.snapshot.children[0]?.children[0]?.children[0]?.url[0]?.path;\n }\n\n abstract pickFilterParams(params: Params): PARAM;\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { take } from 'rxjs';\n\nimport { StateSavingService } from '@shared/services';\nimport { isEmpty, isFalse, isNotEmpty, navigateToCurrentRoute } from '@shared/utils';\n\nimport { FilterParamsStore } from './filter-params.store';\nimport { ReturnsBackToAppStore } from './returns-back-to-app.store';\nimport { getQueryParamsFromState } from '../home.utils';\n\nexport interface MyToDoFilterParamsState {\n fullTextSearch?: string;\n}\n\nconst DEFAULT_UNDEFINED_PARAMS: MyToDoFilterParamsState = {\n fullTextSearch: '',\n};\n\nconst SAVED_STATE_MARK = 'my-to-do-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MyToDoFilterParamsStore\n extends FilterParamsStore\n implements StateSavingService\n{\n override readonly updateParams = this.updater((state, params: MyToDoFilterParamsState) => {\n const newState = {\n ...state,\n ...params,\n };\n this.saveState(newState);\n navigateToCurrentRoute(this.router, this.activatedRoute, {\n ...getQueryParamsFromState(newState),\n });\n return newState;\n });\n\n private readonly router = inject(Router);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly returnsBackToAppStore = inject(ReturnsBackToAppStore);\n\n constructor() {\n super({});\n this.returnsBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.setDefaultParams();\n }\n });\n }\n\n getState(): unknown {\n return this.get();\n }\n\n resetParams(): void {\n this.setDefaultParams();\n }\n\n override setParamsFromRouteSnapshot(): void {\n const path = this.getPathFromSnapshot();\n const queryParams = this.activatedRoute.snapshot.queryParams;\n const pickedQueryParams = this.pickMyToDosFilterParams(queryParams);\n\n if (path === 'todos') {\n if (isEmpty(pickedQueryParams) && !this.savedStateExists()) {\n this.resetParams();\n return;\n }\n\n if (isEmpty(pickedQueryParams)) {\n this.loadState();\n return;\n }\n\n this.updateParams(pickedQueryParams);\n }\n }\n\n loadState(): void {\n if (this.savedStateExists()) {\n this.setState(JSON.parse(localStorage.getItem(SAVED_STATE_MARK)));\n this.updateParams(JSON.parse(localStorage.getItem(SAVED_STATE_MARK)));\n }\n }\n\n saveState(state: MyToDoFilterParamsState): void {\n localStorage.setItem(SAVED_STATE_MARK, JSON.stringify(state));\n }\n\n savedStateExists(): boolean {\n return isNotEmpty(localStorage.getItem(SAVED_STATE_MARK));\n }\n\n override setDefaultParams(): void {\n this.updateParams({\n ...DEFAULT_UNDEFINED_PARAMS,\n });\n }\n\n private pickMyToDosFilterParams(params: Params): MyToDoFilterParamsState {\n let filterParams: MyToDoFilterParamsState = {};\n\n const validKeys: (keyof MyToDoFilterParamsState)[] = ['fullTextSearch'];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as string;\n }\n });\n\n return filterParams;\n }\n\n private getPathFromSnapshot(): string {\n return this.activatedRoute.snapshot.children[0]?.children[0]?.children[0]?.url[0]?.path;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { take } from 'rxjs';\n\nimport { FilterDropdownOption, FilterOption } from '@shared/models';\nimport { StateSavingService } from '@shared/services';\nimport { isFalse } from '@shared/utils';\n\nimport { MyAllFilterParamsStore } from './my-all-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { RCSAS_DEFAULT_FILTER } from '../constants/filter-configuration.const';\nimport { getDefaultColumnFilters } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport { RcsaAutocompleteFilter, RcsaStatusCheckboxFilter, RcsaTypeCheckboxFilter } from '../model/rcsa-filter.model';\n\nexport interface RcsaFilterParamsState {\n [RcsaAutocompleteFilter.rcsa_owner]?: FilterDropdownOption;\n [RcsaAutocompleteFilter.risk_manager]?: FilterDropdownOption;\n [RcsaAutocompleteFilter.governance_coordinators]?: FilterDropdownOption;\n [RcsaAutocompleteFilter.global_function]?: FilterDropdownOption;\n [RcsaStatusCheckboxFilter.active]?: FilterOption;\n [RcsaStatusCheckboxFilter.inactive]?: FilterOption;\n [RcsaTypeCheckboxFilter.rcsa]?: FilterOption;\n [RcsaTypeCheckboxFilter.prsa]?: FilterOption;\n [RcsaTypeCheckboxFilter.leRcsa]?: FilterOption;\n selectedCaseFilterType?: CaseFilterType;\n fullTextSearch?: string;\n}\n\nconst DEFAULT_UNDEFINED_PARAMS: RcsaFilterParamsState = {\n [RcsaAutocompleteFilter.rcsa_owner]: undefined,\n [RcsaAutocompleteFilter.risk_manager]: undefined,\n [RcsaAutocompleteFilter.governance_coordinators]: undefined,\n [RcsaAutocompleteFilter.global_function]: undefined,\n [RcsaStatusCheckboxFilter.active]: undefined,\n [RcsaStatusCheckboxFilter.inactive]: undefined,\n [RcsaTypeCheckboxFilter.rcsa]: undefined,\n [RcsaTypeCheckboxFilter.prsa]: undefined,\n [RcsaTypeCheckboxFilter.leRcsa]: undefined,\n fullTextSearch: '',\n};\n\ntype FilterParams =\n | (FilterDropdownOption & FilterOption & string & CaseFilterType.MY)\n | (FilterDropdownOption & FilterOption & string & CaseFilterType.ALL);\n\ninterface RcsasFilterState {\n [CaseFilterType.MY]: RcsaFilterParamsState;\n [CaseFilterType.ALL]: RcsaFilterParamsState;\n selectedCaseFilterType: CaseFilterType;\n}\n\nconst SAVED_STATE_MARK = 'rcsas-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RcsaFilterParamsStore extends MyAllFilterParamsStore implements StateSavingService {\n constructor() {\n super(\n getDefaultColumnFilters({\n ...DEFAULT_UNDEFINED_PARAMS,\n [RcsaStatusCheckboxFilter.active]: RCSAS_DEFAULT_FILTER,\n }),\n SAVED_STATE_MARK,\n { ...DEFAULT_UNDEFINED_PARAMS },\n HomePath.rcsas\n );\n this.returnBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.saveState(getDefaultColumnFilters({ ...DEFAULT_UNDEFINED_PARAMS, [RcsaStatusCheckboxFilter.active]: RCSAS_DEFAULT_FILTER }));\n }\n });\n }\n\n override setDefaultParams(selectedCaseFilterType?: CaseFilterType): void {\n this.updateParams({\n ...DEFAULT_UNDEFINED_PARAMS,\n [RcsaStatusCheckboxFilter.active]: RCSAS_DEFAULT_FILTER,\n selectedCaseFilterType,\n });\n }\n\n override pickFilterParams(params: Params): RcsaFilterParamsState {\n let filterParams: Partial = {};\n\n const validKeys: (keyof RcsaFilterParamsState)[] = [\n RcsaAutocompleteFilter.rcsa_owner,\n RcsaAutocompleteFilter.risk_manager,\n RcsaAutocompleteFilter.governance_coordinators,\n RcsaAutocompleteFilter.global_function,\n RcsaStatusCheckboxFilter.active,\n RcsaStatusCheckboxFilter.inactive,\n RcsaTypeCheckboxFilter.rcsa,\n RcsaTypeCheckboxFilter.prsa,\n RcsaTypeCheckboxFilter.leRcsa,\n 'selectedCaseFilterType',\n 'fullTextSearch',\n ];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as FilterParams;\n }\n });\n\n return filterParams as RcsaFilterParamsState;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { switchMap, takeWhile } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\nimport { isFalse, isNotNil } from '@shared/utils';\n\ninterface ReturnsBackToAppState {\n wasAppRestoredFromOneOrmUi?: boolean;\n}\n\nexport const BACK_FROM_UI_APP_QUERY_PARAM_MARK = 'returnBackToRcsa';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReturnsBackToAppStore extends ComponentStore {\n readonly wasAppRestoredFromOneOrmUi = this.select(state => state.wasAppRestoredFromOneOrmUi).pipe(filter(isNotNil));\n\n private readonly checkIfAppWasRestoredFromOneOrmUi = this.effect(() =>\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n switchMap(() => this.activatedRoute.queryParamMap),\n map(queryParams => queryParams.has(BACK_FROM_UI_APP_QUERY_PARAM_MARK)),\n tap(wasAppRestoredFromOneOrmUi => {\n this.patchState({ wasAppRestoredFromOneOrmUi });\n }),\n takeWhile(queryParams => isFalse(queryParams), true)\n )\n );\n\n constructor(\n private readonly router: Router,\n private readonly activatedRoute: ActivatedRoute\n ) {\n super({\n wasAppRestoredFromOneOrmUi: undefined,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { take } from 'rxjs';\n\nimport { FilterDropdownOption, FilterOption } from '@shared/models';\nimport { StateSavingService } from '@shared/services';\nimport { isFalse } from '@shared/utils';\n\nimport { MyAllFilterParamsStore } from './my-all-filter-params.store';\nimport { HomePath } from '../constants/common.const';\nimport { STANDARDS_DEFAULT_FILTER } from '../constants/filter-configuration.const';\nimport { getDefaultColumnFilters } from '../home.utils';\nimport { CaseFilterType } from '../model/case-filter-type.model';\nimport { StandardsAutocompleteFilter, StandardsStatusCheckboxFilter } from '../model/standard-filter.model';\n\nexport interface StandardsFilterParam {\n [StandardsAutocompleteFilter.owner]?: FilterDropdownOption;\n [StandardsAutocompleteFilter.topic]?: FilterDropdownOption;\n [StandardsStatusCheckboxFilter.active]?: FilterOption;\n [StandardsStatusCheckboxFilter.inactive]?: FilterOption;\n selectedCaseFilterType?: CaseFilterType;\n fullTextSearch?: string;\n}\n\nconst DEFAULT_UNDEFINED_PARAMS: StandardsFilterParam = {\n [StandardsAutocompleteFilter.owner]: undefined,\n [StandardsAutocompleteFilter.topic]: undefined,\n [StandardsStatusCheckboxFilter.active]: undefined,\n [StandardsStatusCheckboxFilter.inactive]: undefined,\n fullTextSearch: '',\n};\n\ntype FilterParams =\n | (FilterDropdownOption & FilterOption & string & CaseFilterType.MY)\n | (FilterDropdownOption & FilterOption & string & CaseFilterType.ALL);\n\ninterface StandardsFilterState {\n [CaseFilterType.MY]: StandardsFilterParam;\n [CaseFilterType.ALL]: StandardsFilterParam;\n selectedCaseFilterType: CaseFilterType;\n}\n\nconst SAVED_STATE_MARK = 'standards-filter-params';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StandardsFilterParamsStore\n extends MyAllFilterParamsStore\n implements StateSavingService\n{\n constructor() {\n super(\n getDefaultColumnFilters({\n ...DEFAULT_UNDEFINED_PARAMS,\n [StandardsStatusCheckboxFilter.active]: STANDARDS_DEFAULT_FILTER,\n }),\n SAVED_STATE_MARK,\n { ...DEFAULT_UNDEFINED_PARAMS },\n HomePath.standards\n );\n this.returnBackToAppStore.wasAppRestoredFromOneOrmUi.pipe(take(1)).subscribe(res => {\n if (isFalse(res)) {\n this.saveState(\n getDefaultColumnFilters({ ...DEFAULT_UNDEFINED_PARAMS, [StandardsStatusCheckboxFilter.active]: STANDARDS_DEFAULT_FILTER })\n );\n }\n });\n }\n\n override setDefaultParams(selectedCaseFilterType?: CaseFilterType): void {\n this.updateParams({\n ...DEFAULT_UNDEFINED_PARAMS,\n [StandardsStatusCheckboxFilter.active]: STANDARDS_DEFAULT_FILTER,\n selectedCaseFilterType,\n });\n }\n\n override pickFilterParams(params: Params): StandardsFilterParam {\n let filterParams: Partial = {};\n\n const validKeys: (keyof StandardsFilterParam)[] = [\n StandardsAutocompleteFilter.owner,\n StandardsAutocompleteFilter.topic,\n StandardsStatusCheckboxFilter.active,\n StandardsStatusCheckboxFilter.inactive,\n 'selectedCaseFilterType',\n 'fullTextSearch',\n ];\n\n validKeys.forEach(key => {\n if (params[key]) {\n filterParams[key] = JSON.parse(params[key]) as FilterParams;\n }\n });\n\n return filterParams as StandardsFilterParam;\n }\n}\n","import { StringArrayKeysToObjectType } from '@shared/utils';\n\nimport { FilterName } from './filter.model';\n\nexport class FilterAdvancedPredicatesModel\n implements FilterName\n{\n filterName: string;\n field: FieldName;\n filtersValues: FilterKeys;\n predicate: (value: Value, filter: StringArrayKeysToObjectType) => boolean;\n\n constructor(\n filterName: string,\n field: FieldName,\n filtersValues: FilterKeys,\n predicate: (value: Value, filter: StringArrayKeysToObjectType) => boolean\n ) {\n this.filterName = filterName;\n this.field = field;\n this.filtersValues = filtersValues;\n this.predicate = predicate;\n }\n}\n","import { FilterDropdownDef } from './filter-dropdown-def.model';\n\nexport class FilterAutocompleteDef extends FilterDropdownDef {}\n","import { FilterAdvancedModel } from './filter-advanced.model';\nimport { FilterCheckboxDefinitionModel } from './filter-checkbox-definition.model';\nimport { FilterName, FilterType } from './filter.model';\n\nexport class FilterCheckboxGroupModel<\n F extends string = string,\n FILTER extends string = string,\n LABEL extends string = string,\n VALUE = string,\n >\n implements FilterName, FilterType\n{\n filterName: F;\n header: string | undefined;\n checkboxFilters: FilterCheckboxDefinitionModel[];\n type: string;\n predicateModel: FilterAdvancedModel['predicatesModels'][0];\n className?: string;\n\n constructor(\n header: string | undefined,\n checkboxFilters: FilterCheckboxDefinitionModel[],\n predicateModel?: FilterAdvancedModel['predicatesModels'][0],\n filterName?: F,\n className?: string\n ) {\n this.header = header;\n this.checkboxFilters = checkboxFilters;\n this.predicateModel = predicateModel;\n this.filterName = filterName;\n this.className = className;\n }\n}\n","import { FilterDropdownOption } from '@shared/models';\n\nimport { FilterName, FilterType } from './filter.model';\n\nexport class FilterDropdownDef implements FilterName, FilterType {\n filterName: F;\n label: string;\n options: FilterDropdownOption[];\n type: string;\n\n constructor(filterName: F, label: string, options: FilterDropdownOption[], type?: string) {\n this.filterName = filterName;\n this.label = label;\n this.options = options;\n this.type = type;\n }\n}\n","import { searchInObject } from '@shared/utils';\n\nimport { FilterName } from './filter.model';\n\nexport class FilterFullTextSearchDefinitionModel implements FilterName {\n filterName = 'search';\n fields: string[];\n\n constructor(fields: string[]) {\n this.fields = fields;\n }\n\n predicate: (value: string | object, filter: string) => boolean = (value: string | object, filter: string): boolean =>\n searchInObject(value, filter);\n}\n","export enum KeyControlsFilterName {\n keyControls = 'keyControls',\n nonKeyControls = 'nonKeyControls',\n}\n\nexport interface KeyControlsFilter {\n keyControls?: boolean;\n nonKeyControls?: boolean;\n}\n\nexport const filterByKeyControlsFilterKeys = [KeyControlsFilterName.keyControls, KeyControlsFilterName.nonKeyControls] as const;\nexport interface KeyControlsCheckboxFilter {\n keyControls?: boolean;\n nonKeyControls?: boolean;\n}\nexport enum KeyControlsCheckboxFilterValue {\n keyControls = 'Key Controls',\n nonKeyControls = 'Non-Key Controls',\n}\n\nexport enum RatingFilterName {\n effectiveRating = 'effectiveRating',\n notEffectiveRating = 'notEffectiveRating',\n notAssessedRating = 'notAssessedRating',\n notApplicableRating = 'notApplicableRating',\n}\nexport const ratingFilterKeys = [\n RatingFilterName.effectiveRating,\n RatingFilterName.notEffectiveRating,\n RatingFilterName.notAssessedRating,\n RatingFilterName.notApplicableRating,\n] as const;\n\nexport interface RatingFilter {\n notEffectiveRating?: boolean;\n notAssessedRating?: boolean;\n notApplicableRating?: boolean;\n effectiveRating?: boolean;\n}\n","export abstract class Adapter {\n abstract fromDto(dto: DtoModel): Model;\n abstract toDto?(entity: Model): DtoModel | undefined;\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { Option } from '@shared/models';\nimport { isNil, isNotNil } from '@shared/utils';\n\nexport abstract class EnumOptionAdapter extends Adapter {\n static fromDto(dto: RiskCaseEnumItem[]): Option[] {\n if (isNil(dto) || isNil(dto[0])) {\n return [];\n }\n return dto.map(({ id, name, description }) => {\n const hasDescription = isNotNil(description) && description.trim() !== '';\n const label = hasDescription\n ? `${name} ${EnumOptionAdapter.getLeadingBracket(description)}${description}${EnumOptionAdapter.getTrailingBracket(description)}`\n : name;\n\n return {\n id,\n label: label?.trim() ?? '',\n };\n });\n }\n\n static toDto(option: Option): RiskCaseEnumItem {\n if (isNil(option)) {\n return undefined;\n }\n\n return {\n id: option.id,\n name: option.label,\n };\n }\n\n private static getLeadingBracket(description: string): string {\n return description.startsWith('(') ? '' : '(';\n }\n\n private static getTrailingBracket(description: string): string {\n return description.endsWith(')') ? '' : ')';\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { findEnumItem, getEventsRiskCaseStatusFilter } from '@shared/utils';\n\nimport { EventsCheckboxFilter } from '../../home/model/events-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nconst DRAFT_ID = 6;\nconst OPEN_ID = 8;\nconst CLOSED_ID = 10;\nconst CANCELLED_ID = 11;\n\ninterface EventsStatusEnumItem {\n draftEnumItem: RiskCaseEnumItem;\n openEnumItem: RiskCaseEnumItem;\n closedEnumItem: RiskCaseEnumItem;\n cancelledEnumItem: RiskCaseEnumItem;\n}\n\nconst FILTERS: Record = {\n draftEnumItem: DRAFT_ID,\n openEnumItem: OPEN_ID,\n closedEnumItem: CLOSED_ID,\n cancelledEnumItem: CANCELLED_ID,\n};\n\nexport abstract class EventsStatusEnumAdapter extends Adapter<\n Record,\n RiskCaseEnumItem[]\n> {\n static fromDto(dto: RiskCaseEnumItem[]): Record {\n const { draftEnumItem, openEnumItem, closedEnumItem, cancelledEnumItem } = Object.keys(FILTERS).reduce(\n (result, key) => {\n result[key as keyof EventsStatusEnumItem] = findEnumItem(dto, FILTERS[key as keyof EventsStatusEnumItem]);\n return result;\n },\n {\n draftEnumItem: undefined,\n openEnumItem: undefined,\n closedEnumItem: undefined,\n cancelledEnumItem: undefined,\n } as EventsStatusEnumItem\n );\n\n return getEventsRiskCaseStatusFilter(draftEnumItem, openEnumItem, closedEnumItem, cancelledEnumItem);\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { EventsCheckboxFilter, EventsTypeCheckboxFilter, EventsTypeCheckboxFilterValue } from '../../home/model/events-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nconst ACTUAL_LOSS_MARK = 'Actual Loss';\nconst INCIDENT_MARK = 'Incident';\n\nexport abstract class EventsTypeEnumAdapter extends Adapter<\n Record,\n RiskCaseEnumItem[]\n> {\n static fromDto(dto: RiskCaseEnumItem[]): Record {\n return {\n type: new FilterCheckboxGroupModel('Type', [\n {\n filterName: EventsTypeCheckboxFilter.incident,\n label: EventsTypeCheckboxFilterValue.incident,\n value: dto\n .filter(item => item.name === INCIDENT_MARK)\n .map(({ id }) => id)[0]\n ?.toString(),\n },\n {\n filterName: EventsTypeCheckboxFilter.loss,\n label: EventsTypeCheckboxFilterValue.loss,\n value: dto\n .filter(item => item.name === ACTUAL_LOSS_MARK)\n .map(({ id }) => id)[0]\n ?.toString(),\n },\n ]),\n };\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { getIdFromEnumItem } from '@shared/utils/other/get-id-from-enum-item';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client';\n\nimport { lowImpactRatingId, moderateImpactRatingId, elevatedImpactRatingId, highImpactRatingId } from '@shared/constants';\n\nimport {\n IssuesCheckboxFilter,\n IssuesImpactRatingCheckboxFilter,\n IssuesImpactRatingCheckboxFilterValue,\n} from '../../home/model/issues-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nexport abstract class IssueRatingEnumAdapter extends Adapter<\n Record,\n RiskCaseEnumItem[]\n> {\n static fromDto(dto: RiskCaseEnumItem[]): Record {\n return {\n impactRating: new FilterCheckboxGroupModel(\n 'Impact rating',\n [\n {\n filterName: IssuesImpactRatingCheckboxFilter.low,\n label: IssuesImpactRatingCheckboxFilterValue.low,\n value: getIdFromEnumItem(dto, lowImpactRatingId),\n },\n {\n filterName: IssuesImpactRatingCheckboxFilter.moderate,\n label: IssuesImpactRatingCheckboxFilterValue.moderate,\n value: getIdFromEnumItem(dto, moderateImpactRatingId),\n },\n {\n filterName: IssuesImpactRatingCheckboxFilter.elevated,\n label: IssuesImpactRatingCheckboxFilterValue.elevated,\n value: getIdFromEnumItem(dto, elevatedImpactRatingId),\n },\n {\n filterName: IssuesImpactRatingCheckboxFilter.high,\n label: IssuesImpactRatingCheckboxFilterValue.high,\n value: getIdFromEnumItem(dto, highImpactRatingId),\n },\n ]\n ),\n };\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { findEnumItem, getIssuesRiskCaseStatusFilter } from '@shared/utils';\n\nimport { IssuesCheckboxFilter } from '../../home/model/issues-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nconst DRAFT_ID = 23;\nconst OPEN_ID = 25;\nconst COMPLETED_ID = 30;\nconst CANCELLED_ID = 36;\n\ninterface IssuesStatusEnumItem {\n draftEnumItem: RiskCaseEnumItem;\n openEnumItem: RiskCaseEnumItem;\n completedEnumItem: RiskCaseEnumItem;\n cancelledEnumItem: RiskCaseEnumItem;\n}\n\nconst FILTERS: Record = {\n draftEnumItem: DRAFT_ID,\n openEnumItem: OPEN_ID,\n completedEnumItem: COMPLETED_ID,\n cancelledEnumItem: CANCELLED_ID,\n};\n\nexport abstract class IssuesStatusEnumAdapter extends Adapter<\n Record,\n RiskCaseEnumItem[]\n> {\n static fromDto(dto: RiskCaseEnumItem[]): Record {\n const { draftEnumItem, openEnumItem, completedEnumItem, cancelledEnumItem } = Object.keys(FILTERS).reduce(\n (result, key) => {\n result[key as keyof IssuesStatusEnumItem] = findEnumItem(dto, FILTERS[key as keyof IssuesStatusEnumItem]);\n return result;\n },\n {\n draftEnumItem: undefined,\n openEnumItem: undefined,\n completedEnumItem: undefined,\n cancelledEnumItem: undefined,\n } as IssuesStatusEnumItem\n );\n\n return getIssuesRiskCaseStatusFilter(draftEnumItem, openEnumItem, completedEnumItem, cancelledEnumItem);\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client';\n\nimport { secondLineIdentifiedLodId, selfIdentifiedLodId, thirdLineIdentifiedLodId } from '@shared/constants';\n\nimport {\n IssuesCheckboxFilter,\n IssuesIdentifyingLodCheckboxFilter,\n IssuesIdentifyingLodCheckboxFilterValue,\n} from '../../home/model/issues-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nexport abstract class LodEnumAdapter extends Adapter<\n Record,\n RiskCaseEnumItem[]\n> {\n static fromDto(dto: RiskCaseEnumItem[]): Record {\n return {\n identifyingLod: new FilterCheckboxGroupModel(\n 'Identifying line of defense',\n [\n {\n filterName: IssuesIdentifyingLodCheckboxFilter.self,\n label: IssuesIdentifyingLodCheckboxFilterValue.self,\n value: LodEnumAdapter.getIdFromEnumItem(dto, selfIdentifiedLodId),\n },\n {\n filterName: IssuesIdentifyingLodCheckboxFilter.secondLine,\n label: IssuesIdentifyingLodCheckboxFilterValue.secondLine,\n value: LodEnumAdapter.getIdFromEnumItem(dto, secondLineIdentifiedLodId),\n },\n {\n filterName: IssuesIdentifyingLodCheckboxFilter.thirdLine,\n label: IssuesIdentifyingLodCheckboxFilterValue.thirdLineLine,\n value: LodEnumAdapter.getIdFromEnumItem(dto, thirdLineIdentifiedLodId),\n },\n ]\n ),\n };\n }\n\n static getIdFromEnumItem(dto: RiskCaseEnumItem[], id: number): string {\n return dto.find(enumItem => enumItem.id === id)?.id.toString();\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\nimport { RiskCaseView } from 'oneorm-api-http-client';\n\nimport { RiskCaseType, RiskCaseViewFE } from '@shared/models';\nimport { isNil } from '@shared/utils';\n\nexport abstract class RiskCasesAdapter extends Adapter {\n static fromDto(dto: RiskCaseView[]): RiskCaseViewFE[] {\n if (isNil(dto)) {\n return [];\n }\n\n return dto.map(\n riskCase =>\n ({\n ...riskCase,\n class_name: riskCase.class_name as RiskCaseType,\n actionOwner: {\n user_name: riskCase.action_item_assignee,\n user_id: riskCase.action_item_assignee_id,\n user_status: '',\n },\n actionDelegate: {\n user_name: riskCase.action_item_delegate,\n user_id: riskCase.action_item_delegate_id,\n user_status: '',\n },\n creator: {\n user_name: riskCase.creator_name,\n user_id: riskCase.creator_id,\n user_status: riskCase.creator_status,\n },\n owner: {\n user_name: riskCase.owner_name,\n user_id: riskCase.owner_id,\n user_status: riskCase.owner_status,\n },\n delegate: {\n user_name: riskCase.delegate_name,\n user_id: riskCase.delegate_id,\n user_status: riskCase.delegate_status,\n },\n rcsa_owner: {\n user_name: riskCase.rcsa_owner_name,\n user_id: riskCase.rcsa_owner_id,\n user_status: riskCase.rcsa_owner_status,\n },\n risk_manager: {\n user_name: riskCase.risk_manager_name,\n user_id: riskCase.risk_manager_id,\n user_status: riskCase.risk_manager_status,\n },\n governanceCoordinator: {\n user_name: riskCase.governance_coordinator,\n user_id: riskCase.governance_coordinator_id,\n user_status: '',\n },\n identifyingLod: {\n name: riskCase.lod,\n id: riskCase.lod_id,\n },\n impactRating: {\n name: riskCase.impact_rating,\n id: riskCase.impact_rating_id,\n },\n status: {\n name: riskCase.status,\n id: riskCase.status_id,\n },\n }) as RiskCaseViewFE\n );\n }\n}\n","import { Adapter } from '@shared/adapters/adapter';\n\nimport { RiskCaseViewFE, UserSettings } from '@shared/models';\nimport { invert, isEmpty, isNil, isNotNil } from '@shared/utils';\n\nimport { DefaultColumnDefinition, DefaultColumnsDefinitions, UserSettingsColumnsDef } from '../../home/constants/column-definitions';\nimport { disabledColumnFields, userSettingsTypeToDefaultColumns } from '../../home/constants/default-columns';\nimport { UserSettingsEvent } from '../../home/model/user-settings-event.enum';\n\n// TODO: Remove once BE is adopted to 'USER' objects\nconst NAME_TO_USER_OBJECT: Partial> = {\n creator_name: 'creator',\n delegate_name: 'delegate',\n owner_name: 'owner',\n rcsa_owner_name: 'rcsa_owner',\n risk_manager_name: 'risk_manager',\n governance_coordinator: 'governanceCoordinator',\n};\n\nconst USER_OBJECT_TO_NAME: Partial> = invert(NAME_TO_USER_OBJECT);\n\nexport abstract class UserSettingsAdapter extends Adapter, UserSettings[]> {\n static fromDto(\n dto: UserSettings[],\n columnDefinitions: DefaultColumnsDefinitions,\n type: UserSettingsEvent\n ): UserSettingsColumnsDef {\n if (isNil(dto)) {\n return [];\n }\n\n if (isEmpty(dto)) {\n dto.push(...(userSettingsTypeToDefaultColumns[type] as UserSettings[]));\n }\n\n return dto\n .filter(userSettings => userSettings.field !== 'columnAction')\n .filter(userSettings => !disabledColumnFields[type]?.includes(userSettings.field))\n .map(UserSettingsAdapter.mapRiskCaseUserSettingToUserTypeField)\n .map(userSettings => {\n if (isNil(columnDefinitions)) {\n console.warn('There are no column definitions provided.');\n return userSettings;\n }\n\n const column: DefaultColumnDefinition = columnDefinitions[userSettings.field as keyof T as Extract];\n\n if (isNil(column)) {\n console.warn(`There is missing column definition for ${userSettings.field}`);\n return undefined;\n }\n\n return {\n ...userSettings,\n ...(isNotNil(column) && { ...column }),\n };\n })\n .filter(isNotNil) as unknown as UserSettingsColumnsDef;\n }\n\n static toDto(columns: UserSettingsColumnsDef): UserSettings[] | undefined {\n if (isNil(columns)) {\n return undefined;\n }\n\n return columns\n .filter(col => col.field !== 'columnAction')\n .map(\n col =>\n ({\n field: col.field,\n header: col.header,\n filter: col.filter,\n mode: col.mode,\n isVisible: col.isVisible,\n index: col.index,\n selectIndex: col.selectIndex,\n ...(isNotNil(col.subfield) && { subfield: col.subfield }),\n }) as UserSettings\n )\n .map(UserSettingsAdapter.mapRiskCaseUserSettingsToOldField);\n }\n\n private static mapRiskCaseUserSettingToUserTypeField(userSettings: UserSettings): UserSettings {\n if (isNil(NAME_TO_USER_OBJECT[userSettings.field as keyof RiskCaseViewFE])) {\n return userSettings;\n }\n return {\n ...userSettings,\n field: NAME_TO_USER_OBJECT[userSettings.field as keyof RiskCaseViewFE],\n };\n }\n\n private static mapRiskCaseUserSettingsToOldField(userSettings: UserSettings): UserSettings {\n if (isNil(USER_OBJECT_TO_NAME[userSettings.field as keyof RiskCaseViewFE])) {\n return userSettings;\n }\n return {\n ...userSettings,\n field: USER_OBJECT_TO_NAME[userSettings.field as keyof RiskCaseViewFE],\n };\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, TemplateRef } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogRef } from '@angular/material/dialog';\n\nimport { DialogComponent } from '@shared/dialog';\nimport { IsNotNilPipe } from '@shared/pipe';\n\ninterface AlertDialogDataBase {\n title: string;\n}\n\ninterface AlertDialogWithMessage extends AlertDialogDataBase {\n message: string;\n templateRef?: never;\n}\n\ninterface AlertDialogWithTemplate extends AlertDialogDataBase {\n templateRef: TemplateRef;\n message?: never;\n}\n\nexport type AlertDialogData = AlertDialogWithMessage | AlertDialogWithTemplate;\n\n@Component({\n selector: 'app-alert-dialog',\n template: `\n \n @if (data.templateRef | isNotNil) {\n \n } @else {\n {{ data.message }}\n }\n \n \n \n \n \n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DialogComponent, MatDialogActions, MatButton, MatDialogClose, IsNotNilPipe, NgTemplateOutlet],\n})\nexport class AlertDialogComponent {\n readonly data = inject(MAT_DIALOG_DATA);\n\n private readonly dialogRef = inject(MatDialogRef);\n\n onCancelButtonClick(): void {\n this.dialogRef.close();\n }\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteTrigger, MatOption } from '@angular/material/autocomplete';\nimport { MatFormField, MatLabel } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { Observable, startWith } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { FilterDropdownOption } from '@shared/models';\nimport { isEmpty, isNil, isNotNil } from '@shared/utils';\n\n@Component({\n selector: 'app-autocomplete',\n template: `\n \n {{ label }}\n \n \n None\n @defer (on viewport) {\n @for (option of filteredOptions$ | async; track option.id) {\n {{ option.label }}\n }\n } @placeholder {\n Loading...\n }\n \n \n `,\n standalone: true,\n imports: [MatFormField, MatLabel, MatAutocomplete, MatOption, ReactiveFormsModule, MatAutocompleteTrigger, MatInput, AsyncPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteComponent {\n @Input() label: string;\n @Input({\n required: true,\n })\n inputFormControl: FormControl>;\n\n @Output() optionSelected = new EventEmitter>();\n\n availableOptions: FilterDropdownOption[] = [];\n filteredOptions$: Observable[]>;\n\n @Input() set options(options: FilterDropdownOption[]) {\n this.availableOptions = options;\n this.filteredOptions$ = this.getFilteredOptions();\n }\n\n displayFn(option: FilterDropdownOption): string {\n return isNotNil(option) ? option.label : '';\n }\n\n private filterOptions(value: FilterDropdownOption | string): FilterDropdownOption[] {\n if (isNil(value) || isEmpty(value)) {\n return this.availableOptions;\n }\n\n if (typeof value === 'string') {\n return this.availableOptions.filter(option => option.label.toLowerCase().includes(value.toLowerCase()));\n }\n\n const label = value.label.toLowerCase();\n return this.availableOptions.filter(option => option.label.toLowerCase().includes(label));\n }\n\n private getFilteredOptions(): Observable[]> {\n return this.inputFormControl.valueChanges.pipe(\n startWith(''),\n map(value => this.filterOptions(value))\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { Table } from 'primeng/table';\n\nimport { FilterFullTextSearchDefinitionModel } from '../../rcsa/filter/filter-full-text-search-definition.model';\n\n@Component({\n selector: 'app-base-full-text-filter',\n template: `\n \n {{ label }}\n search\n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatFormFieldModule, MatIconModule, MatInputModule, FormsModule],\n standalone: true,\n})\nexport class BaseFullTextFilterComponent implements OnInit {\n @Input() label = 'Keyword search';\n @Input({\n required: true,\n })\n table: Table;\n @Input({\n required: true,\n })\n fullTextFilterModel: FilterFullTextSearchDefinitionModel;\n\n value: string = '';\n\n ngOnInit(): void {\n this.registerCustomFilter();\n }\n\n onInputValueChange(value: string): void {\n this.value = value;\n this.applyFullTextSearch(value);\n }\n\n protected applyFullTextSearch(value: string): void {\n if (!this.table) {\n console.warn('Table instance not provided.');\n return;\n }\n this.table.lazy = false;\n this.table.filterGlobal(value, 'search');\n }\n\n protected registerCustomFilter(): void {\n if (!this.table) {\n return;\n }\n this.table.filterService.register(this.fullTextFilterModel.filterName, this.fullTextFilterModel.predicate);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { version } from '../../../environments/version';\n\n@Component({\n selector: 'app-commit-version',\n template: ` Commit Hash: {{ commitHash }} `,\n standalone: true,\n})\nexport class VersionComponent {\n readonly commitHash = version?.hash;\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, numberAttribute, Output } from '@angular/core';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport {\n MatAccordionTogglePosition,\n MatExpansionPanel,\n MatExpansionPanelContent,\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from '@angular/material/expansion';\nimport { MatRadioButton } from '@angular/material/radio';\n\nimport { IsFalsePipe, ToStringPipe } from '@shared/pipe';\n\n@Component({\n selector: 'app-expansion-panel',\n template: `\n \n \n \n @if ((multiSelect | isFalse) && (hideSelectionIndicator | isFalse)) {\n \n } @else if (hideSelectionIndicator | isFalse) {\n \n }\n \n \n \n \n \n \n \n \n \n \n `,\n standalone: true,\n imports: [\n MatExpansionPanel,\n MatExpansionPanelContent,\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatRadioButton,\n IsFalsePipe,\n MatCheckbox,\n ToStringPipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ExpansionPanelComponent {\n @Input() selected = false;\n @Input() hideToggle = false;\n @Input() multiSelect = false;\n @Input() togglePosition: MatAccordionTogglePosition = 'before';\n @Input({ required: true, transform: numberAttribute }) id: number;\n @Input({ transform: booleanAttribute }) disabled = false;\n @Input({ transform: booleanAttribute }) expanded = false;\n @Input({ transform: booleanAttribute }) hideSelectionIndicator = false;\n @Output() bodyClick = new EventEmitter();\n\n private readonly expansionIndicatorClass = 'mat-expansion-indicator';\n\n onExpansionPanelClick(matExpansionPanel: MatExpansionPanel, event: Event): void {\n event.stopPropagation();\n\n if (this.disabled) {\n return;\n }\n\n if (!this.isExpansionIndicator(event.target as HTMLDivElement)) {\n matExpansionPanel.close();\n this.bodyClick.emit(this.id);\n }\n }\n\n private isExpansionIndicator(target: HTMLDivElement): boolean {\n return target.classList && target.classList.contains(this.expansionIndicatorClass);\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatChipListbox, MatChipOption, MatChipRemove } from '@angular/material/chips';\nimport { MatIcon } from '@angular/material/icon';\n\nimport { Option } from '@shared/models';\n\n@Component({\n selector: 'app-filter-chips',\n template: `\n \n @for (option of options; track option.id) {\n \n {{ option.label }}\n \n \n }\n \n `,\n standalone: true,\n imports: [MatChipListbox, MatChipOption, MatChipRemove, MatIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterChipsComponent {\n @Input({\n required: true,\n })\n options: Option[];\n @Output() chipRemoved = new EventEmitter>();\n\n onChipRemoved(option: Option): void {\n this.chipRemoved.emit(option);\n }\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { PopoverActionsDirective } from '@shared/directives/popover-actions.directive';\n\nimport { PopoverContainerComponent } from '@shared/components';\nimport { PopoverService } from '@shared/services';\n\n@Component({\n selector: 'app-filter-popover-content',\n template: `\n \n
{{ headerLabel }}
\n \n\n \n \n \n Apply\n \n \n
\n `,\n standalone: true,\n styles: [\n `\n :host {\n display: contents;\n }\n\n .header-container {\n margin-bottom: 1rem;\n }\n\n popover-actions {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n `,\n ],\n imports: [PopoverContainerComponent, PopoverActionsDirective, AsyncPipe, MatButtonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterPopoverContentComponent {\n @Input({\n required: true,\n })\n headerLabel: string;\n\n constructor(private readonly popoverService: PopoverService) {}\n\n onPopoverCloseButtonClicked(): void {\n this.popoverService.closePopover('button');\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatCard, MatCardContent } from '@angular/material/card';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatToolbar } from '@angular/material/toolbar';\nimport { RouterLink } from '@angular/router';\n\nimport { SkeletonLoaderDirective } from '@shared/directives';\n\n@Component({\n selector: 'app-full-height-container',\n template: `\n \n @if (loading) {\n
\n } @else {\n \n
\n {{ title }}\n
\n
\n \n }\n
\n \n \n \n \n \n `,\n styles: [\n `\n :host {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n `,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatToolbar, MatIconButton, MatIcon, MatCard, MatCardContent, RouterLink, SkeletonLoaderDirective],\n})\nexport class FullHeightContainerComponent {\n @Input({\n required: true,\n })\n title: string;\n @Input({\n required: true,\n })\n backUrl = '';\n @Input()\n loading = false;\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { FormsModule, NgModel } from '@angular/forms';\nimport { MatFormField } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-full-text-form-field',\n template: `\n \n \n \n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatFormField, MatInput, FormsModule],\n})\nexport class FullTextFormFieldComponent implements AfterViewInit, OnDestroy {\n @Input() placeholder: string;\n @Input() value: string;\n @Output() valueChange = new EventEmitter();\n\n @ViewChild('input') input: NgModel;\n\n private readonly destroy$ = new Subject();\n\n ngAfterViewInit(): void {\n this.input.valueChanges\n .pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe(query => this.valueChange.emit(query));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","export * from './expansion-panel/expansion-panel.component';\nexport * from './overlay-spinner/overlay-spinner.component';\nexport * from './overlay-spinner/overlay-spinner.service';\nexport * from './popover-container/popover-container.component';\nexport * from './read-more/read-more.component';\nexport * from './selection-tree/selection-tree.component';\nexport * from './selection-tree/tree.model';\nexport * from './stepper/index';\nexport * from './table-error-message/table-error-message.component';\nexport * from './text-input-highlight/index';\nexport * from './user-guide/user-guide.component';\nexport * from './alert-dialog.component';\nexport * from './autocomplete.component';\nexport * from './base-table-full-text-filter.component';\nexport * from './commit-version.component';\nexport * from './filter-chips.component';\nexport * from './filter-popover-content.component';\nexport * from './full-height-container.component';\nexport * from './full-text-form-field.component';\nexport * from './selectable-card.component';\nexport * from './skeleton-loader.component';\nexport * from './users-search-form-field.component';\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, effect, inject, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { OverlaySpinnerService } from '@shared/components/overlay-spinner/overlay-spinner.service';\n\n@Component({\n selector: 'app-overlay-spinner',\n template: `\n \n \n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [MatProgressSpinner],\n})\nexport class OverlaySpinnerComponent implements OnInit {\n @ViewChild('progressSpinner')\n private readonly progressSpinner: TemplateRef;\n\n readonly diameter = 64;\n readonly strokeWidth = 2;\n\n private overlayRef: OverlayRef;\n private readonly vcRef = inject(ViewContainerRef);\n private readonly overlaySpinnerService = inject(OverlaySpinnerService);\n\n constructor() {\n effect(() => {\n if (this.overlaySpinnerService.loading() && !this.overlayRef.hasAttached()) {\n this.overlaySpinnerService.attachTemplatePortal(this.overlayRef, this.progressSpinner, this.vcRef);\n } else if (!this.overlaySpinnerService.loading() && this.overlayRef.hasAttached()) {\n this.overlayRef.detach();\n }\n });\n }\n\n ngOnInit(): void {\n this.overlayRef = this.overlaySpinnerService.createOverlay();\n }\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { inject, Injectable, signal, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OverlaySpinnerService {\n readonly loading = signal(false);\n private readonly overlay = inject(Overlay);\n\n showLoader(): void {\n this.loading.set(true);\n }\n\n hideLoader(): void {\n this.loading.set(false);\n }\n\n createOverlay(config?: Omit): OverlayRef {\n return this.overlay.create({\n ...config,\n hasBackdrop: true,\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n });\n }\n\n attachTemplatePortal(overlayRef: OverlayRef, templateRef: TemplateRef, vcRef: ViewContainerRef): void {\n overlayRef.attach(new TemplatePortal(templateRef, vcRef));\n }\n}\n","import { Component } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\n\n@Component({\n selector: 'app-popover-container',\n templateUrl: './popover-container.component.html',\n standalone: true,\n imports: [MatCardModule],\n})\nexport class PopoverContainerComponent {}\n","\n \n \n \n \n \n \n\n","import { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ShowMoreDirective } from '@shared/directives/show-more.directive';\nimport { RcsaControlRiskCase, RcsaRC } from 'oneorm-api-http-client';\n\nimport { ValueOf } from '@shared/utils';\n\ntype Data = RcsaRC & RcsaControlRiskCase;\n\ninterface ListData {\n list: Data[];\n nameShow: keyof Data;\n}\n\n@Component({\n selector: 'app-read-more',\n templateUrl: './read-more.component.html',\n styleUrls: ['./read-more.component.scss'],\n imports: [ShowMoreDirective, NgForOf, NgClass, NgIf],\n standalone: true,\n})\nexport class ReadMoreComponent {\n @Input() text: string;\n @Input() listData: ListData;\n @Input() clickedItem: boolean;\n @Input() tableRowNumber: number;\n @Input() noOfLines: number = 3;\n @Input() hideToggleFullText: boolean = false;\n @Output() listItemOutput = new EventEmitter();\n @Output() toggleFullText = new EventEmitter();\n @Output() textClickEmit = new EventEmitter();\n\n hideToggle: boolean = true;\n\n itemClick(itemData: Data): void {\n if (this.clickedItem) {\n this.listItemOutput.emit(itemData);\n return;\n }\n this.textClickEmit.emit(this.hideToggleFullText);\n }\n\n showMoreWork(showMoreValue: boolean): void {\n this.hideToggle = showMoreValue;\n }\n\n showMoreToggelButton(): void {\n this.hideToggleFullText = !this.hideToggleFullText;\n this.toggleFullText.emit(this.hideToggleFullText);\n }\n\n showItem(item: Data, attr: keyof Data): ValueOf {\n return item[attr];\n }\n\n textClick(): void {\n this.textClickEmit.emit(this.hideToggleFullText);\n }\n}\n","
\n
\n
\n\n \n \n {{ showItem(item, listData.nameShow) }}\n\n (draft)\n (draft)\n
\n \n \n \n
\n \n {{ hideToggleFullText ? '... show less' : '... show more' }}\n \n
\n
\n\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, numberAttribute, Output } from '@angular/core';\nimport { MatCard, MatCardContent, MatCardHeader, MatCardTitle } from '@angular/material/card';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatRadioButton } from '@angular/material/radio';\n\nimport { SelectableDirective } from '../directives/selectable.directive';\n\nexport type SelectionType = 'single' | 'multi';\n\n@Component({\n selector: 'app-selectable-card',\n template: `\n \n \n \n
\n @if (selectionType === 'single') {\n \n } @else {\n \n }\n
\n \n \n \n
\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatCard, SelectableDirective, MatCardHeader, MatCardTitle, MatRadioButton, MatCardContent, MatCheckbox],\n})\nexport class SelectableCardComponent {\n @Input({\n transform: booleanAttribute,\n })\n fullHeight = false;\n @Input() selectionType: 'single' | 'multi' = 'single';\n @Input({\n transform: numberAttribute,\n })\n id: number;\n @Input({\n transform: booleanAttribute,\n })\n selected: boolean;\n @Output() selectChange = new EventEmitter();\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkeletonLoaderDirective } from '@shared/directives';\nimport { IsTruePipe } from '@shared/pipe';\n\n@Component({\n selector: 'app-selection-tree-defer-loading-skeleton',\n template: `\n
\n @for (_ of skeletons; track $index) {\n
\n }\n
\n `,\n styles: [\n `\n .container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n `,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IsTruePipe, SkeletonLoaderDirective],\n})\nexport class SelectionTreeDeferLoadingSkeletonComponent {\n readonly height = '48px';\n readonly width = '250px';\n readonly borderRadius = '16px';\n readonly skeletons = Array(10).fill(0);\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatIcon } from '@angular/material/icon';\nimport {\n MatNestedTreeNode,\n MatTree,\n MatTreeNestedDataSource,\n MatTreeNode,\n MatTreeNodeDef,\n MatTreeNodeOutlet,\n MatTreeNodeToggle,\n} from '@angular/material/tree';\n\nimport { TreeNode } from '@shared/components';\nimport { IsFalsePipe, IsTruePipe } from '@shared/pipe';\nimport { isEmpty, isEqual, isNil, isNotEmpty, isTrue } from '@shared/utils';\n\nimport { SelectionTreeDeferLoadingSkeletonComponent } from './selection-tree-defer-loading-skeleton.component';\n\n@Component({\n selector: 'app-selection-tree',\n template: `\n @defer (on viewport) {\n \n \n
\n @if (readonlyNodes | isTrue) {\n \n {{ node.name }}\n } @else {\n \n {{ node.name }}\n \n }\n
\n
\n \n
\n \n @if (readonlyNodes | isTrue) {\n \n {{ node.name }}\n } @else {\n \n {{ node.name }}\n \n }\n
\n @if (treeControl.isExpanded(node)) {\n
\n \n
\n }\n
\n
\n } @placeholder {\n \n }\n `,\n styles: [\n `\n mat-tree.selection-tree {\n $indent: 24px;\n\n > mat-tree-node > .mat-tree-node.no-child {\n padding-left: $indent;\n }\n\n .mat-nested-tree-node div[role='group'],\n div[role='group'] > .mat-tree-node {\n padding-left: $indent;\n }\n }\n `,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatTree,\n MatTreeNode,\n MatTreeNodeDef,\n MatTreeNodeToggle,\n MatCheckbox,\n MatNestedTreeNode,\n MatIcon,\n MatTreeNodeOutlet,\n MatIconButton,\n IsFalsePipe,\n SelectionTreeDeferLoadingSkeletonComponent,\n IsTruePipe,\n ],\n})\nexport class SelectionTreeComponent implements AfterViewInit {\n @Input({\n transform: booleanAttribute,\n })\n expandAllOnInit = true;\n @Input({\n transform: booleanAttribute,\n })\n readonlyNodes = false;\n\n @Output()\n selectionChanged = new EventEmitter[]>();\n @Output()\n deleteButtonClick = new EventEmitter>();\n\n readonly treeControl: NestedTreeControl> = new NestedTreeControl>(node => node.children);\n readonly dataSource = new MatTreeNestedDataSource>();\n readonly checklistSelection = new SelectionModel>(true, [], true, (a, b) => this.compareFn(a, b));\n\n private readonly cdr = inject(ChangeDetectorRef);\n private deselectAllNodes: TreeNode[] = [];\n\n @Input({\n required: true,\n })\n set nodes(treeNodes: TreeNode[]) {\n if (this.readonlyNodes) {\n this.dataSource.data = null;\n }\n this.treeControl.dataNodes = treeNodes;\n this.dataSource.data = treeNodes;\n this.deselectAllNodes = this.findDeselectAllNodes(treeNodes);\n this.expandAllNodes();\n this.cdr.detectChanges();\n }\n\n @Input()\n set preSelectedNodes(nodes: TreeNode[]) {\n if (isNotEmpty(nodes)) {\n this.preSelectNodes(nodes);\n }\n }\n\n ngAfterViewInit(): void {\n this.expandAllNodes();\n }\n\n hasChild = (_: number, node: TreeNode): boolean => !!node.children && node.children.length > 0;\n\n trackByNodeId(index: number, node: TreeNode): number {\n return node.id;\n }\n\n descendantsPartiallySelected(node: TreeNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\n return result && !this.descendantsAllSelected(node);\n }\n\n descendantsAllSelected(node: TreeNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n return descendants.every(child => this.checklistSelection.isSelected(child));\n }\n\n deselectAll(): void {\n this.checklistSelection.clear();\n this.selectionChanged.emit(this.checklistSelection.selected);\n }\n\n selectNodes(nodeIds: TreeNode[]): void {\n this.checklistSelection.select(...nodeIds);\n this.selectionChanged.emit(this.checklistSelection.selected);\n }\n\n unSelectNodes(nodeIds: TreeNode[]): void {\n this.checklistSelection.deselect(...nodeIds);\n this.selectionChanged.emit(this.checklistSelection.selected);\n }\n\n onSelectionToggleChange(node: TreeNode): void {\n if (isTrue(node.deselectAllNode)) {\n return this.selectUncheckAllNode(node);\n }\n\n this.checklistSelection.deselect(...this.deselectAllNodes);\n this.checklistSelection.toggle(node);\n\n this.selectOrUnselectDescendants(node);\n this.checkAllParentsSelection(node);\n this.selectionChanged.emit(this.getSelectedNodesWithParents());\n }\n\n private descendantsAllDeselected(node: TreeNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n return descendants.every(child => !this.checklistSelection.isSelected(child));\n }\n\n private preSelectNodes(nodes: TreeNode[]): void {\n this.checklistSelection.clear();\n const preSelectedIds = new Set();\n\n nodes.forEach(node => this.collectIds(node, preSelectedIds));\n\n this.selectNodesRecursively(nodes, preSelectedIds);\n }\n\n private collectIds(node: TreeNode, preSelectedIds: Set): void {\n preSelectedIds.add(node.id);\n if (node.children) {\n node.children.forEach(child => this.collectIds(child, preSelectedIds));\n }\n }\n\n private selectNodesRecursively(subNodes: TreeNode[], preSelectedIds: Set): void {\n subNodes.forEach(node => {\n if (preSelectedIds.has(node.id)) {\n this.checklistSelection.select(node);\n }\n if (node.children) {\n this.selectNodesRecursively(node.children, preSelectedIds);\n }\n });\n }\n\n private compareFn(node1: TreeNode, node2: TreeNode): boolean {\n if (isNil(node1.id) && isNil(node2.id)) {\n return isEqual(node1, node2);\n }\n\n return node1.id === node2.id;\n }\n\n private selectOrUnselectDescendants(node: TreeNode): void {\n if (this.readonlyNodes) {\n return;\n }\n const descendants = this.treeControl.getDescendants(node);\n this.checklistSelection.isSelected(node)\n ? this.checklistSelection.select(...descendants)\n : this.checklistSelection.deselect(...descendants);\n }\n\n private selectUncheckAllNode(node: TreeNode): void {\n this.checklistSelection.clear();\n this.checklistSelection.toggle(node);\n this.selectionChanged.emit(this.checklistSelection.selected);\n }\n\n private checkAllParentsSelection(node: TreeNode): void {\n if (this.readonlyNodes) {\n return;\n }\n let parent = this.getParentNode(node);\n while (parent) {\n if (!this.descendantsAllSelected(parent)) {\n this.checklistSelection.deselect(parent);\n } else {\n this.checklistSelection.select(parent);\n }\n parent = this.getParentNode(parent);\n }\n }\n\n private getParentNode(node: TreeNode): TreeNode | undefined {\n let parent: TreeNode;\n this.dataSource.data.forEach(dataNode => {\n if (isEmpty(dataNode.children)) {\n return;\n }\n if (dataNode.children.some(child => child.id === node.id)) {\n parent = dataNode;\n return;\n }\n dataNode.children.forEach(childNode => {\n if (this.treeControl.getDescendants(childNode).some(child => child === node)) {\n parent = childNode;\n }\n });\n });\n return parent;\n }\n\n private findDeselectAllNodes(nodes: TreeNode[]): TreeNode[] {\n const deselectAllNodes: TreeNode[] = [];\n nodes.forEach(node => {\n if (isTrue(node.deselectAllNode)) {\n deselectAllNodes.push(node);\n }\n if (node.children) {\n deselectAllNodes.push(...this.findDeselectAllNodes(node.children));\n }\n });\n return deselectAllNodes;\n }\n\n private expandAllNodes(): void {\n if (this.expandAllOnInit) {\n this.treeControl.expandAll();\n this.cdr.detectChanges();\n }\n }\n\n private getSelectedNodesWithParents(): TreeNode[] {\n const selectedNodes = [...this.checklistSelection.selected];\n selectedNodes.forEach(node => {\n let parent = this.getParentNode(node);\n while (parent) {\n if (!this.descendantsAllSelected(parent) && !selectedNodes.includes(parent) && !this.descendantsAllDeselected(parent)) {\n selectedNodes.push(parent);\n }\n parent = this.getParentNode(parent);\n }\n });\n return selectedNodes;\n }\n}\n","export interface TreeNode {\n id: number;\n name: string;\n data?: T;\n children?: TreeNode[];\n deselectAllNode?: boolean;\n}\n","import { Component, ElementRef, OnInit } from '@angular/core';\n\n@Component({\n template: ``,\n styles: [\n `\n :host {\n width: var(--skeleton-width);\n height: var(--skeleton-height);\n border-radius: var(--skeleton-border-radius);\n margin: var(--skeleton-margin);\n\n display: block;\n background: rgb(239, 241, 246) no-repeat;\n\n animation: pulse 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;\n animation-delay: 0.5s;\n }\n\n @keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n opacity: 1;\n }\n }\n `,\n ],\n standalone: true,\n})\nexport class SkeletonLoaderComponent implements OnInit {\n width: string;\n height: string;\n borderRadius: string;\n margin: string;\n className: string;\n\n constructor(private readonly host: ElementRef) {}\n\n ngOnInit(): void {\n const host = this.host.nativeElement;\n\n if (this.className) {\n host.classList.add(this.className);\n }\n\n host.style.setProperty('--skeleton-width', this.width ?? '100%');\n host.style.setProperty('--skeleton-height', this.height ?? '20px');\n host.style.setProperty('--skeleton-border-radius', this.borderRadius ?? '4px');\n host.style.setProperty('--skeleton-margin', this.margin ?? '0');\n }\n}\n","export * from './stepper.component';\nexport * from './stepper-config.model';\n","import { IssueAllOf, OpEventAllOf } from 'oneorm-api-http-client';\n\ninterface StepButton {\n label: string;\n disabled?: boolean;\n visible?: boolean;\n hoverMessage?: string;\n}\n\ninterface BaseStep {\n label: string;\n route: string;\n buttons?: {\n primary?: StepButton;\n secondary?: StepButton;\n tertiary?: StepButton;\n };\n completed?: boolean;\n}\n\nexport interface SubStep<\n Key extends string = string,\n Index extends string = OpEventAllOf.LastWizardIndexEnum | IssueAllOf.LastWizardIndexEnum,\n> extends BaseStep {\n label: string;\n index: Index;\n stepperIndex: number;\n stepControlKey: Key;\n}\n\nexport interface OrmStep<\n SubSteps extends SubStep = SubStep,\n Key extends string = string,\n Index extends string = OpEventAllOf.LastWizardIndexEnum | IssueAllOf.LastWizardIndexEnum,\n> extends BaseStep {\n index?: Index;\n stepperIndex?: number;\n initialRoute?: string;\n subSteps?: SubSteps[];\n stepControlKey?: Key;\n}\n","import { NgComponentOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n signal,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { AbstractControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MatButton } from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { MatStepper, MatStepperModule } from '@angular/material/stepper';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\n\nimport { OrmStep, SubStep } from '@shared/components';\nimport { IsFalsePipe, IsNotEmptyPipe, IsNotNilPipe, IsTruePipe } from '@shared/pipe';\nimport { isEmpty, isNil, isNotEmpty, isNotNil } from '@shared/utils';\n\nimport { WizardForm, WizardFormMainKey } from '../../../wizard/wizard-form';\n\n@Component({\n selector: 'app-stepper',\n template: `\n
\n \n @for (step of ormSteps; track step.index; let parentStepperIndex = $index) {\n \n \n {{ step.label }}\n \n \n @if (step.subSteps | isNotEmpty) {\n \n @for (subStep of step.subSteps; track subStep.stepperIndex; let nestedStepperIndex = $index) {\n \n \n \n {{ subStep.label }}\n \n \n }\n \n } @else {\n \n \n \n }\n \n \n }\n \n
\n @if (route() | isNotNil) {\n \n }\n @if (selected() | isNotNil) {\n
\n
Step {{ currentIndex() }} of {{ stepsLength() }}
\n
\n @if (selected().buttons?.tertiary) {\n \n }\n\n @if (this.disabled | isFalse) {\n \n @if (selected().buttons?.secondary) {\n {{ selected().buttons.secondary.label }}\n } @else {\n Back\n }\n \n }\n\n \n @if (loading | isFalse) {\n @if (selected().buttons?.primary) {\n {{ selected().buttons.primary.label }}\n } @else {\n Next\n }\n } @else {\n \n }\n \n
\n
\n }\n
\n
\n `,\n standalone: true,\n styles: [\n `\n .stepper-container {\n height: calc(100% - 120px);\n width: 100%;\n display: grid;\n grid-template-columns: 0.5fr 5fr;\n\n .step-content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 0 1rem;\n height: 100%;\n\n .footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n .buttons {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n button.hidden {\n display: none;\n }\n }\n }\n }\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatStepperModule,\n NgComponentOutlet,\n IsNotEmptyPipe,\n MatButton,\n RouterOutlet,\n IsNotNilPipe,\n IsFalsePipe,\n MatProgressSpinner,\n ReactiveFormsModule,\n IsTruePipe,\n MatTooltip,\n ],\n})\nexport class StepperComponent<\n TControl extends {\n [K in keyof TControl]: AbstractControl;\n } = WizardForm,\n MainKey extends string = WizardFormMainKey,\n >\n implements OnInit, AfterViewInit\n{\n @Input({\n required: true,\n })\n ormSteps: OrmStep[];\n\n @Input({\n required: true,\n })\n form: FormGroup;\n\n @Input({\n transform: numberAttribute,\n })\n initialIndex = 0;\n\n @Input({\n transform: numberAttribute,\n })\n initialMainStepperIndex = 0;\n\n @Input({\n transform: booleanAttribute,\n })\n loading = false;\n\n @Input({\n transform: booleanAttribute,\n })\n disabled = false;\n\n @ViewChild('mainStepper', { static: true })\n readonly mainStepper: MatStepper;\n @ViewChildren('subStepper')\n readonly subSteppers: QueryList;\n\n @Output()\n stepValidationChanged = new EventEmitter();\n @Output()\n primaryButtonClick = new EventEmitter();\n @Output()\n tertiaryButtonClick = new EventEmitter();\n\n readonly isTertiaryButtonHidden = signal(false);\n readonly selected = signal(undefined);\n readonly currentIndex = computed(() => this.selected()?.stepperIndex + 1 ?? 1);\n readonly stepsLength = computed(() =>\n isNotEmpty(this.ormSteps) ? this.ormSteps[this.mainStepper.selectedIndex].subSteps.length : 0\n );\n readonly route = computed(() => {\n const selected = this.selected();\n return selected?.route;\n });\n\n protected linearMode = signal(true);\n\n private readonly router = inject(Router);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly cdr = inject(ChangeDetectorRef);\n\n ngOnInit(): void {\n if (isNotEmpty(this.ormSteps)) {\n this.selected.set(this.ormSteps[this.initialMainStepperIndex].subSteps[this.initialIndex]);\n }\n }\n\n ngAfterViewInit(): void {\n this.markAllAlreadyVisitedStepsAsInteracted();\n\n if (isNotNil(this.initialMainStepperIndex) && !isNaN(this.initialMainStepperIndex)) {\n this.mainStepper.selectedIndex = this.initialMainStepperIndex;\n this.cdr.detectChanges();\n }\n\n if (isNotNil(this.initialIndex) && !isNaN(this.initialIndex) && isNotNil(this.getCurrentSubStepper())) {\n this.getCurrentSubStepper().selectedIndex = this.getInitialIndexBasedOnCurrentSubStepper();\n this.cdr.detectChanges();\n }\n\n this.markAllAlreadyVisitedStepsAsSubmitted();\n }\n\n onPrimaryButtonClick(): void {\n const currentSubStepper = this.getCurrentSubStepper();\n if (isNil(currentSubStepper.selected.stepControl)) {\n this.primaryButtonClick.emit();\n return;\n }\n currentSubStepper.selected.stepControl.markAllAsTouched();\n if (currentSubStepper.selected.stepControl.invalid) {\n this.getCurrentSubStepper().selected.stepControl.markAllAsTouched();\n this.stepValidationChanged.emit();\n return;\n }\n\n currentSubStepper.selected.submitted = true;\n\n if (currentSubStepper.steps.length === currentSubStepper.selectedIndex + 1) {\n this.mainStepper.selected.submitted = true;\n }\n\n this.primaryButtonClick.emit();\n }\n\n nextStep(): void {\n const currentSubStepper = this.getCurrentSubStepper();\n if (isNotNil(currentSubStepper) && currentSubStepper.steps.length !== currentSubStepper.selectedIndex + 1) {\n currentSubStepper.next();\n } else {\n this.mainStepper.next();\n }\n }\n\n onSecondaryButtonClick(): void {\n const currentSubStepper = this.getCurrentSubStepper();\n if (isNotNil(currentSubStepper) && currentSubStepper.selectedIndex !== 0) {\n currentSubStepper.previous();\n } else {\n const initialRoute = this.findInitialRoute();\n if (this.mainStepper.selectedIndex === 0 && isNotNil(initialRoute)) {\n this.router.navigate([`/${initialRoute}`]);\n } else {\n this.mainStepper.previous();\n }\n }\n }\n\n onTertiaryButtonClick(): void {\n this.tertiaryButtonClick.emit();\n }\n\n onMainStepperSelectedIndexChange(index: number): void {\n if (this.disabled) {\n return;\n }\n this.selected.set(this.getSelectedStep(index));\n if (isNotNil(this.route())) {\n this.router.navigate([this.route()], {\n relativeTo: this.activatedRoute,\n queryParamsHandling: 'preserve',\n });\n }\n }\n\n onSubStepperSelectedIndexChange(index: number): void {\n if (this.disabled) {\n return;\n }\n this.selected.set(this.getSelectedSubStep(index));\n if (isNotNil(this.route())) {\n this.router.navigate([this.route()], {\n relativeTo: this.activatedRoute,\n queryParamsHandling: 'preserve',\n });\n }\n }\n\n setStepsAsNotSubmitted(indexes: number[]): void {\n indexes.forEach(index => {\n const step = this.getCurrentSubStepper().steps.toArray()[index];\n\n if (isNil(step)) {\n return;\n }\n\n step.submitted = false;\n });\n }\n\n private getInitialIndexBasedOnCurrentSubStepper(): number {\n if (this.initialMainStepperIndex === 0 || isNaN(this.initialMainStepperIndex)) {\n return this.initialIndex;\n }\n return this.initialIndex - this.ormSteps[this.initialMainStepperIndex].subSteps.length;\n }\n\n private getCurrentSubStepper(): MatStepper | undefined {\n const mainStepperIndex = this.mainStepper.selectedIndex;\n\n if (isEmpty(this.ormSteps[mainStepperIndex].subSteps) || isEmpty(this.subSteppers)) {\n return undefined;\n }\n\n return this.subSteppers.get(this.mainStepper.selectedIndex);\n }\n\n private getSelectedStep(index: number): OrmStep | SubStep | undefined {\n if (isEmpty(this.ormSteps)) {\n return undefined;\n }\n\n if (isNotEmpty(this.ormSteps[index].subSteps)) {\n return this.ormSteps[index].subSteps[0];\n }\n\n return this.ormSteps[index];\n }\n\n private getSelectedSubStep(index: number): SubStep | undefined {\n const mainStepperIndex = this.mainStepper.selectedIndex;\n\n if (isEmpty(this.ormSteps[mainStepperIndex].subSteps)) {\n return undefined;\n }\n\n return this.ormSteps[mainStepperIndex].subSteps[index];\n }\n\n private markAllAlreadyVisitedStepsAsInteracted(): void {\n this.getCurrentSubStepper()\n .steps.toArray()\n .slice(0, this.initialIndex)\n .forEach(step => {\n step.interacted = true;\n step.submitted = true;\n });\n\n this.mainStepper.steps\n .toArray()\n .slice(0, this.initialMainStepperIndex)\n .forEach(step => {\n step.interacted = true;\n step.submitted = true;\n });\n }\n\n private markAllAlreadyVisitedStepsAsSubmitted(): void {\n this.getCurrentSubStepper()\n .steps.toArray()\n .slice(0, this.getInitialIndexBasedOnCurrentSubStepper())\n .forEach(step => {\n step.submitted = true;\n });\n\n this.mainStepper.steps\n .toArray()\n .slice(0, this.initialMainStepperIndex)\n .forEach(step => {\n step.submitted = true;\n });\n }\n\n private findInitialRoute(): string | undefined {\n return this.ormSteps.find(step => step.initialRoute)?.initialRoute;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'app-table-error-message',\n template: `
`,\n styleUrls: ['./table-error-message.component.scss'],\n})\nexport class TableErrorMessageComponent {}\n","export interface HighlightTag {\n indices: {\n start: number;\n end: number;\n };\n cssClass?: string;\n data?: unknown;\n}\n","export * from './highlight-tag.model';\nexport * from './text-input-element.directive';\nexport * from './text-input-highlight.component';\nexport * from './text-input-highlight-container.directive';\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: 'textarea[appTextInputElement]',\n standalone: true,\n})\nexport class TextInputElementDirective {\n @HostBinding('class.text-input-element') textInputElementClassApplied = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[appTextInputHighlightContainer]',\n standalone: true,\n})\nexport class TextInputHighlightContainerDirective {\n @HostBinding('class.text-input-highlight-container') textInputHighlightContainerClassApplied = true;\n}\n","/**\n * Angular component used from library as they are not support current version of Angular\n */\n\nimport { NgStyle } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nimport { HighlightTag } from './highlight-tag.model';\n\nconst styleProperties = Object.freeze([\n 'direction', // RTL support\n 'boxSizing',\n 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n 'height',\n 'overflowX',\n 'overflowY', // copy the scrollbar for IE\n\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration', // might not make a difference, but better be safe\n\n 'letterSpacing',\n 'wordSpacing',\n\n 'tabSize',\n 'MozTabSize',\n]);\n\ninterface HighlightElement {\n element: HTMLElement;\n clientRect: DOMRect;\n}\n\nconst tagIndexIdPrefix = 'text-highlight-tag-id-';\n\nfunction indexIsInsideTag(index: number, tag: HighlightTag): boolean {\n return tag.indices.start < index && index < tag.indices.end;\n}\n\nfunction overlaps(tagA: HighlightTag, tagB: HighlightTag): boolean {\n return indexIsInsideTag(tagB.indices.start, tagA) || indexIsInsideTag(tagB.indices.end, tagA);\n}\n\nfunction isCoordinateWithinRect(rect: DOMRect, x: number, y: number): boolean {\n return rect.left < x && x < rect.right && rect.top < y && y < rect.bottom;\n}\n\nfunction escapeHtml(str: string): string {\n return str.replace(//g, '>');\n}\n\nexport interface TagMouseEvent {\n tag: HighlightTag;\n target: HTMLElement;\n event: MouseEvent;\n}\n\n@Component({\n selector: 'app-text-input-highlight',\n template: `\n
\n `,\n imports: [NgStyle],\n standalone: true,\n})\nexport class TextInputHighlightComponent implements OnChanges, OnDestroy {\n /**\n * The CSS class to add to highlighted tags\n */\n @Input() tagCssClass: string = '';\n\n /**\n * An array of indices of the textarea value to highlight\n */\n @Input() tags: HighlightTag[] = [];\n\n /**\n * The textarea to highlight\n */\n @Input() textInputElement: HTMLTextAreaElement;\n\n /**\n * The textarea value, in not provided will fall back to trying to grab it automatically from the textarea\n */\n @Input() textInputValue: string;\n\n /**\n * Called when the area over a tag is clicked\n */\n @Output() tagClick = new EventEmitter();\n\n /**\n * Called when the area over a tag is moused over\n */\n @Output() tagMouseEnter = new EventEmitter();\n\n /**\n * Called when the area over the tag has the mouse is removed from it\n */\n @Output() tagMouseLeave = new EventEmitter();\n\n @ViewChild('highlightElement') readonly highlightElement: ElementRef;\n\n highlightElementContainerStyle: { [key: string]: string } = {};\n highlightedText: string;\n\n private textareaEventListeners: Array<() => void> = [];\n\n private highlightTagElements: HighlightElement[];\n\n private mouseHoveredTag: TagMouseEvent | undefined;\n\n private isDestroyed = false;\n\n constructor(\n private readonly renderer: Renderer2,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n @HostListener('window:resize')\n onWindowResize(): void {\n this.refresh();\n }\n\n refresh(): void {\n const computed = getComputedStyle(this.textInputElement);\n styleProperties.forEach(prop => {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n this.highlightElementContainerStyle[prop] = computed[prop];\n });\n }\n\n /**\n * @private\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['textInputElement']) {\n this.textInputElementChanged();\n }\n\n if (changes['tags'] || changes['tagCssClass'] || changes['textInputValue']) {\n this.addTags();\n }\n }\n\n /**\n * @private\n */\n ngOnDestroy(): void {\n this.isDestroyed = true;\n this.textareaEventListeners.forEach(unregister => unregister());\n }\n\n private textInputElementChanged(): void {\n const elementType = this.textInputElement.tagName.toLowerCase();\n if (elementType !== 'textarea') {\n throw new Error(\n 'The angular-text-input-highlight component must be passed ' +\n 'a textarea to the `textInputElement` input. Instead received a ' +\n elementType\n );\n }\n\n setTimeout(() => {\n // in case the element was destroyed before the timeout fires\n if (!this.isDestroyed) {\n this.refresh();\n\n this.textareaEventListeners.forEach(unregister => unregister());\n this.textareaEventListeners = [\n this.renderer.listen(this.textInputElement, 'input', () => {\n this.addTags();\n }),\n this.renderer.listen(this.textInputElement, 'scroll', () => {\n this.highlightElement.nativeElement.scrollTop = this.textInputElement.scrollTop;\n this.highlightTagElements = this.highlightTagElements.map(tag => {\n tag.clientRect = tag.element.getBoundingClientRect();\n return tag;\n });\n }),\n this.renderer.listen(this.textInputElement, 'mouseup', () => {\n this.refresh();\n }),\n ];\n\n if (this.tagClick.observers.length > 0) {\n const onClick = this.renderer.listen(this.textInputElement, 'click', event => {\n this.handleTextareaMouseEvent(event, 'click');\n });\n this.textareaEventListeners.push(onClick);\n }\n\n if (this.tagMouseEnter.observers.length > 0) {\n const onMouseMove = this.renderer.listen(this.textInputElement, 'mousemove', event => {\n this.handleTextareaMouseEvent(event, 'mousemove');\n });\n const onMouseLeave = this.renderer.listen(this.textInputElement, 'mouseleave', () => {\n if (this.mouseHoveredTag) {\n this.tagMouseLeave.emit(this.mouseHoveredTag);\n this.mouseHoveredTag = undefined;\n }\n });\n this.textareaEventListeners.push(onMouseMove);\n this.textareaEventListeners.push(onMouseLeave);\n }\n\n this.addTags();\n }\n });\n }\n\n private addTags(): void {\n const textInputValue = typeof this.textInputValue !== 'undefined' ? this.textInputValue : this.textInputElement.value;\n\n const prevTags: HighlightTag[] = [];\n const parts: string[] = [];\n\n [...this.tags]\n .sort((tagA, tagB) => tagA.indices.start - tagB.indices.start)\n .forEach(tag => {\n if (tag.indices.start > tag.indices.end) {\n throw new Error(`Highlight tag with indices [${tag.indices.start}, ${tag.indices.end}] cannot start after it ends.`);\n }\n\n prevTags.forEach(prevTag => {\n if (overlaps(prevTag, tag)) {\n throw new Error(\n `Highlight tag with indices [${tag.indices.start}, ${tag.indices.end}] overlaps with tag [${prevTag.indices.start}, ${prevTag.indices.end}]`\n );\n }\n });\n\n const expectedTagLength = tag.indices.end - tag.indices.start;\n const tagContents = textInputValue.slice(tag.indices.start, tag.indices.end);\n if (tagContents.length === expectedTagLength) {\n const previousIndex = prevTags.length > 0 ? prevTags[prevTags.length - 1].indices.end : 0;\n const before = textInputValue.slice(previousIndex, tag.indices.start);\n parts.push(escapeHtml(before));\n const cssClass = tag.cssClass || this.tagCssClass;\n const tagId = tagIndexIdPrefix + this.tags.indexOf(tag);\n // text-highlight-tag-id-${id} is used instead of a data attribute to prevent an angular sanitization warning\n parts.push(`${escapeHtml(tagContents)}`);\n prevTags.push(tag);\n }\n });\n const remainingIndex = prevTags.length > 0 ? prevTags[prevTags.length - 1].indices.end : 0;\n const remaining = textInputValue.slice(remainingIndex);\n parts.push(escapeHtml(remaining));\n parts.push(' ');\n this.highlightedText = parts.join('');\n this.cdr.detectChanges();\n this.highlightTagElements = Array.from(this.highlightElement.nativeElement.getElementsByTagName('span')).map(\n (element: HTMLElement) =>\n ({\n element,\n clientRect: element.getBoundingClientRect(),\n }) as HighlightElement\n );\n }\n\n private handleTextareaMouseEvent(event: MouseEvent, eventName: 'click' | 'mousemove'): void {\n const matchingTagIndex = this.highlightTagElements.findIndex(elm =>\n isCoordinateWithinRect(elm.clientRect, event.clientX, event.clientY)\n );\n if (matchingTagIndex > -1) {\n const target = this.highlightTagElements[matchingTagIndex].element;\n const tagClass = Array.from(target.classList).find(className => className.startsWith(tagIndexIdPrefix));\n if (tagClass) {\n const tagId = tagClass.replace(tagIndexIdPrefix, '');\n const tag: HighlightTag = this.tags[+tagId];\n const tagMouseEvent = { tag, target, event };\n if (eventName === 'click') {\n this.tagClick.emit(tagMouseEvent);\n } else if (!this.mouseHoveredTag) {\n this.mouseHoveredTag = tagMouseEvent;\n this.tagMouseEnter.emit(tagMouseEvent);\n }\n }\n } else if (eventName === 'mousemove' && this.mouseHoveredTag) {\n this.mouseHoveredTag.event = event;\n this.tagMouseLeave.emit(this.mouseHoveredTag);\n this.mouseHoveredTag = undefined;\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { InfoKey } from '@shared/constants/constants';\n\nimport { EntityName, RiskCaseRcsaType } from '@shared/models';\n\nimport { informationLists, informationListsIssue } from '../../constants/user-guide-data';\n\ntype IconSize = 'small' | 'medium' | 'large';\ntype IconScale = 1 | 1.5 | 2;\n\n@Component({\n selector: 'app-user-guide',\n templateUrl: './user-guide.component.html',\n styleUrls: ['./user-guide.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatDialogModule, MatExpansionModule, MatButtonModule, NgIf, NgFor, MatTooltip],\n})\nexport class UserGuideComponent {\n @Input() entityName: EntityName;\n @Input() infoKey: InfoKey;\n @Input() infoType: RiskCaseRcsaType;\n @ViewChild('userGuideDialog') userGuideDialog!: TemplateRef;\n panelOpenState = false;\n dialogRef: MatDialogRef;\n informationLists: Array<{ title: string; information: string; infoKey: InfoKey }>;\n infoTitle: string = 'Risk and Control Self-Assessment (RCSA)';\n iconScale: IconScale = 1;\n\n private readonly iconSizeToIconScale: Record = {\n small: 1,\n medium: 1.5,\n large: 2,\n };\n\n constructor(public dialog: MatDialog) {}\n\n @Input() set iconSize(iconSize: IconSize) {\n this.iconScale = this.iconSizeToIconScale[iconSize];\n }\n\n openDialog(): void {\n this.setData();\n this.dialogRef = this.dialog.open(this.userGuideDialog, {\n width: '1308px',\n autoFocus: false,\n disableClose: true,\n });\n }\n\n closeDialog(): void {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n setInfoData(infoType: RiskCaseRcsaType): void {\n this.infoType = infoType;\n this.openDialog();\n }\n\n private setData(): void {\n if (this.infoType === 'RCSA') {\n this.informationLists = undefined;\n this.infoTitle = 'Risk and Control Self-Assessment (RCSA)';\n }\n if (this.infoType === 'Issue') {\n this.informationLists = informationListsIssue;\n this.infoTitle = 'Issue Management';\n }\n if (this.infoType === 'Event') {\n this.informationLists = informationLists;\n this.infoTitle = 'Event Reporting';\n }\n if (this.infoType === 'Event_Issue') {\n this.informationLists = informationLists;\n this.infoTitle = 'Event and Issue';\n }\n }\n}\n","\n\n
\n Help\n \n
\n\n {{ infoTitle }}\n\n \n \n \n \n RCSA \n Review and sign off \n \n

\n The objective of the RCSA, is to provide transparency around the current risk and control environment, ongoing and recently\n completed issues and actions as well as operational events that have happened.\n

\n

Summary

\n
    \n
  • \n The RCSA is the primary instrument used by the RCSA Owners to periodically (re-) assess control effectiveness against identified\n risks.\n
  • \n
  • As a rule, RCSAs are allocated to department heads (Managing Director level).
  • \n
  • \n The RCSA Owner may delegate the operational task of the control effectiveness assessments to control assessors within the team,\n but the RCSA owner remains responsible for the complete and accurate content overall.\n
  • \n
  • A quarterly sign off is mandatory to confirm that the RCSA is complete and up-to-date
  • \n
  • \n With the sign off, the RCSA owner confirms that\n
      \n
    • Risks & key controls have been identified across my areas of responsibility
    • \n
    • \n Control weaknesses or gaps have been identified and reported to me with clear actions to mitigate these\n
    • \n
    • All operational events and issues are reported per the Group ORM standards and guidelines
    • \n
    \n
  • \n
\n

\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework.\n

\n \n\n \n \n Dashboard \n \n Discover exceptions and risk mitigation relevant observations\n \n \n

\n The RCSA - Dashboard provides an overview over a specific RCSA showing exceptions requiring action and highlighting risk\n mitigation relevant observations.\n

\n\n

Exceptions requiring actions (upper row in the dashboard)

\n
    \n
  • Risks with not effective controls and no open issues to resolve
  • \n
  • Events that have been reported but not submitted within 30 days
  • \n
  • Overdue issues and issues that have been reported but not submitted within 30 days
  • \n
\n\n

Risk relevant observations (lower row in the dashboard)

\n
    \n
  • Number of risks with not effective, assessed or missing controls
  • \n
  • Number of risks with no key controls
  • \n
  • Number of not effective, not applicable or not assessed key controls
  • \n
  • Number of key controls not signed off in this RCSA quarter
  • \n
  • Number of not effective, not applicable or not assessed non-key controls
  • \n
  • Number of non-key controls not signed off in this calendar year
  • \n
  • Events reported in the current RCSA quarter
  • \n
  • Issues due in the current RCSA quarter
  • \n
\n \n\n \n \n Risks \n \n Get an overview of the risks and how they are mitigated\n \n \n

\n The RCSA - Risk screen shows all risks within a selected RCSA, with all mitigating controls, open issues and open events.\n

\n

Risk mitigation overview

\n
    \n
  • All risks within the selected RCSA
  • \n
  • Issues and events directly associated to each risk
  • \n
  • Controls within the responsibility of the RCSA owner
  • \n
  • Controls within the responsibility of other RCSA owners mitigating risks of the selected RCSA
  • \n
  • Issues and events associated to each control
  • \n
\n

Highlighted Observations

\n
    \n
  • Risk for which there is no control
  • \n
  • Risks with not effective controls and no open issue to resolve
  • \n
  • Controls assessed as not effective
  • \n
\n \n\n \n \n Controls \n Review controls \n \n

\n The RCSA - Controls screen contains various sub screens of which the Control assessment and the Controls performed in other\n departments are the most relevant ones for the quarterly RCSA.\n

\n

Control assessment

\n
    \n
  • \n All controls within the responsibility of the RCSA owner, which have to be reviewed and updated by the assigned control\n assessors once a quarter.\n
  • \n
\n

Controls performed in other departments

\n
    \n
  • \n All controls mitigating risks within the own RCSA but are performed somewhere. The RCSA owner should be aware of the performance\n of these controls to ensure that own risks are mitigated appropriately.\n
  • \n
\n

Control details

\n
    \n
  • Highlighting selected attributes for easier review
  • \n
\n

Comparison with the Global Control Catalogue (GCC)

\n
    \n
  • List of all attributes that are defined in the GCC but can be updated in the RCSA.
  • \n
\n \n\n \n \n Control Assessment \n Perform a control assessment \n \n

Control Assessors perform the control assessment on this screen.

\n
\n

\n OneORM supports multiple people working on a control assessment allowing to save individual edits without completing the\n assessment (SAVE button). Each assessment is completed with signing it off (SIGN OFF button). If you are not sure how to assess a\n control, contact your assigned Risk Manager for support.\n

\n
\n

Frequency

\n
    \n
  • \n Key control assessments must be updated and signed off quarterly as prerequisite for the quarterly RCSA sign off.\n
  • \n
  • Non-key control assessments must be updated and signed off at least annually.
  • \n
  • \n Controls can be re-assessed at any point in time. They should be re-assessed whenever there is a change in the control\n effectiveness or change in control environment. E.g., a new issue is raised on this control, or linked issues have been\n completed.\n
  • \n
\n

Assessment Rating

\n
    \n
  • \n \"Effective\" - The control is\n designed to mitigate the risk AND performed in accordance with its design.\n
  • \n
  • \n \"Not Effective\"  - The control is not designed effectively to\n mitigate the risk, not operating effectively, OR is not implemented. An issue must be raised within 30 days.\n
  • \n
  • \n \"Not Applicable\" \n - The control has not been performed in this RCSA in this quarter and needs to be removed (deleted). Contact the assigned risk\n manager to discuss next steps and timing for removal of the control from the RCSA.\n
  • \n
  • \n \"Not Assessed\"  - \"Not assessed\" is the default value for new\n controls and should not be used in assessments.\n
  • \n
\n

Assessment Commentary

\n
    \n
  • \n Explain the rationale in support of the control effectiveness rating considering design and operating effectiveness. It should\n indicate the activities performed to assess whether control was effective or not.\n
  • \n
  • \n The assessment commentary is mandatory for \"Effective\" and \"Not Effective\" key control assessments. For non-key controls, the\n assessment commentary is only mandatory if assessed as \"Not Effective\".\n
  • \n
  • Assessment comments must be updated in subsequent assessments explaining any changes.
  • \n
\n

Evidence

\n
    \n
  • Describe the specific evidence relevant for your assessment of the control performance.
  • \n
  • Indicate where the evidence is stored.​
  • \n
  • \n The evidence is mandatory for \"Effective\" and \"Not Effective\" key control and non-key control assessments.\n
  • \n
\n

Rating History

\n
    \n
  • Shows the control assessment rating of the last 4 reporting periods
  • \n
\n

Edit History

\n
    \n
  • Indicates when and by whom the last assessment has been performed.
  • \n
  • \n Important:\n
      \n
    • Each assessment must be completed with a sign off (SIGN OFF button)
    • \n
    • \n Multiple edits by different people are allowed to support teamwork and peer reviews (UPDATE button)\n
    • \n
    \n
  • \n
\n \n\n \n \n Events \n Review events \n \n

The RCSA – Event screen shows all events belonging to the selected RCSA.

\n

Summary

\n
    \n
  • \n The objective of operational event reporting is to enhance transparency of operational mishaps, errors or omissions, to learn\n from lessons and to prevent operational events from re-occurring. Recorded lessons learned form a knowledge base for risk takers\n and controllers.\n
  • \n
  • \n All Swiss Re employees must report operational events when discovered if any of the following reporting thresholds or criteria\n applies:\n
      \n
    • Cash-out exceeding a threshold of USD 10k;
    • \n
    • Fraudulent activities (only when case is closed);
    • \n
    • (Potential) Legal and regulatory consequences;
    • \n
    • (Potential) Reputational damage for the company;
    • \n
    • Financial misstatements such as Group US GAAP, Statutory GAAP or EVM; or
    • \n
    • Lessons learned for the benefit of more than one functional area.
    • \n
    \n
  • \n
\n

\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework.\n

\n \n\n \n \n Issues \n Review issues \n \n

The RCSA – Issues screen shows all issues belonging to the selected RCSA.

\n

Summary

\n
    \n
  • \n The objective of issue management is to focus management’s attention on areas that require improvements within their risk and\n control environment and take action to mitigate operational risks.\n
  • \n
  • \n An issue describes a problem where a process or a control is nonexistent, is not working as designed or where there is an\n opportunity to strengthen an existing control. Corrective action plans are required to fix the issue within a timely manner in\n order to avoid a risk materializing/move outside the tolerance limits for Swiss Re.\n
  • \n
  • \n Identified control deficiencies, missing controls and risk gaps requiring improvement as well as risk reviews, audit activities,\n and reported operational events are reasons for raising issues.\n
  • \n
\n

\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework.\n

\n \n
\n\n \n \n \n \n {{ item.title }}\n \n \n
\n
\n
\n
\n \n \n \n
\n","import { NgForOf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n OnInit,\n Output,\n signal,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteTrigger, MatOption } from '@angular/material/autocomplete';\nimport { MatError, MatFormField, MatLabel, MatSuffix, SubscriptSizing } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { tapResponse } from '@ngrx/operators';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { TrimFormFieldsDirective } from '@shared/directives/trim-empty-space.directive';\nimport { debounceTime, distinctUntilChanged, pipe, switchMap } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\n\nimport { UsersService } from '@shared/services';\nimport { isNotNil, isString } from '@shared/utils';\n\nimport { FilterDropdownOption } from '../models/filter/filter-dropdown-option.model';\n\n@Component({\n selector: 'app-users-search-form-field',\n template: `\n \n {{ label }}\n \n \n None\n @for (option of options(); track option.id) {\n \n {{ option.label }}\n \n }\n \n @if (inputFormControl.invalid && inputFormControl.touched) {\n {{ getErrorMessage(key) }}\n }\n\n @if (spinnerVisible()) {\n \n }\n \n `,\n standalone: true,\n imports: [\n MatFormField,\n MatTooltip,\n MatLabel,\n MatAutocompleteTrigger,\n MatInput,\n MatAutocomplete,\n MatOption,\n MatProgressSpinner,\n MatSuffix,\n ReactiveFormsModule,\n MatError,\n NgForOf,\n TrimFormFieldsDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UsersSearchFormFieldComponent implements OnInit {\n @Input() label: string;\n @Input() placeholder: string;\n @Input() halfWidth?: boolean = false;\n @Input() readonly = false;\n @Input() inputFormControl? = new FormControl(undefined);\n @Input() subscriptSizing: SubscriptSizing = 'fixed';\n @Input() getErrorMessage?: (errorKey: string) => string = this.defaultGetErrorMessage;\n @Output() optionSelected = new EventEmitter();\n\n readonly options = signal([]);\n readonly opened = signal(false);\n readonly loading = signal(false);\n readonly spinnerVisible = computed(() => this.opened() && this.loading());\n\n readonly listenToValueChanges = rxMethod(\n pipe(\n debounceTime(500),\n filter(isNotNil),\n filter(isString),\n filter(query => query.length >= this.minimumRequiredCharacters && this.opened()),\n distinctUntilChanged(),\n tap(() => this.loading.set(true)),\n switchMap(query =>\n this.usersService.getUsers(query).pipe(\n tapResponse({\n next: data => {\n this.options.set(data);\n this.loading.set(false);\n },\n error: () => this.loading.set(false),\n })\n )\n )\n )\n );\n\n private readonly cdr = inject(ChangeDetectorRef);\n\n private readonly minimumRequiredCharacters = 3;\n private readonly usersService = inject(UsersService);\n\n ngOnInit(): void {\n this.listenToValueChanges(this.inputFormControl.valueChanges as unknown as string);\n }\n\n detectChanges(): void {\n this.cdr.detectChanges();\n }\n\n displayFn(option: FilterDropdownOption | string): string {\n if (isString(option)) {\n return option;\n }\n return isNotNil(option) ? option.label : '';\n }\n\n defaultGetErrorMessage(): string {\n return 'Invalid input';\n }\n\n getErrorKeys(): string[] {\n return Object.keys(this.inputFormControl.errors);\n }\n}\n","export enum RiskCaseEnum {\n EVENT_STATUS = 3,\n EVENT_TYPE = 2,\n ISSUE_RATING = 5,\n ISSUE_STATUS = 6,\n LOD = 22,\n OUTSOURCING = 11,\n FUNCTIONS = 13,\n CONTROLS_RATING = 26,\n STANDARD_STATUS = 53,\n STANDARD_TOPIC = 52,\n STANDARD_DOCUMENT_TYPE = 51,\n}\n\nexport enum RatingConstant {\n EFFECTIVE = 232,\n NOT_EFFECTIVE = 233,\n NOT_ASSESSED = 234,\n NOT_APPLICABLE = 235,\n}\n\nexport enum StandardStatusId {\n ACTIVE = 577,\n INACTIVE = 578,\n DELETED = 579,\n}\n\nexport enum InfoKey {\n ISSUE_MANDATE = 'IssueMandate',\n ISSUE_EVENT = 'IssueEvent',\n ISSUE_DESCRIPTION = 'IssueDescription',\n ISSUE_RCSA_SELECTION = 'IssueRcsaSelection',\n ISSUE_IDENTIFICATION = 'IssueIdentification',\n ISSUE_RISK_CONTROL = 'IssueRiskControl',\n ISSUE_ROLES = 'IssueRoles',\n ISSUE_SUMMARY = 'IssueSummary',\n ISSUE_IMPACT_RATING = 'IssueImpactRating',\n ISSUE_REMEDIATION = 'IssueRemediation',\n ISSUE_BUSINESS_IMPACT = 'IssueBusinessImpact',\n ISSUE_LEGAL_ENTITIES = 'IssueLegalEntities',\n ISSUE_OUTSOURCING = 'IssueOutsourcing',\n ISSUE_ICOFR = 'IssueIcofr',\n ISSUE_COMPLIANCE = 'IssueCompliance',\n ISSUE_WORKFLOW_GUIDANCE = 'IssueWorkflowGuidance',\n ISSUE_ATTACHMENTS = 'IssueAttachments',\n ISSUE_SUBSCRIBED_USERS = 'IssueSubscribedUsers',\n EVENT_MANDATE = 'EventMandate',\n EVENT_ISSUE = 'EventIssue',\n EVENT_DESCRIPTION = 'EventDescription',\n EVENT_RISK = 'EventRisk',\n EVENT_ROLES = 'EventRoles',\n EVENT_RCSA_SELECTION = 'EventRcsaSelection',\n EVENT_BUSINESS_IMPACT = 'EventBusinessImpact',\n EVENT_LEGAL_ENTITIES = 'EventLegalEntities',\n EVENT_OUTSOURCING = 'EventOutsourcing',\n EVENT_SUMMARY = 'Event Summary',\n EVENT_ICOFR = 'EventIcofr',\n EVENT_MONETARY_IMPACT = 'EventMonetaryImpact',\n EVENT_BUSINESS_FUNCTION = 'EventBusinessFunction',\n EVENT_COUNTRY = 'EventCountry',\n EVENT_ROOT_CAUSE = 'EventRootCause',\n EVENT_TYPE = 'EventType',\n EVENT_COMPLIANCE = 'EventCompliance',\n EVENT_WORKFLOW_GUIDANCE = 'EventWorkflowGuidance',\n EVENT_ATTACHMENTS = 'EventAttachments',\n EVENT_SUBSCRIBED_USERS = 'EventSubscribedUsers',\n}\n\nexport const tableColumnWidthValues = {\n riskCase: {\n riskName: {\n maxWidth: 160,\n minWidth: 160,\n },\n riskTitle: {\n minWidth: 300,\n },\n date: {\n maxWidth: 200,\n },\n },\n riskTab: {\n assessor: {\n minWidth: 200,\n maxWidth: 200,\n width: 200,\n },\n rating: {\n minWidth: 200,\n maxWidth: 200,\n width: 200,\n },\n description: {\n maxWidth: 250,\n minWidth: 250,\n width: 250,\n },\n key: {\n width: 75,\n },\n },\n controlTab: {\n assessor: {\n minWidth: 150,\n maxWidth: 200,\n },\n rcsaNameAndOwner: {\n maxWidth: 160,\n minWidth: 140,\n },\n description: {\n maxWidth: 260,\n minWidth: 210,\n },\n rating: {\n maxWidth: 145,\n },\n key: {\n width: 75,\n },\n lastSignOff: {\n maxWidth: 200,\n },\n signOffDueDate: {\n maxWidth: 200,\n },\n signOff: {\n maxWidth: 160,\n minWidth: 160,\n },\n openCases: {\n maxWidth: 160,\n },\n assessment: {\n width: 360,\n },\n evidence: {\n minWidth: 250,\n },\n assess: {\n maxWidth: 140,\n minWidth: 140,\n },\n controlNameFirstColumn: {\n maxWidth: 160,\n minWidth: 160,\n },\n control: {\n maxWidth: 125,\n minWidth: 125,\n },\n level: {\n maxWidth: 90,\n minWidth: 90,\n },\n },\n};\n\nexport const RATING_ID_TO_LABEL: Record = {\n [RatingConstant.EFFECTIVE]: 'Effective',\n [RatingConstant.NOT_EFFECTIVE]: 'Not Effective',\n [RatingConstant.NOT_APPLICABLE]: 'Not Applicable',\n [RatingConstant.NOT_ASSESSED]: 'Not Assessed',\n};\n\nexport const RATING_CLASS = {\n [RatingConstant.EFFECTIVE]: 'sr-positive-text',\n [RatingConstant.NOT_EFFECTIVE]: 'sr-negative-text',\n [RatingConstant.NOT_ASSESSED]: 'sr-highlight-text',\n [RatingConstant.NOT_APPLICABLE]: 'notApplicable',\n};\n\nexport interface RatingValue {\n id: RatingConstant;\n label: string;\n class: string;\n chipClass: string;\n}\n\nexport class RatingConstants {\n static readonly values: RatingValue[] = [\n {\n id: RatingConstant.EFFECTIVE,\n label: RATING_ID_TO_LABEL[RatingConstant.EFFECTIVE],\n class: 'sr-positive-text',\n chipClass: 'effective',\n },\n {\n id: RatingConstant.NOT_EFFECTIVE,\n label: RATING_ID_TO_LABEL[RatingConstant.NOT_EFFECTIVE],\n class: 'sr-negative-text',\n chipClass: 'notEffective',\n },\n {\n id: RatingConstant.NOT_APPLICABLE,\n label: RATING_ID_TO_LABEL[RatingConstant.NOT_APPLICABLE],\n class: 'notApplicable',\n chipClass: 'notApplicable',\n },\n {\n id: RatingConstant.NOT_ASSESSED,\n label: RATING_ID_TO_LABEL[RatingConstant.NOT_ASSESSED],\n class: 'sr-highlight-text',\n chipClass: 'notAssessed',\n },\n ];\n}\n\nexport const INFINITE_DAYS = 9999;\n\nexport const EVENT_URL = '#/risk-case/event/';\nexport const ISSUE_URL = '#/risk-case/issue/';\nexport const EVENT_SOURCE_NAME = 'OE';\nexport const ISSUE_SOURCE_NAME = 'I-';\n\nexport const selfIdentifiedLodId = 213;\nexport const secondLineIdentifiedLodId = 214;\nexport const thirdLineIdentifiedLodId = 215;\nexport const lowImpactRatingId = 22;\nexport const mediumImpactRatingId = 21;\nexport const moderateImpactRatingId = 20;\nexport const elevatedImpactRatingId = 19;\nexport const highImpactRatingId = 18;\n\nexport type LodId = typeof selfIdentifiedLodId | typeof secondLineIdentifiedLodId | typeof thirdLineIdentifiedLodId;\nexport const WWW_MARK = 'www';\nexport const PROTOCOL_MARK = 'https://';\nexport const EXTERNAL_URL_REGEX = /^(https?:\\/\\/|www\\.)[^\\s/$.?#].[^\\s]*$/;\nexport const CONFLICT_HTTP_STATUS = 409;\n","export * from './constants';\nexport * from './providers';\nexport * from './user-guide-data';","import { StateSavingService } from '@shared/services';\n\n// TODO: Remove once OneOrm UI is removed\nexport const stateSavingServiceFactory = (deps: StateSavingService[]): StateSavingService[] => deps;\n","import { InfoKey } from '@shared/constants/constants';\n\nexport const informationListsRCSA = [\n {\n title: 'RCSA',\n information: `\n The objective of the RCSA, is to provide transparency around the\n current risk and control environment, ongoing and recently completed\n issues and actions as well as operational events that have happened.\n
\n \n Summary\n \n
    \n
  • \n The RCSA is the primary instrument used by the RCSA Owners to\n periodically (re-) assess control effectiveness against identified\n risks.\n
  • \n
  • \n As a rule, RCSAs are allocated to department heads (Managing\n Director level).\n
  • \n
  • \n As a rule, RCSAs are allocated to department heads (Managing\n Director level).\n
  • \n
  • \n A quarterly sign off is mandatory to confirm that the RCSA is\n complete and up-to-date\n
  • \n
  • \n With the sign off, the RCSA owner confirms that\n
      \n
    • \n All material risks have been identified and controls have been\n assessed;\n
    • \n
    • \n Control deficiencies are addressed with appropriate issues and\n actions; and\n
    • \n
    • \n All known operational events are recorded.\n
    • \n
    \n
  • \n
\n
\n\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework..\n\n `,\n },\n {\n title: 'Dashboard',\n information: `\n The RCSA - Dashboard provides an overview over a specific RCSA showing\n exceptions requiring action and highlighting risk mitigation relevant\n observations.\n
\n \n Exceptions requiring actions (upper row in the dashboard)\n \n\n
    \n
  • \n Risks with not effective controls and no open issues to resolve\n
  • \n
  • \n Events that have been reported but not submitted within 30 days\n\n
  • \n
  • \n Overdue issues and issues that have been reported but not submitted within 30 days\n
  • \n
\n \n Risk relevant observations (lower row in the dashboard)\n \n\n
    \n
  • \n Number of risks with not effective, assessed or missing controls\n
  • \n\n
  • \n Number of risks with no key controls\n
  • \n\n
  • \n Number of not effective, not applicable or not assessed key controls\n
  • \n\n
  • \n Number of key controls not signed off in this RCSA quarter\n
  • \n\n
  • \n Number of not effective, not applicable or not assessed non-key controls\n
  • \n\n
  • \n Number of non-key controls not signed off in this calendar year\n
  • \n\n
  • \n Events reported in the current RCSA quarter\n
  • \n\n
  • \n Issues due in the current RCSA quarter\n
  • \n
\n `,\n },\n {\n title: 'Risks',\n information: ` The RCSA - Risk screen shows all risks within a selected RCSA, with\n all mitigating controls, open issues and open events\n
\n \n Risk mitigation overview\n \n\n
    \n
  • \n All risks within the selected RCSA
  • \n
  • \n Issues and events directly associated to each risk\n\n
  • \n
  • \n Controls within the responsibility of the RCSA owner\n
  • \n\n
  • \n Controls within the responsibility of other RCSA owners mitigating\n risks of the selected RCSA
  • \n
  • \n Issues and events associated to each control\n
  • \n
\n \n Highlighted Observations\n \n\n
    \n
  • \n Risk for which there is no control
  • \n
  • \n Risks with not effective controls and no open issue to resolve\n
  • \n
  • \n Controls assessed as not effective
  • \n
\n `,\n },\n {\n title: 'Controls',\n information: `\n The RCSA - Controls screen contains various sub screens of which the\n Control assessment and the controls performed in other departments are the most\n relevant ones for the quarterly RCSA.\n
\n \n Control assessment\n\n
    \n
  • \n All controls within the responsibility of the RCSA owner, which have\n to be reviewed and updated by the assigned control assessors once a\n quarter.\n
  • \n
\n\n \n Controls performed in other departments\n\n
    \n
  • \n All controls mitigating risks within the own RCSA but are performed\n somewhere. The RCSA owner should be aware of the performance of\n these controls to ensure that own risks are mitigated appropriately.\n
  • \n
\n\n \n Control details\n\n
    \n
  • \n Highlighting selected attributes for easier review\n\n
  • \n
\n\n \n Comparison with the Global Control Catalogue (GCC)\n\n
    \n
  • \n List of all attributes that are defined in the GCC but can be\n updated in the RCSA.\n
  • \n
\n `,\n },\n {\n title: 'Control Assessment',\n information: `\n Control Assessors perform the quarterly control self-assessment on\n this screen.\n
\n \n Assessment Rating\n\n\n
    \n
  • \n \"Effective\" - The\n control is designed to mitigate the risk and performed in accordance\n with its design. No errors identified.\n
  • \n
  • \n \"Not Effective\"  -\n The control is not designed effectively to mitigate the risk, not\n operating effectively or is not implemented. \n
  • \n
  • \n \"Not Assessed\"  - The\n control has not yet been assessed .\n
  • \n
  • \n \"Not Applicable\"  -\n The control is not needed in this RCSA and should be removed by ORM.\n
  • \n
\n\n Assessment Commentary\n
    \n
  • \n Explain the rationale in support of the control effectiveness rating. It should indicate the activities performed to assess whether control was effective or not.\n
  • \n
  • \n The assessment comment is mandatory for all control assessments.\n
  • \n
  • \n Assessment comments need to be updated in subsequent assessments explaining any changes in the rating.\n
  • \n
\n Evidence\n
    \n
  • \n Describe the specific evidence relevant for your assessment of the\n control performance.\n
  • \n
  • \n ​Indicate where the evidence is stored.​\n
  • \n
  • \n Controls without evidence are not considered effective.\n
  • \n
  • \n Specific instructions regarding control documentation available in Risk Control Instructions.\n
  • \n
\n Rating History\n
    \n
  • \n Shows the control assessment rating of the last 4 reporting periods\n
  • \n
\n Update History\n
    \n
  • \n Indicates when and by whom the last assessment has been performed –\n this is triggered by pressing the update button.\n
  • \n
  • \n Important: indicating that a control has been assessed by\n clicking the update button is best\n practice and should also be done after each assessment, also in case\n where no update of the rating, assessment commentary or evidence was\n required\n
  • \n
\n\n `,\n },\n {\n title: 'Events',\n information: `\n The RCSA – Event screen shows all events belonging to the selected\n RCSA.\n
\n Summary\n
    \n
  • \n The objective of operational event reporting is to enhance\n transparency of operational mishaps, errors or omissions, to learn\n from lessons and to prevent operational events from re-occurring.\n Recorded lessons learned form a knowledge base for risk takers and\n controllers.\n
  • \n
  • \n All Swiss Re employees must report operational events when\n discovered if any of the following reporting thresholds or criteria\n applies:\n
      \n
    • \n Cash-out exceeding a threshold of USD 10k;\n
    • \n
    • \n Fraudulent activities (only when case is closed);\n
    • \n
    • \n (Potential) Legal and regulatory consequences;\n
    • \n
    • \n (Potential) Reputational damage for the company;\n
    • \n
    • \n Financial misstatements such as Group US GAAP, Statutory GAAP or\n EVM; or\n
    • \n
    • \n Lessons learned for the benefit of more than one functional\n area.\n
    • \n
    \n
  • \n
\n
\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework.\n `,\n },\n {\n title: 'Issues',\n information: `\n The RCSA – Issues screen shows all issues belonging to the selected\n RCSA.\n
\n Summary\n
    \n
  • \n The objective of issue management is to focus management’s attention\n on areas that require improvements within their risk and control\n environment and take action to mitigate operational risks.\n
  • \n
  • \n An issue describes a problem where a process or a control is\n nonexistent, is not working as designed or where there is an\n opportunity to strengthen an existing control. Corrective action\n plans are required to fix the issue within a timely manner in order\n to avoid a risk materializing/move outside the tolerance limits for\n Swiss Re.\n
  • \n
  • \n Identified control deficiencies, missing controls and risk gaps\n requiring improvement as well as risk reviews, audit activities, and\n reported operational events are reasons for raising issues.\n
  • \n
\n

\n For details, please refer to the\n Targeted Standard on Operational Risk and Control Framework.\n

\n `,\n },\n];\nexport const informationListsIssue = [\n {\n infoKey: InfoKey.ISSUE_EVENT,\n title: 'Event or Issue',\n information: `We differentiate between things that have happened in order to learn from them and foster transparency; and things which need to be addressed to prevent them from happening in the future.\n
\n Please select whether something “has happened” (Event) or describes a problem which\n “needs to be addressed” (Issue).\n
\n
\n \n What is an Event?\n \n
\n
    \n
  • \n An Operational Event is an operational risk which has materialised, I.e., something went wrong.\n
  • \n
  • \n Ongoing efforts after the initial reporting are primarily related to root cause analysis and the documentation of lessons learned.\n
  • \n
  • \n Should any corrective actions be identified to prevent a re-occurring they can also be raised as issues at a later stage and should not delay the initial reporting of the event.\n
  • \n
\n
\n \n What is an Issue?\n \n
\n
    \n
  • \n An Operational Risk issue describes a problem where a process or a control is non-existent, is not working as designed or where there is an opportunity to strengthen an existing control.\n
  • \n
  • \n Corrective action plans are required to fix the issue within a timely manner in order to avoid a risk materializing/move outside the tolerance limits for Swiss Re.\n
  • \n
\n
\n
\nFor more details on Event or Issue, please refer to the Targeted Standard on Operational Risk and Control Framework document\n `,\n },\n {\n infoKey: InfoKey.ISSUE_DESCRIPTION,\n title: 'Description',\n information: `\n Issue description\n
    \n
  • \n Capture a meaningful short title of the issue, describe the problem and its risk impact to Swiss Re.\n
  • \n
  • \n Title and Issue Description can be updated as long as the issue is in status “draft”.\n
  • \n
\n
What makes a good issue title?
\n
    \n
  • \n A good issue title can serve as a stand-alone title in a report or dashboard. It should be a meaningful short description of the problem.\n
    \n Avoid wordy titles, abbreviations, codes, dates, locations, monetary amounts and references to policies, risks or controls.\n
  • \n
  • \n Any information that would expose Swiss Re, if shared externally belongs into the description, not in the title.\n
  • \n
\n
What makes a good Issue description?
\n
    \n
  • \n A good Issue description allows a knowledgeable reader to understand the problem, it’s origination and how it impacts the risk mitigation, if not resolved in time.\n
  • \n
  • \n It also gives an impression on, what may happen where, and highlights potential consequences, should the related risks materialize.\n
  • \n
  • \n Check Text Quality: is a new experimental feature to help you in various aspects of writing the issue description. Starting small with limited functionality, we will improve it over time. Its use is optional and does not replace the issue owner's responsibility for writing an accurate event description.\n
  • \n
  • \n Personal and sensitive information such as names, gender, salaries must not be included in the issue documentation.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_RCSA_SELECTION,\n title: 'RCSA selection',\n information: `\n We assign all reported cases (Issues and Events) in Risk and Control Assessments (RCSA) to clearly define ownership to an organizational entity.\n
\n Confirm the RCSA proposed by OneORM, or select the RCSA of the accountable Managing Director manually.\n
    \n
  • \n For issues, this is the RCSA where the responsibility for the risk mitigation is – i.e., where a control is missing, where it failed or requires enhancement.\n
  • \n
\n You can change the RCSA, until the issue is in status draft.\n
\n When the issue has reached status draft, refer to your Risk Manager or Governance Coordinator if you require a change.\n `,\n },\n {\n infoKey: InfoKey.ISSUE_IDENTIFICATION,\n title: 'Identification',\n information: `\n A self-identified Issue is a problem which has been identified and transparently communicated by or on behalf of the respective risk-taking unit.\n
\n All other issues, e.g. issues identified by GIA, Compliance or Risk Management in their role as 2nd or 3rd line assurance function are considered not self-identified.\n
\n Consult your risk manager before raising a not self-identified issue\n
Important Information:
\n Risk takers shall consider the following, before raising a \"self-identified\" issue:\n
    \n
  • \n If a risk controlling or an assurance function concludes and communicates that their observations do not merit raising an issue in GRACE; the risk taker is not allowed to raise a self-identified issue for addressing these observations.\n
  • \n
  • \n If the risk taker identifies additional gaps or weaknesses on top of such observations, then they should bring this to the attention of the embedded operational risk manager for discussion and agreement, before recording an issue in GRACE.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_RISK_CONTROL,\n title: 'Risk or Control',\n information: `\n Select Risk or Control\n
\n
\n Issues can arise\n
    \n
  • \n directly from not effective controls; or\n
  • \n
  • \n have a wider scope where one or several risks are not adequately mitigated, or will not effective mitigated in future, if not addressed.\n
  • \n
\n In case of control deficiencies, the issue must be raised against the ineffective control. In all other cases the issue shall be raised against the inadequately mitigated risk.\n
\n
\n You can change risk or control selection, until the issue is in status draft.\n
\n
\n When the issue has reached status draft, refer to your Risk Manager or Governance Coordinator if you require a change.\n `,\n },\n {\n infoKey: InfoKey.ISSUE_ROLES,\n title: 'Responsibilities',\n information: `\n There are several roles involved in the issue management process.\n
    \n
  • \n The Issue Creator (you) is the person who initially creates a new issue in One ORM.\n
  • \n
  • \n The Issue Owner is the person taking over from you to perform the risk impact assessment, define and agree on the issue resolution approach, complete the issue documentation and to manage the issue resolution.\n
  • \n
  • \n The Issue Delegate is the deputy of the issue owner. They have the same rights and receives the same e-mail notifications.\n
  • \n
  • \n Governance Coordinators are the first point of contact in case you have any questions or need support.\n
  • \n
  • \n The assigned Risk Manager  reviewing the issue documentation and approving the issue for go live.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_SUMMARY,\n title: 'Summary',\n information: `\n When clicking the proceed button, the issue will be saved as draft and the Issue Owner and Delegate will receive an e-mail notification with a link to this issue\n
\n
\n From here on the Issue owner has 30 days' time to complete the Issue documentation with action items and ensure approval by Risk Management.\n
\n
\n Should the issue become obsolete before approval by Risk Management, you can cancel it.\n `,\n },\n {\n infoKey: InfoKey.ISSUE_IMPACT_RATING,\n title: 'Impact Rating ',\n information: `\n The Group Risk Impact Assessment of the issue is performed at the time when the issue has been raised. It indicates the potential loss to Swiss Re Group should the impacted risk(s) occur.\n
\n
    \n
  • \n The assessment is done by the person raising the issue. The highest impact assessment drives the issue rating.\n
  • \n
  • \n The rating is assessed at the point of reporting and not changed during the remediation of the issue.\n
  • \n
  • \n All issues, with exception of issues recorded by GIA are reviewed for completeness and accuracy by the embedded operational risk manager and approved before the remediation starts.\n
  • \n
  • \n The rating may be challenged by the embedded operational risk manager, before the approve the go live.\n
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n While the RCSA owner is responsible for the initial remediation planning and scheduling as well as for appointing an appropriate issue owner, the issue owner needs to make sure that the issue is appropriately recorded.\n
  • \n
  • \n When it comes to management override of controls, i.e. attempt by management and/or those charged with governance to manipulate accounting records and/or produce fraudulent financial statements by circumventing one or more control activities, the assurance function raising the issue may opt for a higher rating than what impact assessment would suggest due to the fraudulent nature of such behaviors and the poor tone-at-the-top they propagate throughout the organization.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_REMEDIATION,\n title: 'Issue remediation ',\n information: `\n The issue owner plans the individual action items, assigns them to action owners and monitors execution thereof.\n
\n
    \n
  • \n Action items can be added, changed, completed and cancelled at any point in time during the issue remediation.\n
  • \n
  • \n The issue owner runs the remediation of the issue and ensures that agreed actions are completed within their due dates.\n
  • \n
  • \n Once all actions items are completed and the risk is sufficiently mitigated, the issue owner can request the completion of the issue, which can be accepted or rejected by the RCSA owner. Only when the RCSA owner has approved the request, the issue is formally completed\n
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n In case an issue cannot be completed by the agreed due date, the issue owner can request a due date postponement. Such an extension must be approved by the RCSA owner before the agreed target date is reached.\n
  • \n
  • \n The assigned embedded operational risk manager monitors the issue management performance and challenges the RCSA owner periodically.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_BUSINESS_IMPACT,\n title: 'Business Impact',\n information: `\n It is important for us to understand whether an issue has an impact on our ability to do business.\n
\n “No Business Impacts” indicates that the reported issue is impacting the Group Functions of Swiss Re only\n
\n In case the issue impacts one or several of our Business Units, select all the divisions and areas impacted.\n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n This information may help you to select the correct legal entities in the next step.\n
  • \n
  • \n You are allowed to skip this step, the information will become mandatory to complete the reporting.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_LEGAL_ENTITIES,\n title: 'Legal Entities',\n information: `\n It is important for us to understand which of the Swiss Re legal entities are impacted by this issue.\n
\n One ORM provides you with a system proposed selection based on the Legal Entities in scope of your RCSA including\n
\n
    \n
  • \n Legal entities in scope of your RCSA; and\n
  • \n
  • \n Legal entities derived from your business unit impacted selection.\n
  • \n
\n
\n Additionally you can do a\n
\n
    \n
  • \n free-text search,\n
  • \n
  • \n find any legal entities by their jurisdiction (region or country); or\n
  • \n
  • \n filter by ownership (management responsible)\n
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n You are allowed to skip this step, the information will become mandatory to complete the reporting.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_OUTSOURCING,\n title: 'Outsourcing',\n information: `\n Indicates whether the operational event or issue was caused by an external provider or a team from different location/legal entity.
\n
    \n
  • External outsourcing - caused by an external service provider.
  • \n
  • Internal outsourcing - caused by a team providing services to different location/legal entity.
  • \n
  • No outsourcing - not caused by an external or internal service provider.
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • You are allowed to skip this step, the information will become mandatory to complete the reporting.
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_ICOFR,\n title: 'ICOFR',\n information: `\n Indicates whether this operational issue is related to US GAAP or EVM or IFRS.\n
\n This field is read only, calculated based on the following logic:\n
\n
    \n
  • If the case is created on risk R1XXX, then the case is 'USGAAP & EVM & IFRS', except:\n
      \n
    • If the case is created on risk R1119, R1125 or R1129, then the case is 'EVM' or
    • \n
    • If the case is created on risk R1130, R1131, R1132 or R1133, then the case is 'IFRS'.
    • \n
    \n
  • \n
  • If the case is created on risk R7072, R7073, R7075, R7076 or R7077, then the case is 'USGAAP & EVM & IFRS'.
  • \n
  • If the case is created on any other risk, then the case is 'Not ICoFR'.
  • \n
  • If the case is created on a control, then the ICoFR value is inherited from the control.
  • \n
  • If the case is linked to multiple risks or controls, then the case assumes all their ICoFR values.
  • \n
`,\n },\n {\n infoKey: InfoKey.ISSUE_COMPLIANCE,\n title: 'Compliance and Legal Risk Category',\n information: `\n Compliance and Legal Risk identification is done by Compliance when new Operational Events and Issues have been endorsed by Risk Management.\n (Note: Legal Risk in this context only refers to Fair Competition and Licensing risks.)\n
\n
    \n
  • \n Bribery and Corruption: Risk of offering or receiving any advantage that influences a person to perform a duty improperly or misuse power for a personal benefit.\n
  • \n
  • \n Conduct Risk: Risk of any activity that may result in unfair outcomes or treatment of retail customers.\n
  • \n
  • Conflict of Interest: Risk that a personal or financial interest, outside activity, or relationship either influences, or appears to or influences, a Swiss Re business decision.\n
  • \n
  • Data Protection: Risk of failing to protect personal data or respect privacy rights of employees, customers, clients, partners or other relevant individuals.\n
  • \n
  • Fair Competition: Risk of involvement in any activity that prevents, restricts, or may improperly impact business competition.\n
  • \n
  • Fraud: Risk of activities carried out by employees or others against Swiss Re with intentional deception intended to result in any personal gain.\n
  • \n
  • Insider Trading: Risk of the use of Swiss Re's Inside Information for a person's own benefit or for the benefit of a third party.\n
  • \n
  • International Trade Controls: Risk of doing business that violates sanctions or trade controls that prohibit activity with those entities, persons, sectors or countries.\n
  • \n
  • Investment Compliance: Risk of conducting financial markets activities that do not comply with internal and external requirements that regulate financial markets.\n
  • \n
  • Licensing: Risk of conducting business activities without having the appropriate authorization.\n
  • \n
  • Money Laundering and Terrorist Financing: Risk of introducing proceeds into the financial system that are obtained from illegal sources or intended for terrorist financing.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.ISSUE_WORKFLOW_GUIDANCE,\n title: 'Issue Workflow Guidance',\n information: `\n The workflow in OneORM is aligned with Swiss Re's Operational Risk Management methodology.\n
\n
\n While One ORM allows Governance to actively support the first line risk takers in reporting operational events and raising issues there are a few restrictions due to the responsibilities.\n
\n
\n As Issue owner and delegate are responsible to resolve the issue by the deadline. Please Note: All deadlines are CET (Central European Time).\n
\n
\n \n -> Only they can request the go live of an issue, as well as reschedules and completion approval.\n \n
\n
\n As the RCSA Owners are ultimately accountable that problems are timely resolved\n
\n
\n \n -> Only they can approve issue reschedule and completion requests.\n \n `,\n },\n {\n infoKey: InfoKey.ISSUE_ATTACHMENTS,\n title: 'Attachments',\n information: `\n Attaching documents to issues is optional (e.g. evidence supporting the issue resolution progress).\n
    \n
  • \n Attachments do not make up for an incomplete documentation of the issue in OneORM. Specifically \"issue description\", \"resolution approach\" and \"latest assessment\" must be comprehensively documented in the respective fields.\n
  • \n
  • \n When attaching documents, make sure that they do not contain any sensitive or personal information.
  • \n
\n
\n
\n Attachments can be added and removed until the issue is completed. Should you need to add any additional documents for completed issues, approach your Governance Coordinator or Op Risk Manager for support.\n `,\n },\n {\n infoKey: InfoKey.ISSUE_SUBSCRIBED_USERS,\n title: 'Subscribed Users',\n information: `\n Users listed in this field are granted read access to the related risk case and are automatically cc's in all email notifications.\n Risk cases belonging to an RCSA to which a user has been subscribed become visible in the \"ALL CASES\" section on the OneORM home page.\n
\n
\n To subscribe to any RCSA, please reach out to your Op Risk Manager or Governance team.\n `,\n },\n];\nexport const informationLists = [\n {\n infoKey: InfoKey.EVENT_ISSUE,\n title: 'Event or Issue',\n information: `We differentiate between things that have happened in order to learn from them and foster transparency; and things which need to be addressed to prevent them from happening in the future.\n
\n Please select whether something “has happened” (Event) or describes a problem which\n “needs to be addressed” (Issue).\n
\n
\n \n What is an Event?\n \n
\n
    \n
  • \n An Operational Event is an operational risk which has materialised, I.e., something went wrong.\n
  • \n
  • \n Ongoing efforts after the initial reporting are primarily related to root cause analysis and the documentation of lessons learned.\n
  • \n
  • \n Should any corrective actions be identified to prevent a re-occurring they can also be raised as issues at a later stage and should not delay the initial reporting of the event.\n
  • \n
\n
\n \n What is an Issue?\n \n
\n
    \n
  • \n An Operational Risk issue describes a problem where a process or a control is non-existent, or-is not working as designed or where there is an opportunity to strengthen an existing control.\n
  • \n
  • \n Corrective action plans are required to fix the issue within a timely manner in order to avoid a risk materializing/move outside the tolerance limits for Swiss Re.\n
  • \n
\n
\n
\n For more details on Event or Issue, please refer to the Targeted Standard on Operational Risk and Control Framework document\n `,\n },\n {\n infoKey: InfoKey.EVENT_DESCRIPTION,\n title: 'Description',\n information: `\n Capture a meaningful short title of the event, relevant dates and a detailed description about the known circumstances.\n
\n The dates can be changed as long as the event is in status “draft”.\n
\n Event Title and Event description can be updated any time throughout the lifecycle of the event until it is closed.\n
\n
\n
\n What makes a good event title?\n
\n
    \n
  • \n A good op event title can serve as a stand-alone title in a report or dashboard. It should be a meaningful short version of \"what happened\" or \"what went wrong\".\n
  • \n
  • \n Avoid wordy titles, not generic abbreviations, codes, dates, locations, monetary amounts and references to policies, risks or controls.\n
  • \n
  • \n Any information that would expose Swiss Re, if shared externally belongs into the description, not in the title.\n
  • \n
\n
\n \n What makes a good Event description?\n \n
\n
    \n
  • \n We need to differentiate the Event description at the time of initial reporting and at the time when the event is closed.\n
  • \n
  • \n Initial reporting: An initial documentation of the known risk relevant aspects of the event including a description of what has happened to understand why this event qualifies for reporting is sufficient.
  • \n
  • \n Event Closure: The Event description should be updated to contain all risk relevant aspects of the event including a description of what has happened, its impact and how it was discovered.\n
  • \n
  • \n Check Text Quality: is a new experimental feature to help you in various aspects of writing the event description. Starting small with limited functionality, we will improve it over time. Its use is optional and does not replace the event owner's responsibility for writing an accurate event description.\n
  • \n
  • \n Personal and sensitive information such as names, gender, salaries must not be included in the issue documentation.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_RCSA_SELECTION,\n title: 'RCSA selection',\n information: `\n We assign all reported cases (Issues and Events) in Risk and Control Assessments (RCSA) to clearly define ownership to an organizational entity.\n
\n Confirm the RCSA proposed by OneORM, or select the RCSA of the accountable Managing Director manually.\n
    \n
  • \n For events, this is the RCSA of the risk taker – i.e., where the responsibility of the materialized risk is and lessons are to be learned.\n
  • \n
\n You can change the RCSA, until the Event is in status draft.\n When the event has reached status draft, refer to your Risk Manager or Governance Coordinator if you require a change.\n `,\n },\n {\n infoKey: InfoKey.EVENT_RISK,\n title: 'Risk',\n information: `\n In order to manage our operational risks effectively and observe Group wide trends we map all events to their corresponding operational risks.\n
\n Operational Events are materialized risks. One ORM provides you with the ones which are actively managed within your selected RCSA.\n
    \n
  • \n Select the risk which best matches the reported event.\n
  • \n
  • \n If the materialized risk is not in the RCSA where the event occurred, scroll down the risk list and select “Risk not in RCSA”.\n
  • \n
  • \n Please do not hesitate to reach out to your governance coordinators and ORM experts for help.\n
  • \n
\n \n `,\n },\n {\n infoKey: InfoKey.EVENT_ROLES,\n title: 'Responsibilities',\n information: `\n There are several roles involved in the event reporting process.\n
    \n
  • \n The Event Reporter (you) is the person who initially reports a new event in One ORM.\n
  • \n
  • \n The Event Owner is the person taking over from you to update any further developments, driving the root cause analysis and documentation of the lessons learned.\n
  • \n
  • \n Governance Coordinators are the first point of contact in case you have any questions or need support.\n
  • \n
  • \n The assigned Risk Manager reviewing the issue documentation and approving the issue for go live.\n
  • \n
\n
\n Select the responsible Event owner and Event delegate.\n `,\n },\n {\n infoKey: InfoKey.EVENT_SUMMARY,\n title: 'Summary',\n information: `\n Review the correctness of the data captured.\n
\n
\n When clicking the proceed button, the event will be saved as draft and the Event Owner and\n
\n
\n Delegate will receive an e-mail notification with a link to this event.\n
\n
\n From here on the Event owner has 30 days' time to complete the initial documentation of the event and ensure approval by Risk Management.\n
\n
\n Should the event become obsolete before Risk Management approval, you can cancel it.\n `,\n },\n {\n infoKey: InfoKey.EVENT_BUSINESS_IMPACT,\n title: 'Business Impact',\n information: `\n It is important for us to understand whether an event has an impact on our ability to do business.\n
\n “No Business Impacts” indicates that the reported event is impacting the Group Functions of Swiss Re only\n
\n In case the event impacts one or several of our Business Units, select all the divisions and areas impacted.\n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n This information may help you to select the correct legal entities in the next step.\n
  • \n
  • \n You are allowed to skip this step, the information will become mandatory to complete the reporting.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_LEGAL_ENTITIES,\n title: 'Legal Entities',\n information: `\n It is important for us to understand which of the Swiss Re legal entities are impacted by this event.\n
\n One ORM provides you with a system proposed selection based on the Legal Entities in scope of your RCSA including\n
\n
    \n
  • \n Legal entities in scope of your RCSA; and\n
  • \n
  • \n Legal entities derived from your business unit impacted selection.\n
  • \n
\n
\n Additionally you can do a\n
\n
    \n
  • \n free-text search,\n
  • \n
  • \n find any legal entities by their jurisdiction (region or country); or\n
  • \n
  • \n filter by ownership (management responsible)\n
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • \n You are allowed to skip this step, the information will become mandatory to complete the reporting.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_OUTSOURCING,\n title: 'Outsourcing',\n information: `\n Indicates whether the operational event or issue was caused by an external provider or a team from different location/legal entity.
\n
    \n
  • External outsourcing - caused by an external service provider.
  • \n
  • Internal outsourcing - caused by a team providing services to different location/legal entity (BSC Bangalore, BSC Bratislava, Other).
  • \n
  • No outsourcing - not caused by an external or internal service provider.
  • \n
\n
\n \n Additional Information:\n \n
\n
    \n
  • You are allowed to skip this step, the information will become mandatory to complete the reporting.
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_ICOFR,\n title: 'ICOFR',\n information: `\n Indicates whether this operational event is related to US GAAP or EVM or IFRS.\n
\n This field is read only, calculated based on the following logic:\n
\n
    \n
  • If the case is created on risk R1XXX, then the case is 'USGAAP & EVM & IFRS', except:\n
      \n
    • If the case is created on risk R1119, R1125 or R1129, then the case is 'EVM' or
    • \n
    • If the case is created on risk R1130, R1131, R1132 or R1133, then the case is 'IFRS'.
    • \n
    \n
  • \n
  • If the case is created on risk R7072, R7073, R7075, R7076 or R7077, then the case is 'USGAAP & EVM & IFRS'.
  • \n
  • If the case is created on any other risk, then the case is 'Not ICoFR'.
  • \n
  • If the case is created on a control, then the ICoFR value is inherited from the control.
  • \n
  • If the case is linked to multiple risks or controls, then the case assumes all their ICoFR values.
  • \n
`,\n },\n {\n infoKey: InfoKey.EVENT_MONETARY_IMPACT,\n title: 'Monetary Impact',\n information: `\n Some Operational Events result in a monetary impact on Swiss Re’s financials. Such monetary impacts need to be reported when they have occurred. In case that there is no monetary impact (yet), you can skip this step. \n
\n We distinguish among three types of monetary impacts:\n
\n
    \n
  • \n Cash-out: Money lost due to an operational event. In other terms this means “cash-out the door” and excludes cost and loss estimates as well as opportunity costs. In case of the latter, please report them in the Detail Description of this event.\n
  • \n
  • \n Operational gains: A positive impact of the event. E.g. Improper underwriting and trading activities that don't follow agreed guidelines and practices. An event can therefore result in an ultimate gain. \n
  • \n
  • \n Accounting adjustments: An event can result in the necessity to subsequently shift capital: We might have to increase (or decrease) our reserves or we might need to correct an error within accounting (financial misstatement). \n
  • \n
\n
\n Select the item that best suits your reported monetary impact. For Financial adjustments and Operational gains you can report one instance per event which can be amended later on in the process.\n
\n \n Additional Information:\n \n
\n
    \n
  • \n Opportunity costs do not need to be captured here. In case you want to report them, please include them in the detail description after completing the initial reporting.\n
  • \n
  • \n While Accounting adjustments can be a rough estimate, we expect you report factual Cash-Outs and Operational gains.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_BUSINESS_FUNCTION,\n title: 'Function Code (Business Function)',\n information: `\n
\n Represents the company function in which the loss originated.\n `,\n },\n {\n infoKey: InfoKey.EVENT_COUNTRY,\n title: 'Event Location (Country)',\n information: `\n
\n Country where the loss occurred (e.g. where the P&L is).\n `,\n },\n {\n infoKey: InfoKey.EVENT_ROOT_CAUSE,\n title: 'Root Cause',\n information: ` This is the initiating cause of (what gave rise to) the event.\n
\n \n Additional Information:\n \n
\n
\n You can change this information later.\n
\n Please find any further information describing the individual Root Cause Codes here.\n `,\n },\n {\n infoKey: InfoKey.EVENT_TYPE,\n title: 'Event Type',\n information: ` Event Types represent a description of what happened.\n
\n Event Type identification is done by Risk Management before endorsing a new Operational Event.\n
\n \n Event Type level 1\n \n
\n Represents the 7 Basel 2 level 1 event type categories set by the Bank for International Settlements (BIS).\n
\n \n Event Type Level 2\n \n
\n Represents the Basel 2 level 2 event type categories adjusted to insurance business.\n
\n
\n
\n Please find any further information describing the individual Event Types here\n .\n `,\n },\n {\n infoKey: InfoKey.EVENT_COMPLIANCE,\n title: 'Compliance and Legal Risk Category',\n information: `\n Compliance and Legal Risk identification is done by Compliance when new Operational Events and Issues have been endorsed by Risk Management.\n (Note: Legal Risk in this context only refers to Fair Competition and Licensing risks.)\n
\n
    \n
  • \n Bribery and Corruption: Risk of offering or receiving any advantage that influences a person to perform a duty improperly or misuse power for a personal benefit.\n
  • \n
  • \n Conduct Risk: Risk of any activity that may result in unfair outcomes or treatment of retail customers.\n
  • \n
  • Conflict of Interest: Risk that a personal or financial interest, outside activity, or relationship either influences, or appears to or influences, a Swiss Re business decision.\n
  • \n
  • Data Protection: Risk of failing to protect personal data or respect privacy rights of employees, customers, clients, partners or other relevant individuals.\n
  • \n
  • Fair Competition: Risk of involvement in any activity that prevents, restricts, or may improperly impact business competition.\n
  • \n
  • Fraud: Risk of activities carried out by employees or others against Swiss Re with intentional deception intended to result in any personal gain.\n
  • \n
  • Insider Trading: Risk of the use of Swiss Re's Inside Information for a person's own benefit or for the benefit of a third party.\n
  • \n
  • International Trade Controls: Risk of doing business that violates sanctions or trade controls that prohibit activity with those entities, persons, sectors or countries.\n
  • \n
  • Investment Compliance: Risk of conducting financial markets activities that do not comply with internal and external requirements that regulate financial markets.\n
  • \n
  • Licensing: Risk of conducting business activities without having the appropriate authorization.\n
  • \n
  • Money Laundering and Terrorist Financing: Risk of introducing proceeds into the financial system that are obtained from illegal sources or intended for terrorist financing.\n
  • \n
\n `,\n },\n {\n infoKey: InfoKey.EVENT_WORKFLOW_GUIDANCE,\n title: 'Event Workflow Guidance',\n information: `\n The workflow in OneORM is aligned with Swiss Re's Operational Risk Management methodology.\n
\n
\n When you feel comfortable with documentation of the Event/Issue and all mandatory fields are populated, submit the case to Risk Management for review and approval by clicking the Action button.\n Should the case become obsolete you can cancel it with the Action button.\n
\n
\n While One ORM allows Governance to actively support the first line risk takers in reporting operational events and raising issues there are a few restrictions due to the responsibilities.\n

\n As Op Event owner and delegate are responsible for root cause analysis documentation and doing lessons learned\n

\n \n -> Only they can request closure approval.\n \n `,\n },\n {\n infoKey: InfoKey.EVENT_ATTACHMENTS,\n title: 'Attachments',\n information: `\n Attaching documents to events is optional (e.g. documents supporting the root cause analysis).\n
    \n
  • \n Attachments do not make up for an incomplete documentation of the event in OneORM. Specifically the \"event description\", \"root cause analysis\", \"lessons learned and actions taken\" must be comprehensively documented in the respective fields.
  • \n
  • \n When attaching documents, make sure that they do not contain any sensitive or personal information.
  • \n
\n
\n
\n Attachments can be added and removed until the event is closed. Should you need to add any additional documents for closed events, approach your Governance Coordinator or Op Risk Manager for support.\n `,\n },\n {\n infoKey: InfoKey.EVENT_SUBSCRIBED_USERS,\n title: 'Subscribed Users',\n information: `\n Users listed in this field are granted read access to the related risk case and are automatically cc's in all email notifications.\n Risk cases belonging to an RCSA to which a user has been subscribed become visible in the \"ALL CASES\" section on the OneORM home page.\n
\n
\n To subscribe to any RCSA, please reach out to your Op Risk Manager or Governance team.\n `,\n },\n];\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'dialog-sub-header',\n standalone: true,\n})\nexport class DialogSubHeaderDirective {}\n","import { NgIf } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DialogSubHeaderDirective } from '@shared/dialog/dialog-sub-header.directive';\nimport { IsNotNilPipe } from '@shared/pipe/is-not-nil.pipe';\n\nimport { UserGuideComponent } from '@shared/components';\nimport { SkeletonLoaderDirective } from '@shared/directives';\nimport { EntityName } from '@shared/models';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n MatDialogModule,\n UserGuideComponent,\n MatIconModule,\n MatButtonModule,\n DialogSubHeaderDirective,\n NgIf,\n IsNotNilPipe,\n MatDividerModule,\n SkeletonLoaderDirective,\n ],\n styles: [\n `\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n `,\n ],\n})\nexport class DialogComponent {\n @Input() loading = true;\n @Input() title: string;\n @Input() entityName: EntityName;\n @Input() isUserGuideVisible = true;\n @Input() isCancelButtonVisible = true;\n @Input({\n transform: booleanAttribute,\n })\n fullHeight = false;\n @Input({ transform: booleanAttribute }) flex = false;\n @Output() cancelButtonClick = new EventEmitter();\n @ContentChild(DialogSubHeaderDirective) dialogSubHeaderDirective: DialogSubHeaderDirective;\n\n readonly skeletonHeight = '24px';\n readonly skeletonWidth = '400px';\n readonly skeletonMargin = '0 0 8px 0';\n}\n","
\n
\n
\n

\n {{ title }}\n

\n \n
\n
\n @if (isUserGuideVisible) {\n \n }\n @if (isCancelButtonVisible) {\n \n }\n
\n
\n
\n \n
\n \n
\n
\n \n
\n\n","export * from './dialog.component';\nexport * from './dialog-sub-header.directive';\n","import { Renderer2, Directive, ElementRef, Input, OnInit } from '@angular/core';\n\nimport { ColumnWidth } from '@shared/models';\n\n@Directive({ selector: '[appColumnWidth]', standalone: true })\nexport class ColumnWidthDirective implements OnInit {\n @Input() columnWidth: ColumnWidth;\n private readonly domElement: HTMLElement;\n\n constructor(\n private readonly renderer: Renderer2,\n elementRef: ElementRef\n ) {\n this.domElement = elementRef.nativeElement as HTMLElement;\n }\n\n ngOnInit(): void {\n if (this.columnWidth && this.columnWidth.minWidth) {\n this.renderer.setStyle(this.domElement, 'min-width', `${this.columnWidth.minWidth}px`);\n }\n if (this.columnWidth && this.columnWidth.maxWidth) {\n this.renderer.setStyle(this.domElement, 'max-width', `${this.columnWidth.maxWidth}px`);\n }\n if (this.columnWidth && this.columnWidth.width) {\n this.renderer.setStyle(this.domElement, 'width', `${this.columnWidth.width}px`);\n this.renderer.setStyle(this.domElement, 'max-width', `${this.columnWidth.width}px`);\n this.renderer.setStyle(this.domElement, 'min-width', `${this.columnWidth.width}px`);\n }\n }\n}\n","export * from './column-width.directive';\nexport * from './popover.directive';\nexport * from './popover-actions.directive';\nexport * from './selectable.directive';\nexport * from './show-more.directive';\nexport * from './skeleton-loader.directive';\nexport * from './table-auto-scroll.directive';\nexport * from './table-row.directive';\nexport * from './trim-empty-space.directive';\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'popover-actions',\n standalone: true,\n})\nexport class PopoverActionsDirective {}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n ElementRef,\n HostListener,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { PopoverService } from '@shared/services';\nimport { isNotNil } from '@shared/utils';\n\n@Directive({\n selector: '[appPopoverTrigger]',\n standalone: true,\n})\nexport class PopoverDirective implements OnDestroy, OnInit {\n @Input()\n appPopoverTrigger!: TemplateRef;\n\n @Input()\n closeOnClickOutside: boolean = true;\n\n @Output()\n isOpen = new EventEmitter();\n\n private readonly unsubscribe = new Subject();\n private overlayRef!: OverlayRef;\n private readonly maxHeight: 700;\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly overlay: Overlay,\n private readonly vcr: ViewContainerRef,\n private readonly popoverService: PopoverService\n ) {}\n\n @HostListener('click') onClick(): void {\n this.attachOverlay();\n }\n\n ngOnInit(): void {\n this.createOverlay();\n this.popoverService.state$.subscribe(({ closedBy }) => {\n if (isNotNil(closedBy)) {\n this.detachOverlay();\n }\n } );\n }\n\n ngOnDestroy(): void {\n this.detachOverlay();\n this.unsubscribe.next(true);\n this.unsubscribe.complete();\n }\n\n private createOverlay(): void {\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: true,\n backdropClass: '',\n maxHeight: this.maxHeight,\n });\n\n this.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.unsubscribe))\n .subscribe(() => {\n if (this.closeOnClickOutside) {\n this.popoverService.closePopover('outsideClick');\n }\n });\n }\n\n private attachOverlay(): void {\n this.isOpen.emit(true);\n if (!this.overlayRef.hasAttached()) {\n const periodSelectorPortal = new TemplatePortal(this.appPopoverTrigger, this.vcr);\n\n this.overlayRef.attach(periodSelectorPortal);\n }\n }\n\n private detachOverlay(): void {\n this.isOpen.emit(false);\n if (this.overlayRef.hasAttached()) {\n this.overlayRef.detach();\n }\n }\n}\n","import { booleanAttribute, Directive, EventEmitter, HostBinding, HostListener, Input, numberAttribute, Output } from '@angular/core';\n\n@Directive({\n selector: '[appSelectable]',\n standalone: true,\n})\nexport class SelectableDirective {\n @Input({\n transform: numberAttribute,\n })\n id: number;\n @Input({\n transform: booleanAttribute,\n })\n selected: boolean;\n @Output() selectChange = new EventEmitter();\n\n @HostBinding('class.selectable')\n private readonly selectableClassApplied = true;\n\n @HostBinding('class.selected')\n private get selectedClassApplied(): boolean {\n return this.selected;\n }\n\n @HostListener('click', ['$event'])\n private onClick(): void {\n this.selectChange.emit(this.id);\n }\n}\n","import { AfterContentInit, Directive, ElementRef, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\n@Directive({ selector: '[appShowMore]', standalone: true })\nexport class ShowMoreDirective implements AfterContentInit, OnChanges {\n @Input() noOfLines: number = 3;\n @Input() showMoreTogget: boolean = false;\n @Output() showMoreView: EventEmitter = new EventEmitter();\n actualHeight: number;\n visibleHeight: number;\n\n constructor(private readonly elementView: ElementRef) {}\n\n ngAfterContentInit(): void {\n //calculate line height\n let temp: HTMLElement = document.createElement(this.elementView.nativeElement.nodeName) as HTMLElement;\n let calculatedLineHeight: number;\n temp.setAttribute(\n 'style',\n 'margin:0; padding:0; ' +\n 'font-family:' +\n (this.elementView.nativeElement.style.fontFamily || 'inherit') +\n '; ' +\n 'font-size:' +\n (this.elementView.nativeElement.style.fontSize || 'inherit') +\n '; ' +\n 'line-height:' +\n (this.elementView.nativeElement.style.lineHeight || 'inherit')\n );\n temp.innerHTML = 'A';\n this.elementView.nativeElement.appendChild(temp);\n calculatedLineHeight = temp.clientHeight;\n temp.parentNode.removeChild(temp);\n this.elementView.nativeElement.style.maxHeight = calculatedLineHeight * this.noOfLines + 'px';\n this.actualHeight = (this.elementView.nativeElement as HTMLElement).scrollHeight;\n this.visibleHeight = calculatedLineHeight * this.noOfLines;\n if (this.visibleHeight < this.actualHeight) {\n this.showMoreView.emit(true);\n this.elementView.nativeElement.classList.add('show-more-text');\n this.elementView.nativeElement.classList.add('mb-1');\n } else {\n this.showMoreView.emit(false);\n }\n }\n\n ngOnChanges(): void {\n if (this.showMoreTogget) {\n this.elementView.nativeElement.classList.add('expand');\n } else {\n this.elementView.nativeElement.classList.toggle('expand');\n }\n }\n}\n","import { ChangeDetectorRef, Directive, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { SkeletonLoaderComponent } from '@shared/components/skeleton-loader.component';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[skeleton]', standalone: true })\nexport class SkeletonLoaderDirective implements OnChanges {\n @Input('skeleton') isLoading = false;\n @Input('skeletonRepeat') repeat = 1;\n @Input('skeletonWidth') width: string;\n @Input('skeletonHeight') height: string;\n @Input('skeletonBorderRadius') borderRadius: string;\n @Input('skeletonMargin') margin: string;\n @Input('skeletonClassName') className: string;\n\n constructor(\n private readonly tpl: TemplateRef,\n private readonly vcr: ViewContainerRef,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isLoading']) {\n this.vcr.clear();\n this.cdr.markForCheck();\n\n if (changes['isLoading'].currentValue) {\n Array.from({ length: this.repeat }).forEach(() => {\n const ref = this.vcr.createComponent(SkeletonLoaderComponent);\n\n Object.assign(ref.instance, {\n width: this.width,\n height: this.height,\n borderRadius: this.borderRadius,\n margin: this.margin,\n className: this.className,\n });\n });\n } else {\n this.vcr.createEmbeddedView(this.tpl);\n this.cdr.markForCheck();\n }\n }\n }\n}\n","import { AfterContentInit, ContentChildren, Directive, Input, OnDestroy, QueryList } from '@angular/core';\nimport { PTableRowDirective } from '@shared/directives/table-row.directive';\nimport { isNil } from '@shared/utils/object/is-nil';\nimport { isNotNil } from '@shared/utils/object/is-not-nil';\nimport { Table } from 'primeng/table';\nimport { mergeMap, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: 'p-table[appAutoScrollToLastElement]',\n standalone: true,\n})\nexport class TableAutoScrollDirective implements AfterContentInit, OnDestroy {\n private static readonly scrollBehavior = 'smooth';\n\n @ContentChildren(PTableRowDirective, { descendants: true }) tableRows: QueryList;\n\n @Input() itemIndex?: number;\n\n private readonly destroy$ = new Subject();\n\n constructor(private readonly table: Table) {}\n\n ngAfterContentInit(): void {\n if (isNil(this.table)) {\n throw new Error('PTable must be defined when using TableAutoScrollDirective');\n }\n\n this.tableRows.changes\n .pipe(\n filter(isNotNil),\n map(rows => rows._results as PTableRowDirective[]),\n mergeMap(rows => rows),\n filter(row => row.nativeElement.rowIndex === this.itemIndex - 1),\n map(row => row.nativeElement.offsetTop),\n takeUntil(this.destroy$)\n )\n .subscribe(offset => {\n if (isNil(this.itemIndex)) {\n return;\n }\n\n this.table.scrollTo({\n top: offset,\n behavior: TableAutoScrollDirective.scrollBehavior,\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'tr[pTableRow]', standalone: true })\nexport class PTableRowDirective {\n readonly nativeElement: HTMLTableRowElement;\n constructor(private readonly elementRef: ElementRef) {\n this.nativeElement = elementRef.nativeElement;\n }\n}\n","import { Directive, HostListener, Input, Optional } from '@angular/core';\nimport { FormControlDirective, FormControlName } from '@angular/forms';\n\nimport { isEmpty } from '@shared/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[formControl], [formControlName]',\n standalone: true,\n})\nexport class TrimFormFieldsDirective {\n @Input() type: string;\n\n constructor(\n @Optional() private readonly formControlDir: FormControlDirective,\n @Optional() private readonly formControlName: FormControlName\n ) {}\n\n @HostListener('blur')\n @HostListener('keydown.enter')\n trimValue(): void {\n const control = this.formControlDir?.control || this.formControlName?.control;\n if (typeof control.value === 'string' && this.type !== 'password' && isEmpty(control.value.trim())) {\n control.setValue(control.value.trim());\n }\n }\n}\n","import { ActivatedRouteSnapshot, CanDeactivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { isNotNil } from '@shared/utils';\n\nexport const SHOULD_NAVIGATE_OUTSIDE = 'shouldNavigateOutside';\nexport type CanDeactivateType = Observable | Promise | boolean | UrlTree;\n\nexport interface CanComponentDeactivate {\n canDeactivate: (\n component: CanComponentDeactivate,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState: RouterStateSnapshot\n ) => CanDeactivateType;\n}\n\nexport const canDeactivateGuard: CanDeactivateFn = (\n component: CanComponentDeactivate,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState: RouterStateSnapshot\n) => {\n if (isNotNil(nextState.root.queryParams[SHOULD_NAVIGATE_OUTSIDE])) {\n return true;\n }\n return component.canDeactivate ? component.canDeactivate(component, currentRoute, currentState, nextState) : true;\n};\n","export * from './can-deactivate.guard';\n","export const numberOfMinLines = 3;\nexport const RCSA_ID_PARAM_MARK = 'rcsaId' as const;\n","export type EntityName =\n | 'control-assessments'\n | 'events'\n | 'issues'\n | 'risks'\n | 'rcsa'\n | 'controls'\n | 'dashboard'\n | 'controls-performed-in-other-departments'\n | 'gcc'\n | 'control-details'\n | 'impacted-standards';\n","import { FilterPosition } from './filter.model';\n\nexport interface FilterDropdownOption extends FilterPosition {\n id: ID;\n label: string;\n chipLabelPrefix?: string;\n type: 'dropdown';\n data?: DATA;\n}\n\ntype CheckboxOption = Omit, 'type'> & {\n type: 'checkbox';\n} & FilterPosition;\n\nexport type FilterOption = FilterDropdownOption | CheckboxOption;\n","export interface FilterPosition {\n groupIndex?: number;\n index?: number;\n}\n\nexport enum RatingCheckboxFilter {\n effective = 'effective',\n notEffective = 'notEffective',\n notApplicable = 'notApplicable',\n notAssessed = 'notAssessed',\n}\n\nexport enum RatingCheckboxFilterValue {\n effective = 'Effective',\n notEffective = 'Not Effective',\n notApplicable = 'Not Applicable',\n notAssessed = 'Not Assessed',\n}\n\nexport const RATING_CHECKBOX_FILTER_VALUES = [\n RatingCheckboxFilter.effective,\n RatingCheckboxFilter.notEffective,\n RatingCheckboxFilter.notApplicable,\n RatingCheckboxFilter.notAssessed,\n];\n","import { SafeUrl } from '@angular/platform-browser';\nimport { Status } from '@core/right-sidenav/right-sidenav.component';\n\nexport interface GraphUserInfo {\n id: string;\n displayName: string;\n givenName?: string;\n jobTitle: string;\n mail: string;\n userPrincipalName: string;\n requestId: string;\n}\n\nexport interface GraphUserPhoto {\n requestId: string;\n picture: SafeUrl;\n}\n\nexport interface GraphUserPresence {\n requestId: string;\n presence: Status;\n}\n\nexport type GraphUser = GraphUserInfo & GraphUserPhoto & GraphUserPresence;\n","export * from './constant/common-constants';\nexport * from './table/column-width.model';\nexport * from './entity-name.model';\nexport * from './graphUser.model';\nexport * from './filter/filter.model';\nexport * from './filter/filter-dropdown-option.model';\nexport * from './my-todo.model';\nexport * from './option.model';\nexport * from './rcsa.model';\nexport * from './rcsa-views.model';\nexport * from './risk-case-status.model';\nexport * from './risk-case-type.model';\nexport * from './risk-case-view.model';\nexport * from './user.model';\nexport * from './user-settings.model';\n","import { MyTodos } from 'oneorm-api-http-client/model/myTodos';\n\nimport { RiskCaseStatus } from './risk-case-status.model';\nimport { RiskCaseType } from './risk-case-type.model';\n\nexport type MyTodo = Omit & {\n class_name?: RiskCaseType;\n status_name?: RiskCaseStatus;\n};\n","export interface Option {\n label: string;\n id: T;\n}\n","import { RcsaEventView, RcsaIssueView } from 'oneorm-api-http-client';\n\nexport type RcsaViews = RcsaEventView | RcsaIssueView;\n","export interface TableExpandObject {\n row_id?: number;\n expand?: boolean;\n}\n","export enum RiskCaseStatus {\n completed = 'Completed',\n cancelled = 'Cancelled',\n closed = 'Closed',\n open = 'Open',\n openDueDateExtended = 'Open - Due Date Extended',\n preDraft = 'Pre-Draft',\n openPendingClosureApproval = 'Open - Pending Closure Approval',\n draft = 'Draft',\n draftPendingReview = 'Draft - Pending Review',\n openDueDateChangePending = 'Open - Due Date Change Pending',\n openPendingCompletionApproval = 'Open - Pending Completion Approval',\n}\n","export type RiskCaseType = 'Issue' | 'Event';\n\nexport type RiskCaseRcsaType = RiskCaseType | 'RCSA' | 'Event_Issue';\n","import { RiskCaseType } from '@shared/models/risk-case-type.model';\nimport { ActionColumn } from '@styles/p-table/model/col-def.model';\nimport { RiskCaseView, User } from 'oneorm-api-http-client';\nimport { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nexport type RiskCaseViewFE = Omit & {\n class_name?: RiskCaseType;\n status?: RiskCaseEnumItem;\n days_until_deadline?: string | number;\n delete?: string;\n creator: User;\n owner: User;\n delegate: User;\n rcsa_owner: User;\n risk_manager: User;\n governanceCoordinator: User;\n identifyingLod: RiskCaseEnumItem;\n impactRating: RiskCaseEnumItem;\n actionOwner: User;\n actionDelegate: User;\n} & ActionColumn;\n\nexport type RiskCaseDialogView = Pick;\n","export interface ColumnWidth {\n maxWidth?: number;\n minWidth?: number;\n width?: number;\n}\n","export interface UserSettings {\n field: string;\n header?: string;\n filter: string;\n mode: string;\n isVisible: boolean;\n index: number;\n subfield?: string;\n selectIndex: number;\n}\n\nexport type DefaultUserSettings = Omit;\n","import { SafeUrl } from '@angular/platform-browser';\nimport { User as ORMUser } from 'oneorm-api-http-client/model/user';\n\nexport enum UserRole {\n compliance = 'Compliance',\n gia = 'GIA',\n corm = 'CORM',\n orm = 'ORM',\n ormII = 'ORM II',\n governanceCoordinator = 'Governance Coordinator',\n}\n\nexport class User {\n user_id?: string;\n user_name?: string;\n user_email_address?: string;\n user_status?: string;\n}\n\nexport type TUser = ORMUser & {\n userRole?: UserRole[];\n userPhoto?: SafeUrl;\n};\n","import { formatDate } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNil, isNumber, unixToFormattedDate } from '@shared/utils';\n\nexport function formatDateToOneOrmDate(value: unknown): string {\n if (isNil(value)) {\n return '';\n }\n\n let val: unknown = value;\n if (isNumber(value)) {\n val = unixToFormattedDate(value);\n }\n return formatDate(val as string | number | Date, 'dd MMM yyyy', 'en-US');\n}\n\n@Pipe({\n name: 'oneOrmDate',\n standalone: true,\n})\nexport class OneOrmDatePipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/ban-types\n transform(value: unknown): string {\n return formatDateToOneOrmDate(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'fieldToColumnWidth',\n})\nexport class FieldToColumnWidthPipe implements PipeTransform {\n transform(\n field: keyof T,\n columnWidths: Record\n ): { minWidth?: number; maxWidth?: number } {\n return columnWidths[field];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { RcsaControlAssessor } from 'oneorm-api-http-client';\n\nexport const getAssessorsStatus = (assessors: RcsaControlAssessor[]): string =>\n assessors\n .map(\n element =>\n `${element.user_name}${\n element.user_status === 'INACTIVE' ? ' (Inactive)' : ''\n }`\n )\n .join(', ');\n\n@Pipe({\n name: 'getAssessorsStatus',\n standalone: true,\n})\nexport class GetAssessorsStatusPipe implements PipeTransform {\n transform(assessors: RcsaControlAssessor[]): string {\n return getAssessorsStatus(assessors);\n }\n}\n","export * from './date-format.pipe';\nexport * from './field-to-column-width.pipe';\nexport * from './get-assessors-status-text.pipe';\nexport * from './is-false.pipe';\nexport * from './is-function.pipe';\nexport * from './is-issue-or-event-in-draft-for-days.pipe';\nexport * from './is-not-nil.pipe';\nexport * from './is-not-empty.pipe';\nexport * from './is-true.pipe';\nexport * from './is-valid-date.pipe';\nexport * from './rating-class.pipe';\nexport * from './rating-id.pipe';\nexport * from './rating-label.pipe';\nexport * from './safe-html.pipe';\nexport * from './to-string.pipe';\nexport * from './truncate.pipe';\nexport * from './utf-8-count.pipe';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isFalse } from '@shared/utils/boolean/is-false';\n\n@Pipe({\n standalone: true,\n name: 'isFalse',\n})\nexport class IsFalsePipe implements PipeTransform {\n transform(value: boolean): boolean {\n return isFalse(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ValueGetterFunc } from '@styles/p-table/model/col-def.model';\n\nimport { isFunction } from '@shared/utils';\n\n@Pipe({\n standalone: true,\n name: 'isFunction',\n})\nexport class IsFunctionPipe implements PipeTransform {\n transform(value: string | ValueGetterFunc | undefined): boolean {\n return isFunction(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { RcsaViews } from '@shared/models';\nimport { isIssueOrEventInDraftForDays } from '@shared/utils';\n\n@Pipe({\n standalone: true,\n name: 'isInDraftForDays',\n})\nexport class IsIssueOrEventInDraftForDaysPipe implements PipeTransform {\n transform(row: RcsaViews): boolean {\n return isIssueOrEventInDraftForDays(row);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNotEmpty } from '@shared/utils';\n\n@Pipe({\n standalone: true,\n name: 'isNotEmpty',\n})\nexport class IsNotEmptyPipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/ban-types\n transform(value?: T | null): boolean {\n return isNotEmpty(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNotNil } from '@shared/utils';\n\n@Pipe({\n standalone: true,\n name: 'isNotNil',\n})\nexport class IsNotNilPipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/ban-types\n transform(value: T | string | undefined | null): boolean {\n return isNotNil(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isTrue } from '@shared/utils/boolean/is-true';\n\n@Pipe({\n standalone: true,\n name: 'isTrue',\n})\nexport class IsTruePipe implements PipeTransform {\n transform(value: unknown): boolean {\n return isTrue(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNotEmpty, isNotNil, isValidDate } from '@shared/utils';\n\n@Pipe({\n standalone: true,\n name: 'isValidDate',\n})\nexport class IsValidDatePipe implements PipeTransform {\n transform(value: string | number | Date, availableDateColumns?: (keyof T)[], columnsField?: keyof T): boolean {\n if (isNotEmpty(availableDateColumns) && isNotNil(columnsField)) {\n return isValidDate(value) && availableDateColumns.includes(columnsField);\n }\n return isValidDate(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { RatingConstants, RatingValue } from '@shared/constants/constants';\n\nimport { isNotNil } from '@shared/utils';\n\nexport function getRatingClass(label: string, property: keyof Pick = 'class'): string {\n let ratingValue = RatingConstants.values.find(value => value.label === label);\n\n return isNotNil(ratingValue) ? ratingValue[property] : '';\n}\n\n@Pipe({\n name: 'ratingClass',\n standalone: true,\n})\nexport class RatingClassPipe implements PipeTransform {\n transform(label: string, property: keyof Pick = 'class'): string {\n return getRatingClass(label, property);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { RatingConstant, RatingConstants } from '@shared/constants/constants';\n\nimport { isNil } from '@shared/utils';\n\n@Pipe({\n name: 'ratingId',\n standalone: true,\n})\nexport class RatingIdPipe implements PipeTransform {\n transform(value?: string): RatingConstant | undefined {\n if (isNil(value)) {\n return undefined;\n }\n return RatingConstants.values.find(rating => rating.label === value)?.id;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { RATING_ID_TO_LABEL, RatingConstant } from '@shared/constants/constants';\n\nimport { isNil, ValueOf } from '@shared/utils';\n\n@Pipe({\n name: 'ratingLabel',\n standalone: true,\n})\nexport class RatingLabelPipe implements PipeTransform {\n transform(value?: number): ValueOf | '' {\n if (isNil(value)) {\n return '';\n }\n return RATING_ID_TO_LABEL[value as RatingConstant];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isEmpty } from '@shared/utils';\n\n@Pipe({\n name: 'safeHtml',\n standalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n private readonly htmlLeftBracket = '<';\n private readonly htmlRightBracket = '>';\n transform(value: string): string {\n if (isEmpty(value) || (!value.includes(this.htmlLeftBracket) && !value.includes(this.htmlRightBracket))) {\n return value;\n }\n return value.replace(//g, '>');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNil } from '@shared/utils';\n\n@Pipe({\n name: 'toString',\n standalone: true,\n})\nexport class ToStringPipe implements PipeTransform {\n transform(value: number): string {\n if (isNil(value) || isNaN(value)) {\n return '';\n }\n return value.toString();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNil } from '@shared/utils';\n\n@Pipe({\n name: 'truncate',\n standalone: true,\n})\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, maxLength: number = 50): string {\n if (isNil(value)) {\n return '';\n }\n\n if (value.length <= maxLength) {\n return value;\n }\n\n return value.substring(0, maxLength) + '...';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { isNil } from '@shared/utils';\n\n@Pipe({\n name: 'toUTF8Count',\n standalone: true,\n})\nexport class Utf8CountPipe implements PipeTransform {\n private readonly textEncoder = new TextEncoder();\n\n transform(value?: string): number {\n if (isNil(value)) {\n return 0;\n }\n return this.textEncoder.encode(value).length;\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Adapter } from '@shared/adapters/adapter';\nimport { EnumOptionAdapter } from '@shared/adapters/enum-option.adapter';\nimport { RiskCaseEnum } from '@shared/constants/constants';\nimport { EnumService as OneormEnumerationsService, RiskCaseEnumItem } from 'oneorm-api-http-client';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Option } from '@shared/models';\n\n@Injectable()\nexport class EnumService {\n private readonly service = inject(OneormEnumerationsService);\n\n getEnumOptions(type: RiskCaseEnum, adapter?: Adapter): Observable {\n return this.service.getEnumItems(type).pipe(\n map(data => data?.data),\n map(data => adapter?.fromDto(data) ?? EnumOptionAdapter.fromDto(data))\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { EventsStatusEnumAdapter } from '@shared/adapters/events-status-enum.adapter';\nimport { EventsTypeEnumAdapter } from '@shared/adapters/events-type-enum.adapter';\nimport { RiskCaseEnum } from '@shared/constants/constants';\nimport { HomeEnumService } from '@shared/services/home-enum.service';\nimport { EnumService } from 'oneorm-api-http-client';\nimport { forkJoin, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { EventsCheckboxFilter } from '../../home/model/events-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\n@Injectable()\nexport class EventsEnumService extends HomeEnumService {\n constructor(private readonly enumService: EnumService) {\n super();\n }\n\n override getCheckboxFilters(): Observable> {\n return forkJoin([\n this.enumService.getEnumItems(RiskCaseEnum.EVENT_TYPE).pipe(\n map(data => data?.data),\n map(data => EventsTypeEnumAdapter.fromDto(data))\n ),\n this.enumService.getEnumItems(RiskCaseEnum.EVENT_STATUS).pipe(\n map(data => data?.data),\n map(data => EventsStatusEnumAdapter.fromDto(data))\n ),\n ]).pipe(\n map(([{ type }, { status }]) => ({\n type,\n status,\n }))\n );\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { BooleanCellRendererComponent } from '@styles/p-table/cell-renderers/boolean-cell-renderer.component';\nimport { DateCellRendererComponent } from '@styles/p-table/cell-renderers/date-cell-renderer.component';\nimport { InfiniteDaysCellRendererComponent } from '@styles/p-table/cell-renderers/infinite-days-cell-renderer.component';\nimport { OverdueCellRendererComponent } from '@styles/p-table/cell-renderers/overdue-cell-renderer/overdue-cell-renderer.component';\nimport { CellRenderer } from '@styles/p-table/model/cell-renderer.model';\nimport { ValueGetterFunc } from '@styles/p-table/model/col-def.model';\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport * as XLSX from 'xlsx';\n\nimport { INFINITE_DAYS } from '@shared/constants';\nimport { isEnum, isFunction, isString, isTrue, isUser, isUserArray, isNil, isNumber, unixToFormattedDate } from '@shared/utils';\n\nimport { UserSettingsColumnsDef } from '../../home/constants/column-definitions';\n\ntype ExtractedFields = (Pick[0], 'field' | 'header' | 'exportValueGetter'> & {\n dateColumn: boolean;\n infiniteCellColumn: boolean;\n booleanColumn: boolean;\n})[];\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcelService {\n private readonly excelExtension = '.xlsx';\n\n exportToExcel(data: T[], columns: UserSettingsColumnsDef, fileName: string): void {\n const extractedData = this.getDataFromVisibleColumns(data, columns);\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(extractedData);\n const workbook: XLSX.WorkBook = XLSX.utils.book_new();\n\n XLSX.utils.book_append_sheet(workbook, ws, 'Sheet1');\n XLSX.writeFile(workbook, `${fileName}_export${this.excelExtension}`);\n }\n\n private getDataFromVisibleColumns(data: T[], columns: UserSettingsColumnsDef): T[] {\n const fields = this.extractFields(columns);\n\n return this.flatUserAndEnumItems(\n data.map(item => {\n const extractedItem: Record = {};\n fields.forEach(({ field, dateColumn, infiniteCellColumn, booleanColumn, header, exportValueGetter }) => {\n if (item.hasOwnProperty(field)) {\n extractedItem[header] = this.getDataFromItem(\n item,\n field,\n dateColumn,\n infiniteCellColumn,\n booleanColumn,\n exportValueGetter\n ) as T[Extract];\n }\n });\n return extractedItem as T;\n })\n );\n }\n\n private extractFields(columns: UserSettingsColumnsDef): ExtractedFields {\n return columns.flatMap(column => {\n const header = column.header;\n const fieldInfo = {\n field: column.field,\n header,\n dateColumn: this.isDateColumn(column.cellRenderer),\n infiniteCellColumn: this.isInfiniteCellColumn(column.cellRenderer),\n booleanColumn: this.isBooleanColumn(column.cellRenderer),\n exportValueGetter: column.exportValueGetter,\n };\n if (column.children) {\n return [fieldInfo, ...this.extractFields(column.children)];\n }\n return fieldInfo;\n });\n }\n\n private getDataFromItem(\n item: T,\n field: keyof T,\n dateColumn: boolean,\n infiniteCellColumn: boolean,\n booleanColumn: boolean,\n exportValueGetter: string | ValueGetterFunc\n ): T[keyof T] | string | Date {\n const value: T[keyof T] = item[field];\n if (isFunction(exportValueGetter)) {\n return exportValueGetter(item) as string;\n } else if (isString(exportValueGetter)) {\n return exportValueGetter;\n }\n\n if (isTrue(booleanColumn)) {\n return isTrue(value) ? 'Yes' : 'No';\n }\n\n if ((infiniteCellColumn && value === INFINITE_DAYS) || isNil(value)) {\n return '';\n }\n\n if (!isTrue(dateColumn)) {\n return value;\n }\n\n return this.formatDateToExcelDate(value as string | number);\n }\n\n private formatDateToExcelDate(value: string | number): Date {\n let dateString = isNumber(value) ? unixToFormattedDate(value) : value;\n return new Date(new Date(dateString).toDateString());\n }\n\n private isInfiniteCellColumn(columnCellRenderer: Type>): boolean {\n return columnCellRenderer === InfiniteDaysCellRendererComponent;\n }\n\n private isDateColumn(columnCellRenderer: Type>): boolean {\n return columnCellRenderer === DateCellRendererComponent || columnCellRenderer === OverdueCellRendererComponent;\n }\n\n private isBooleanColumn(columnCellRenderer: Type>): boolean {\n return columnCellRenderer === BooleanCellRendererComponent;\n }\n\n private flatUserAndEnumItems(rows: T[]): T[] {\n return rows.map(row => this.flattenObject(row));\n }\n\n private flattenObject(obj: T): T {\n let result: Record = {};\n Object.entries(obj).forEach(([key, value]) => {\n if (isUser(value)) {\n result[key] = value.user_name;\n return;\n }\n\n if (isUserArray(value)) {\n result[key] = value.map(user => user.user_name).join(', ');\n return;\n }\n\n if (isEnum(value)) {\n result[key] = value.name;\n return;\n }\n result[key] = value;\n });\n\n return result as T;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FavIconService {\n private readonly faviconElement: HTMLLinkElement;\n\n constructor() {\n this.faviconElement = document.querySelector('link[id=\"faviconTag\"]');\n }\n\n setFavicon(url: string): void {\n if (this.faviconElement) {\n this.faviconElement.href = url;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { Status } from '@core/right-sidenav/right-sidenav.component';\nimport { forkJoin, Observable, of, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { GraphUser, GraphUserInfo, GraphUserPhoto, GraphUserPresence } from '@shared/models';\nimport { groupBy, isEmpty, isNil, isNotNil, pick } from '@shared/utils';\n\nimport { environment } from '../../../environments/environment';\n\ninterface GraphApiResponse {\n responses: T[];\n}\n\ninterface GraphApiBatchRequest {\n id: string;\n method: 'GET' | 'POST' | 'PUT';\n url: `/users/${string}` | `users${string}`;\n headers?: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ConsistencyLevel?: 'eventual';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Content-Type'?: string;\n };\n responseType?: string;\n}\n\ninterface GraphResponse {\n id: string;\n status: number;\n body: T;\n}\n\ntype GraphUserInfoResponse = GraphResponse<{ value: GraphUserInfo[] }>;\n\ntype GraphUserPhotoResponse = GraphResponse;\n\ntype GraphUserPresenceResponse = GraphResponse<{\n id: string;\n availability: Status;\n activity: string;\n}>;\n\n@Injectable()\nexport class GraphService {\n private readonly graphUrl = environment.graphUrl;\n private readonly graphBatchUrl = this.graphUrl + '$batch';\n private readonly statusOk = 200;\n\n constructor(\n private readonly http: HttpClient,\n private readonly sanitizer: DomSanitizer\n ) {}\n\n getLoggedUserPhoto(): Observable {\n let httpHeaders = new HttpHeaders().set('content-type', 'image/Jpeg');\n return this.http\n .get(this.graphUrl + 'me/photo/$value', { headers: httpHeaders, responseType: 'blob' })\n .pipe(map(e => this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(e))));\n }\n\n getGraphUsers(emails: string[]): Observable {\n const userInfoBatchRequests = emails.map(user => this.createUserInfoBatchRequest(user));\n return this.getUsersInfo(userInfoBatchRequests).pipe(\n switchMap(graphUsers => {\n const userPhotoBatchRequests = graphUsers.map(user => this.createUserPhotoBatchRequest(user));\n const presenceBatchRequests = graphUsers.map(user => this.createPresenceBatchRequest(user));\n return forkJoin([of(graphUsers), this.getUsersPhotos(userPhotoBatchRequests), this.getUsersPresence(presenceBatchRequests)]);\n }),\n map(([graphUsersInfos, usersPhotos, usersPresence]) => {\n const graphUsers = groupBy([...graphUsersInfos, ...usersPhotos, ...usersPresence], user => user.requestId);\n const resultArray: GraphUser[] = [];\n\n for (const [key, value] of Object.entries(graphUsers)) {\n const user: Partial = {\n requestId: key,\n };\n\n for (const obj of value as GraphUser[]) {\n if (obj.id) {\n user.id = obj.id;\n user.displayName = obj.displayName;\n user.jobTitle = obj.jobTitle;\n user.mail = obj.mail;\n user.userPrincipalName = obj.userPrincipalName;\n }\n\n if (obj.picture) {\n user.picture = obj.picture;\n }\n\n if (obj.presence) {\n user.presence = obj.presence;\n }\n }\n\n resultArray.push(user as GraphUser);\n }\n return resultArray.filter(user => isNotNil(user.picture));\n })\n );\n }\n\n private getUsersPresence(presenceBatchRequests: GraphApiBatchRequest[]): Observable {\n if (isEmpty(presenceBatchRequests)) {\n return of([]);\n }\n return this.http.post>(this.graphBatchUrl, { requests: presenceBatchRequests }).pipe(\n map(response => response.responses),\n map((responses: GraphUserPresenceResponse[]) => this.filterOkResponses(responses)),\n map((responses: GraphUserPresenceResponse[]) =>\n responses.map(response => {\n const userPresence = response.body;\n if (isNil(userPresence)) {\n return undefined;\n }\n return {\n requestId: response.id,\n presence: userPresence.availability,\n } as GraphUserPresence;\n })\n )\n );\n }\n\n private getUsersPhotos(userPhotoBatchRequests: GraphApiBatchRequest[]): Observable {\n if (isEmpty(userPhotoBatchRequests)) {\n return of([]);\n }\n return this.http.post>(this.graphBatchUrl, { requests: userPhotoBatchRequests }).pipe(\n map(response => response.responses),\n map((responses: GraphUserPhotoResponse[]) => this.filterOkResponses(responses)),\n map((responses: GraphUserPhotoResponse[]) =>\n responses.map(response => {\n const userPhoto = 'data:image/jpeg;base64,' + response.body;\n if (isNil(userPhoto)) {\n return undefined;\n }\n\n return {\n requestId: response.id,\n picture: userPhoto,\n } as GraphUserPhoto;\n })\n ),\n map(usersResponses => usersResponses.filter(isNotNil))\n );\n }\n\n private getUsersInfo(userInfoBatchRequests: GraphApiBatchRequest[]): Observable {\n if (isEmpty(userInfoBatchRequests)) {\n return of([]);\n }\n return this.http.post>(this.graphBatchUrl, { requests: userInfoBatchRequests }).pipe(\n map(response => response.responses),\n map((responses: GraphUserInfoResponse[]) => this.filterOkResponses(responses)),\n map(responses =>\n responses.map(response => {\n const user = response.body.value[0];\n if (isNil(user)) {\n return undefined;\n }\n\n return {\n ...pick(user, 'id', 'displayName', 'givenName', 'jobTitle', 'mail', 'userPrincipalName'),\n requestId: response.id,\n } as GraphUserInfo;\n })\n ),\n map(usersResponses => usersResponses.filter(isNotNil))\n );\n }\n\n private getUserSearchQuery(email: string): string {\n return `\"mail:${email}\"`;\n }\n\n private createUserInfoBatchRequest(email: string): GraphApiBatchRequest {\n const searchQuery = this.getUserSearchQuery(email);\n return {\n id: email,\n method: 'GET',\n url: `users?$search=${searchQuery}`,\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ConsistencyLevel: 'eventual',\n },\n };\n }\n\n private createUserPhotoBatchRequest(user: GraphUserInfo): GraphApiBatchRequest {\n return {\n id: user.mail,\n method: 'GET',\n url: `users/${user.id}/photo/$value`,\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Content-Type': 'image/jpeg',\n },\n responseType: 'blob',\n };\n }\n\n private createPresenceBatchRequest(user: GraphUserInfo): GraphApiBatchRequest {\n return {\n id: user.mail,\n method: 'GET',\n url: `users/${user.id}/presence`,\n };\n }\n\n private filterOkResponses>(responses: T[]): T[] {\n return responses.filter(response => response.status === this.statusOk);\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\nexport abstract class HomeEnumService {\n abstract getCheckboxFilters(): Observable>>;\n}\n","import { Observable } from 'rxjs';\n\nimport { RiskCaseType } from '@shared/models';\n\nimport { CaseFilterType } from '../../home/model/case-filter-type.model';\nimport { TableData } from '../../home/model/table-data.model';\n\nexport abstract class HomeService {\n abstract getData(caseType?: RiskCaseType, type?: CaseFilterType, params?: P): Observable>;\n}\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nenum CustomIcon {\n 'xlsx' = 'xlsx',\n}\n\n@Injectable()\nexport class IconService {\n constructor(\n private readonly domSanitizer: DomSanitizer,\n private readonly matIconRegistry: MatIconRegistry\n ) {}\n\n registerCustomIcons(): void {\n Object.values(CustomIcon).forEach(icon => {\n this.matIconRegistry.addSvgIcon(icon, this.domSanitizer.bypassSecurityTrustResourceUrl(`../../assets/images/${icon}.svg`));\n });\n }\n}\n","export * from './enum.service';\nexport * from './events-enum.service';\nexport * from './excel.service';\nexport * from './favicon.service';\nexport * from './graph.service';\nexport * from './home.service';\nexport * from './home-enum.service';\nexport * from './icon.service';\nexport * from './issues-enum.service';\nexport * from './my-todos.service';\nexport * from './popover.service';\nexport * from './rcsa-fe.service';\nexport * from './risk-cases.service';\nexport * from './state-saving.service';\nexport * from './subscription-variables.service';\nexport * from './theme-detection.service';\nexport * from './toast.service';\nexport * from './user-settings.service';\nexport * from './users.service';\nexport * from './window-resize.service';\n","import { Injectable } from '@angular/core';\nimport { IssueRatingEnumAdapter } from '@shared/adapters/issue-rating-enum.adapter';\nimport { IssuesStatusEnumAdapter } from '@shared/adapters/issues-status-enum.adapter';\nimport { LodEnumAdapter } from '@shared/adapters/lod-enum.adapter';\nimport { RiskCaseEnum } from '@shared/constants/constants';\nimport { HomeEnumService } from '@shared/services/home-enum.service';\nimport { EnumService } from 'oneorm-api-http-client';\nimport { forkJoin, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IssuesCheckboxFilter } from '../../home/model/issues-filter.model';\nimport { FilterCheckboxGroupModel } from '../../rcsa/filter/filter-checkbox-group.model';\n\n@Injectable()\nexport class IssuesEnumService extends HomeEnumService {\n constructor(private readonly enumService: EnumService) {\n super();\n }\n\n override getCheckboxFilters(): Observable> {\n return forkJoin([\n this.enumService.getEnumItems(RiskCaseEnum.ISSUE_STATUS).pipe(\n map(data => data?.data),\n map(data => IssuesStatusEnumAdapter.fromDto(data))\n ),\n this.enumService.getEnumItems(RiskCaseEnum.ISSUE_RATING).pipe(\n map(data => data?.data),\n map(data => IssueRatingEnumAdapter.fromDto(data))\n ),\n this.enumService.getEnumItems(RiskCaseEnum.LOD).pipe(\n map(data => data?.data),\n map(data => LodEnumAdapter.fromDto(data))\n ),\n ]).pipe(\n map(([{ status }, { impactRating }, { identifyingLod }]) => ({\n status,\n impactRating,\n identifyingLod,\n }))\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HomeService } from '@shared/services/home.service';\nimport { MyTodosService as OrmMyTodosService } from 'oneorm-api-http-client';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { MyTodo, RiskCaseStatus, RiskCaseType } from '@shared/models';\nimport { isNil } from '@shared/utils';\n\nimport { TableData } from '../../home/model/table-data.model';\n\n@Injectable()\nexport class MyTodosService extends HomeService {\n constructor(private readonly oneOrmMyTodosService: OrmMyTodosService) {\n super();\n }\n\n getData(): Observable> {\n return this.oneOrmMyTodosService.getMyTodos().pipe(\n map(({ data }) => {\n if (isNil(data)) {\n return { data: [] };\n }\n return {\n data: data.map(riskCase => ({\n ...riskCase,\n class_name: riskCase.class_name as RiskCaseType,\n status_name: riskCase.status_name as RiskCaseStatus,\n })) as MyTodo[],\n };\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\ninterface PopoverState {\n closedBy?: 'button' | 'outsideClick';\n}\n\n@Injectable()\nexport class PopoverService {\n readonly state$: Observable;\n private readonly state = new BehaviorSubject({});\n\n constructor() {\n this.state$ = this.state.asObservable();\n }\n\n closePopover(closedBy: PopoverState['closedBy']): void {\n return this.state.next({ closedBy });\n }\n\n getValue(): PopoverState {\n return this.state.getValue();\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { RcsaService } from 'oneorm-api-http-client';\nimport { RiskAssessment } from 'oneorm-api-http-client/model/riskAssessment';\nimport { map, Observable } from 'rxjs';\n\nimport { UserStore } from '@core/authorization';\nimport { RiskCaseType } from '@shared/models';\nimport { HomeService } from '@shared/services';\nimport { isNotNil } from '@shared/utils';\n\nimport { CaseFilterType } from '../../home/model/case-filter-type.model';\nimport { TableData } from '../../home/model/table-data.model';\n\nconst getUserIdBasedOnType = (type: CaseFilterType, ownerId: string): string => {\n if (type === CaseFilterType.MY) {\n return ownerId;\n }\n\n return undefined;\n};\n\n@Injectable()\nexport class RcsaFeService extends HomeService {\n private readonly userStore = inject(UserStore);\n\n constructor(private readonly rcsaService: RcsaService) {\n super();\n }\n\n getData(caseType?: RiskCaseType, type?: CaseFilterType): Observable> {\n return this.rcsaService.getRCSAs(undefined, getUserIdBasedOnType(type, this.userStore.user_id())).pipe(map(({ data }) => ({ data })));\n }\n\n getGlobalFunctions(): Observable {\n return this.rcsaService.getAllGlobalFunctions().pipe(\n map(({ data }) => data),\n map(data => data.filter(obj => isNotNil(obj)))\n );\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { RiskCasesAdapter } from '@shared/adapters/risk-cases.adapter';\nimport { RiskCaseType } from '@shared/models/risk-case-type.model';\nimport { RiskCaseViewFE } from '@shared/models/risk-case-view.model';\nimport { HomeService } from '@shared/services/home.service';\nimport { DEFAULT_LIMIT_SIZE, DEFAULT_PAGE_OFFSET } from '@styles/p-table/constants';\nimport { Issue, IssueService, OpEvent, OpEventService, RiskCasesViewService } from 'oneorm-api-http-client';\nimport { RiskCaseViewsListResponse } from 'oneorm-api-http-client/model/riskCaseViewsListResponse';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { extractEtagValue, isNil } from '@shared/utils';\n\nimport { CaseFilterType } from '../../home/model/case-filter-type.model';\nimport { TableData } from '../../home/model/table-data.model';\n\nexport type RiskCaseOrderByField = 'id' | 'status_id' | 'status' | 'role_name' | 'rc_source_id' | 'rc_source_name' | 'accounting_adjustments' | 'operational_gains' | 'title' | 'class_id' | 'class_name' | 'loss' | 'gross_loss_amount' | 'net_loss_amount' | 'creation_date' | 'governance_represent' | 'days_until_deadline' | 'next_deadline' | 'creator_id' | 'creator' | 'owner_id' | 'owner' | 'delegate_id' | 'delegate' | 'rcsa_owner_id' | 'rcsa_owner' | 'risk_manager_id' | 'risk_manager' | 'submission_date' | 'closure_date' | 'cancellation_date' | 'lod_id' | 'lod' | 'issue_source_id' | 'source' | 'impact_rating_id' | 'impact_rating' | 'target_due_date' | 'proposed_due_date' | 'governance_coordinator_id' | 'governance_coordinator' | 'action_item_assignee_id' | 'action_item_assignee' | 'action_item_delegate_id' | 'action_item_delegate' | 'compliance_id' | 'compliance' | 'comp_unit' | 'ra_global_function' | 'bu_gf' | 'ra_id' | 'status_order_id';\n\nexport interface GetRiskCaseViewsParams {\n creatorId?: string;\n ownerId?: string;\n delegateId?: string;\n rcsaOwnerId?: string;\n riskManagerId?: string;\n govCoordinatorId?: string;\n actionItemOwnerId?: string;\n actionItemDelegateId?: string;\n className: string;\n statusIds?: number[];\n globalFunction?: string;\n issueSourceId?: number;\n lodIds?: number[];\n impactRatingIds?: number[];\n typeIds?: number[];\n fullText?: string;\n fullTextCols?: string[];\n orderBy?: RiskCaseOrderByField;\n orderAsc?: boolean;\n pageSize?: number;\n pageOffset?: number;\n}\n\nconst DEFAULT_SORT_FIELD: RiskCaseOrderByField = 'rc_source_name';\n\nfunction mapToFeModel(): (source$: Observable) => Observable> {\n return source$ => source$.pipe(map(v => ({ data: RiskCasesAdapter.fromDto(v.data), totalRows: v.total_rows })));\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RiskCasesService extends HomeService {\n constructor(\n private readonly riskCasesService: RiskCasesViewService,\n private readonly issuesService: IssueService,\n private readonly eventsService: OpEventService\n ) {\n super();\n }\n\n getIssue(id: number): Observable> {\n return this.issuesService.getIssueById(id, 'response', false, {\n httpHeaderAccept: 'application/json',\n });\n }\n\n getEvent(id: number): Observable> {\n return this.eventsService.getOpEventById(id, 'response', false, {\n httpHeaderAccept: 'application/json',\n });\n }\n\n getAllRiskCases(params: GetRiskCaseViewsParams): Observable> {\n return this.riskCasesService\n .getRiskCaseViews(\n params?.className,\n params?.creatorId,\n params?.ownerId,\n params?.delegateId,\n params?.rcsaOwnerId,\n params?.riskManagerId,\n params?.govCoordinatorId,\n params?.actionItemOwnerId,\n params?.actionItemDelegateId,\n params?.statusIds,\n params?.globalFunction,\n params?.issueSourceId,\n params?.lodIds,\n params?.impactRatingIds,\n params?.typeIds,\n params?.fullText ?? '',\n params?.fullTextCols ?? [],\n params?.orderBy ?? DEFAULT_SORT_FIELD,\n params?.orderAsc ?? false,\n params?.pageSize ?? DEFAULT_LIMIT_SIZE,\n params?.pageOffset ?? DEFAULT_PAGE_OFFSET\n )\n .pipe(mapToFeModel());\n }\n\n getMyRiskCases(params: GetRiskCaseViewsParams): Observable> {\n return this.riskCasesService\n .getMyRiskCaseViews(\n params?.className,\n params?.creatorId,\n params?.ownerId,\n params?.delegateId,\n params?.rcsaOwnerId,\n params?.riskManagerId,\n params?.govCoordinatorId,\n params?.actionItemOwnerId,\n params?.actionItemDelegateId,\n params?.statusIds,\n params?.globalFunction,\n params?.issueSourceId,\n params?.lodIds,\n params?.impactRatingIds,\n params?.typeIds,\n params?.fullText ?? '',\n params?.fullTextCols ?? [],\n params?.orderBy ?? DEFAULT_SORT_FIELD,\n params?.orderAsc ?? false,\n params?.pageSize ?? DEFAULT_LIMIT_SIZE,\n params?.pageOffset ?? DEFAULT_PAGE_OFFSET\n )\n .pipe(mapToFeModel());\n }\n\n getData(\n caseType?: RiskCaseType,\n type?: CaseFilterType,\n params?: Omit\n ): Observable> {\n if (isNil(caseType)) {\n throw new Error('RiskCaseType must be specified for ' + RiskCasesService.name);\n }\n\n if (isNil(type)) {\n throw new Error('CaseFilterType must be specified for ' + RiskCasesService.name);\n }\n\n if (type === CaseFilterType.ALL) {\n return this.getAllRiskCases({ ...params, className: caseType });\n }\n return this.getMyRiskCases({ ...params, className: caseType });\n }\n\n deleteIssue(id: number, etag: string): Observable {\n return this.issuesService.removeIssue(id, extractEtagValue(etag));\n }\n\n deleteEvent(id: number, etag: string): Observable {\n return this.eventsService.removeOpEvent(id, extractEtagValue(etag));\n }\n\n updateIssue(id: number, etag: string, issue: Issue, observe?: 'body'): Observable;\n updateIssue(id: number, etag: string, issue: Issue, observe: 'response'): Observable>;\n updateIssue(id: number, etag: string, issue: Issue, observe?: 'body' | 'response'): Observable> {\n if (isNil(observe) || observe === 'body') {\n return this.issuesService.updateIssue(id, extractEtagValue(etag), issue, observe ?? 'body') as Observable;\n }\n\n return this.issuesService.updateIssue(id, extractEtagValue(etag), issue, observe ?? 'response') as Observable>;\n }\n\n updateEvent(id: number, etag: string, event: OpEvent, observe?: 'body'): Observable;\n updateEvent(id: number, etag: string, event: OpEvent, observe: 'response'): Observable>;\n updateEvent(id: number, etag: string, event: OpEvent, observe?: 'body' | 'response'): Observable> {\n if (isNil(observe) || observe === 'body') {\n return this.eventsService.updateOpEvent(id, extractEtagValue(etag), event, observe ?? 'body') as Observable;\n }\n\n return this.eventsService.updateOpEvent(id, extractEtagValue(etag), event, observe ?? 'response') as Observable>;\n }\n\n createEvent(event: OpEvent): Observable> {\n return this.eventsService.createOpEvent(event, 'response', false, {\n httpHeaderAccept: 'application/json',\n });\n }\n\n createIssue(issue: Issue): Observable> {\n return this.issuesService.createIssues(issue, 'response', false, {\n httpHeaderAccept: 'application/json',\n });\n }\n}\n","// TODO: Remove once OneOrm UI is removed\nexport interface StateSavingService {\n saveState(state: T): void;\n loadState(): void;\n savedStateExists(): boolean;\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { Breadcrumb } from '@core/top-navbar';\n\n@Injectable()\nexport class SubscriptionVariablesService {\n getSubTab: Observable;\n changeBreadcrumb: Observable;\n breadcrumbValues: Breadcrumb;\n\n private readonly breadcrumb = new Subject();\n private readonly controlSubTabS = new Subject();\n\n constructor() {\n this.changeBreadcrumb = this.breadcrumb.asObservable();\n this.getSubTab = this.controlSubTabS.asObservable();\n }\n\n controlSubTab(subTab: number): void {\n this.controlSubTabS.next(subTab);\n }\n\n setBreadcrumb(breadcrumb: Breadcrumb): void {\n this.breadcrumbValues = breadcrumb;\n this.breadcrumb.next(breadcrumb);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FavIconService } from './favicon.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeDetectionService {\n constructor(private readonly faviconService: FavIconService) {}\n\n init(): void {\n const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n const faviconUrl = prefersDark ? 'assets/images/WhiteIcon.svg' : 'assets/images/OneORM_ICON.svg';\n this.faviconService.setFavicon(faviconUrl);\n }\n}\n","import { Injectable, TemplateRef, Type } from '@angular/core';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\n\n@Injectable()\nexport class ToastService {\n private readonly actionText = 'Dismiss';\n private readonly successClass = 'success-snackbar';\n private readonly errorClass = 'error-snackbar';\n\n constructor(private readonly snackbar: MatSnackBar) {}\n\n showSuccessToastFromTemplate(template: TemplateRef, config?: MatSnackBarConfig): void {\n this.snackbar.openFromTemplate(template, { ...config, panelClass: [this.successClass] });\n }\n\n showSuccessToastFromComponent(component: Type, config?: MatSnackBarConfig): void {\n this.snackbar.openFromComponent(component, { ...config, panelClass: [this.successClass] });\n }\n\n showSuccessToast(message: string): void {\n this.snackbar.open(message, this.actionText, {\n panelClass: [this.successClass],\n });\n }\n\n showErrorToast(message: string): void {\n this.snackbar.open(message, this.actionText, {\n panelClass: [this.errorClass],\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UserSettingsAdapter } from '@shared/adapters/user-settings.adapter';\nimport { UserSettings } from '@shared/models/user-settings.model';\nimport { UserSettingService as OrmUserSettingsService } from 'oneorm-api-http-client';\nimport { UserSettingResponse } from 'oneorm-api-http-client/model/userSettingResponse';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { DefaultColumnsDefinitions, UserSettingsColumnsDef } from '../../home/constants/column-definitions';\nimport { UserSettingsEvent } from '../../home/model/user-settings-event.enum';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n constructor(private readonly userSettingsService: OrmUserSettingsService) {}\n\n getUserSettingsColumnsDefinitionsForType(\n type: UserSettingsEvent,\n columnDefinitions: DefaultColumnsDefinitions\n ): Observable> {\n return this.userSettingsService.getUserSettingsByType(type).pipe(\n map(settings => settings as unknown as UserSettings[]),\n map(settings => UserSettingsAdapter.fromDto(settings, columnDefinitions, type))\n );\n }\n\n saveUserSettingsForType(type: UserSettingsEvent, body: UserSettings[]): Observable> {\n return this.userSettingsService.saveUserSettingByType(type, body as unknown as Array);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UserService as OneormUsersService } from 'oneorm-api-http-client';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { isEmpty } from '@shared/utils';\n\nimport { FilterDropdownOption } from '../models/filter/filter-dropdown-option.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UsersService {\n constructor(private readonly usersService: OneormUsersService) {}\n\n getUsers(filter: string): Observable {\n if (isEmpty(filter)) {\n return of([]);\n }\n\n return this.usersService.getUsersList(filter, true).pipe(\n map(({ data }) => data ?? []),\n map(users =>\n users.map(\n user =>\n ({\n label: user?.user_name,\n id: user?.user_id,\n }) as FilterDropdownOption\n )\n )\n );\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, distinctUntilChanged, fromEvent, Subject } from 'rxjs';\n\ninterface ResizeEvent {\n width: number;\n height: number;\n}\n\n@Injectable()\nexport class WindowResizeService {\n readonly resized$ = new Subject();\n\n constructor(private readonly ngZone: NgZone) {\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(debounceTime(500), distinctUntilChanged(), takeUntilDestroyed())\n .subscribe(e => {\n this.ngZone.run(() => {\n this.resized$.next({ width: (e.target as Window).innerWidth, height: (e.target as Window).innerHeight });\n });\n });\n });\n }\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { groupBy as lodashGroupBy } from 'lodash-es';\n\nexport const groupBy = lodashGroupBy;\n","// eslint-disable-next-line no-restricted-imports\nimport { isArray as lodashFunc } from 'lodash-es';\n\nexport const isArray = lodashFunc;\n","// eslint-disable-next-line no-restricted-imports\nimport { isEmpty as lodashIsEmpty } from 'lodash-es';\n\nexport const isEmpty = lodashIsEmpty;\n","// eslint-disable-next-line no-restricted-imports\nimport { isEmpty } from 'lodash-es';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNotEmpty(value?: T | null): boolean {\n return !isEmpty(value);\n}\n","import { User } from 'oneorm-api-http-client/model/user';\n\nimport { isArray } from '@shared/utils';\n\nexport const isUserArray = (row: unknown[] | unknown): row is User[] => {\n if (!isArray(row)) {\n return false;\n }\n return row.every(r => r.hasOwnProperty('user_id') && r.hasOwnProperty('user_name'));\n};\n","// eslint-disable-next-line no-restricted-imports\nimport { map as lodashMap } from 'lodash-es';\n\nexport const map = lodashMap;\n","// eslint-disable-next-line no-restricted-imports\nimport { some as lodashSome } from 'lodash-es';\n\nexport const some = lodashSome;\n","// eslint-disable-next-line no-restricted-imports\nimport { sortBy as lodashSortBy } from 'lodash-es';\n\nexport const sortBy = lodashSortBy;\n","// eslint-disable-next-line no-restricted-imports\nimport { uniqBy as lodashUniqBy } from 'lodash-es';\n\nexport const uniqBy = lodashUniqBy;\n","// eslint-disable-next-line no-restricted-imports\nimport { isBoolean as lodashIsBoolean } from 'lodash-es';\n\nexport const isBoolean = lodashIsBoolean;\n","export function isFalse(value: unknown): value is false {\n return value === false;\n}\n","export function isFalsy(value?: unknown): boolean {\n return value === false || value === undefined || value === null || value === '' || value === 'false';\n}\n","export function isTrue(value: unknown): boolean {\n return /true/i.test(value as string);\n}\n","import { isFalsy } from './is-falsy';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isTruthy(value?: unknown): boolean {\n return !isFalsy(value);\n}\n","import { startOfQuarter, addMonths, getYear, getMonth } from 'date-fns';\n\nexport function getRcsaQuarter(date = new Date()): { startDate: Date; endDate: Date } {\n const isFirstQuarter2025 = getYear(date) === 2025 && getMonth(date) < 3;\n\n let startDate = startOfQuarter(date);\n let endDate: Date;\n\n startDate = addMonths(startDate, 1);\n endDate = addMonths(startDate, 3);\n endDate.setDate(endDate.getDate() - 1);\n\n if (isFirstQuarter2025) {\n startDate = addMonths(startDate, -1);\n }\n\n return { startDate, endDate };\n}\n","import { getTime } from 'date-fns';\n\nimport { isValidDate } from '@shared/utils';\n\nexport const isAfterOrEqualTime = (date1: Date, date2: Date, equal: boolean = false): boolean => {\n if (!isValidDate(date1) || !isValidDate(date2)) {\n return false;\n }\n\n if (typeof date1 !== typeof date2) {\n console.warn(`'isAfterOrEqualTime': Type of dates are not matching. date1: ${typeof date1}, date2: ${typeof date2}`);\n }\n\n if (equal) {\n return getTime(date1) >= getTime(date2);\n }\n\n return getTime(date1) > getTime(date2);\n};\n","import { isEqual, isBefore } from 'date-fns';\n\nimport { isValidDate } from '@shared/utils';\n\nexport const isBeforeOrEqualDate = (date1: number | Date, date2: number | Date, equal: boolean = true): boolean => {\n if (!isValidDate(date1) || !isValidDate(date2)) {\n return false;\n }\n\n if (typeof date1 !== typeof date2) {\n console.warn(`'isBeforeDate': Type of dates are not matching. date1: ${typeof date1}, date2: ${typeof date2}`);\n }\n\n if (equal) {\n return isEqual(date1, date2) || isBefore(date1, date2);\n }\n\n return isBefore(date1, date2);\n};\n","import { getTime } from 'date-fns';\n\nimport { isValidDate } from '@shared/utils';\n\nexport const isBeforeOrEqualTime = (date1: Date, date2: Date, equal: boolean = false): boolean => {\n if (!isValidDate(date1) || !isValidDate(date2)) {\n return false;\n }\n\n if (typeof date1 !== typeof date2) {\n console.warn(`'isBeforeTime': Type of dates are not matching. date1: ${typeof date1}, date2: ${typeof date2}`);\n }\n\n if (equal) {\n return getTime(date1) <= getTime(date2);\n }\n\n return getTime(date1) < getTime(date2);\n};\n","import { differenceInDays } from 'date-fns';\n\n/**\n * @param date - date to check\n * @param numberOfDays - number of days to check\n * @return true if difference between dates is more than 'numberOfDays' otherwise false\n */\nexport const isDateAfterDays = (date: string | Date, numberOfDays: number): boolean =>\n differenceInDays(new Date(), new Date(date)) > numberOfDays;\n","export const isSameTime = (date1: Date, date2: Date): boolean => date1.getTime() === date2.getTime();\n","import { isValid, parseISO } from 'date-fns';\n\nexport type DateInput = string | number | Date;\n\nexport const isValidDate = (date: DateInput): boolean => {\n if (typeof date === 'string') {\n try {\n const parsedDate = parseISO(new Date(date).toISOString());\n return isValid(parsedDate);\n } catch (e) {\n return false;\n }\n } else if (typeof date === 'number') {\n const parsedDate = new Date(date);\n return isValid(parsedDate);\n } else if (date instanceof Date) {\n return isValid(date);\n } else {\n return false;\n }\n};\n","import { format, fromUnixTime } from 'date-fns';\nimport { utcToZonedTime } from 'date-fns-tz';\n\nimport { environment } from '../../../../environments/environment';\n\n/**\n * Transforms a unit (either a string, number or Date) into a formatted date string.\n *\n * @remarks\n * This function is useful for cases where you need to convert time units (represented as string, number)\n * into a human-readable formatted date string.\n *\n * This function assumes that the provided value represents a Unix timestamp if it's a number or a string that can be converted to a number.\n * It then converts this Unix timestamp to a JavaScript Date object,\n * adjusts it to the timezone set in the environment,\n * and finally formats it to a string using the format specified in the environment.\n *\n * @param value - A string, number that represents the date to be formatted.\n * `fromUnixTime` is used to convert strings and numbers into a Date.\n * @returns A string that represents the formatted date.\n *\n * @example\n * ```typescript\n * const formattedDate = unixToFormattedDate(1637193600); // returns a string representing the date in the specified format\n * ```\n */\nexport const unixToFormattedDate = (value: string | number): string => {\n const dateFromUnix = fromUnixTime(Number(value));\n const zonedDate = utcToZonedTime(dateFromUnix, environment.timeZone);\n return format(zonedDate, environment.timeFormat);\n};\n","export * from './array/group-by';\nexport * from './array/is-array';\nexport * from './array/is-empty';\nexport * from './array/is-not-empty';\nexport * from './array/is-user-array';\nexport * from './array/map';\nexport * from './array/some';\nexport * from './array/sort-by';\nexport * from './array/uniq-by';\nexport * from './boolean/is-boolean';\nexport * from './boolean/is-false';\nexport * from './boolean/is-falsy';\nexport * from './boolean/is-true';\nexport * from './boolean/is-truthy';\nexport * from './date/get-rcsa-quarter';\nexport * from './date/is-after-or-equal-time';\nexport * from './date/is-before-or-equal-date';\nexport * from './date/is-before-or-equal-time';\nexport * from './date/is-date-after-days';\nexport * from './date/is-same-time';\nexport * from './date/is-valid-date';\nexport * from './date/unix-to-formatted-date';\nexport * from './number/is-number';\nexport * from './object/clone-deep';\nexport * from './object/difference-with';\nexport * from './object/get-etag-header';\nexport * from './object/invert';\nexport * from './object/is-enum';\nexport * from './object/is-equal';\nexport * from './object/is-filter-dropdown-option';\nexport * from './object/is-nil';\nexport * from './object/is-not-nil';\nexport * from './object/is-object';\nexport * from './object/is-user';\nexport * from './object/omit';\nexport * from './object/pick';\nexport * from './object/search-in-object';\nexport * from './object/set';\nexport * from './other/find-enum-item';\nexport * from './other/get-id-from-enum-item';\nexport * from './other/get-risk-case-status-filter';\nexport * from './other/inject-filter-params-store';\nexport * from './other/is-event';\nexport * from './other/is-function';\nexport * from './other/is-issue';\nexport * from './other/is-issue-or-event-in-draft-for-days';\nexport * from './other/types';\nexport * from './router/navigate-to-current-route';\nexport * from './string/camel-case';\nexport * from './string/is-string';\nexport * from './string/is-valid-external-url';\nexport * from './string/map-to-url-with-protocol';\nexport * from './test-utils/create-shallow-testbed';\nexport * from './test-utils/run-marble-test';\nexport * from './validators/all-or-none.validator';\nexport * from './validators/autocomplete-selection.validator';\nexport * from './validators/max-byte-length.validator';\n","// eslint-disable-next-line no-restricted-imports\nimport { isNumber as lodashIsNumber } from 'lodash-es';\n\nexport const isNumber = lodashIsNumber;\n","// eslint-disable-next-line no-restricted-imports\nimport { cloneDeep as lodashFn } from 'lodash-es';\n\nexport const cloneDeep = lodashFn;\n","// eslint-disable-next-line no-restricted-imports\nimport { differenceWith as lodashDifferenceWith } from 'lodash-es';\n\nexport const differenceWith = lodashDifferenceWith;\n","import { HttpResponse } from '@angular/common/http';\n\nimport { isNotNil } from '@shared/utils';\n\nconst ETAG_HEADER = 'etag';\n\nexport const getEtagHeader = (response: HttpResponse): string => {\n let etag = response.headers.get(ETAG_HEADER);\n if (isNotNil(etag) && etag.startsWith('W/')) {\n etag = etag.substring(2);\n }\n return etag;\n};\nexport const extractEtagValue = (etag: string): string => etag.replace(/\"/g, '');\n","// eslint-disable-next-line no-restricted-imports\nimport { invert as lodashInvert } from 'lodash-es';\n\nexport const invert = lodashInvert;\n","import { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { isNil, isObject } from '@shared/utils';\n\nexport const isEnum = (row: unknown): row is RiskCaseEnumItem => {\n if (isNil(row) || !isObject(row)) {\n return false;\n }\n\n return row.hasOwnProperty('id') && row.hasOwnProperty('name');\n};\n","// eslint-disable-next-line no-restricted-imports\nimport { isEqual as lodashIsEqual } from 'lodash-es';\n\nexport const isEqual = lodashIsEqual;\n","import { FilterDropdownOption } from '@shared/models';\nimport { isNotNil } from '@shared/utils';\n\nexport const isFilterDropdownOption = (value: unknown): value is FilterDropdownOption => isNotNil((value as FilterDropdownOption).id);\n","// eslint-disable-next-line no-restricted-imports\nimport { isNil as lodashIsNil } from 'lodash-es';\n\nexport const isNil = lodashIsNil;\n","import { isNil } from './is-nil';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNotNil(value?: T | null): value is T {\n return !isNil(value);\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { isObject as lodashIsObject } from 'lodash-es';\n\nexport const isObject = lodashIsObject;\n","import { User } from 'oneorm-api-http-client';\n\nimport { isNil, isObject } from '@shared/utils';\n\nexport const isUser = (row: unknown): row is User => {\n if (isNil(row) || !isObject(row)) {\n return false;\n }\n\n return row.hasOwnProperty('user_id') && row.hasOwnProperty('user_name');\n};\n","// eslint-disable-next-line no-restricted-imports\nimport { omit as lodashOmit } from 'lodash-es';\n\nexport const omit = lodashOmit;\n","// eslint-disable-next-line no-restricted-imports\nimport { pick as lodashPick } from 'lodash-es';\n\nexport const pick = lodashPick;\n","import { isNil } from '@shared/utils';\n\nfunction getAllValuesAsString(object: unknown): string {\n let valuesString = '';\n if (object) {\n Object.values(object).forEach(value => {\n if (typeof value === 'object') {\n valuesString += getAllValuesAsString(value) + ' ';\n } else {\n valuesString += value.toString() + ' ';\n }\n });\n }\n return valuesString.toLowerCase().trim();\n}\n\nexport function searchInObject(value: string | object | undefined | null, filter: string): boolean {\n if (isNil(value)) {\n return false;\n }\n\n const filterLower = filter.toLowerCase();\n\n if (typeof value === 'object') {\n const valuesString = getAllValuesAsString(value);\n return valuesString.includes(filterLower);\n } else if (typeof value === 'string') {\n return value.toLowerCase().includes(filterLower);\n }\n\n return false;\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { set as lodashSet } from 'lodash-es';\n\nexport const set = lodashSet;\n","import { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nexport const findEnumItem = (dto: RiskCaseEnumItem[], id: number): RiskCaseEnumItem => dto.find(enumItem => enumItem.id === id);\n","import { RiskCaseEnumItem } from 'oneorm-api-http-client';\n\nexport const getIdFromEnumItem = (dto: RiskCaseEnumItem[], id: number): string => dto.find(enumItem => enumItem.id === id)?.id.toString();\n","import { RiskCaseEnumItem } from 'oneorm-api-http-client/model/riskCaseEnumItem';\n\nimport { StatusCheckboxFilter, StatusCheckboxFilterValue } from '../../../home/model/status-filter.model';\nimport { FilterCheckboxGroupModel } from '../../../rcsa/filter/filter-checkbox-group.model';\n\nexport const getEventsRiskCaseStatusFilter = (\n draftEnumItem: RiskCaseEnumItem,\n openEnumItem: RiskCaseEnumItem,\n closedEnumItem: RiskCaseEnumItem,\n cancelledEnumItem: RiskCaseEnumItem\n): { status: FilterCheckboxGroupModel } => ({\n status: new FilterCheckboxGroupModel('Status', [\n {\n filterName: StatusCheckboxFilter.draft,\n label: StatusCheckboxFilterValue.draft,\n value: draftEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.open,\n label: StatusCheckboxFilterValue.open,\n value: openEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.closed,\n label: StatusCheckboxFilterValue.closed,\n value: closedEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.cancelled,\n label: StatusCheckboxFilterValue.cancelled,\n value: cancelledEnumItem.id.toString(),\n },\n ]),\n});\n\nexport const getIssuesRiskCaseStatusFilter = (\n draftEnumItem: RiskCaseEnumItem,\n openEnumItem: RiskCaseEnumItem,\n completedEnumItem: RiskCaseEnumItem,\n cancelledEnumItem: RiskCaseEnumItem\n): { status: FilterCheckboxGroupModel } => ({\n status: new FilterCheckboxGroupModel('Status', [\n {\n filterName: StatusCheckboxFilter.draft,\n label: StatusCheckboxFilterValue.draft,\n value: draftEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.open,\n label: StatusCheckboxFilterValue.open,\n value: openEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.completed,\n label: StatusCheckboxFilterValue.completed,\n value: completedEnumItem.id.toString(),\n },\n {\n filterName: StatusCheckboxFilter.cancelled,\n label: StatusCheckboxFilterValue.cancelled,\n value: cancelledEnumItem.id.toString(),\n },\n ]),\n});\n","import { inject } from '@angular/core';\n\nimport { isNotNil } from '@shared/utils';\n\nimport { getCurrentParamsStore } from '../../../home/home.utils';\nimport { FilterParamsStore } from '../../../home/store/filter-params.store';\n\nexport const injectFilterParamsStore = (): FilterParamsStore => {\n const type = getCurrentParamsStore();\n if (isNotNil(type)) {\n return inject(type);\n } else {\n return inject(FilterParamsStore);\n }\n};\n","import { RiskCaseType } from '@shared/models';\n\nexport const isEvent = (type: RiskCaseType): boolean => type === 'Event';\n","// eslint-disable-next-line no-restricted-imports\nimport { isFunction as lodashIsFunction } from 'lodash-es';\n\nexport const isFunction = lodashIsFunction;\n","import { RcsaEventView, RcsaIssueView } from 'oneorm-api-http-client';\n\nimport { RcsaViews } from '@shared/models';\nimport { isDateAfterDays } from '@shared/utils';\n\nconst isRcsaIssueView = (row: RcsaViews): row is RcsaIssueView => !Object.keys(row).includes('event_name');\n\nconst isRcsaEventView = (row: RcsaViews): row is RcsaEventView => Object.keys(row).includes('event_name');\n\nconst DRAFT_STATUS = 'Draft' as const;\n\nexport const isIssueOrEventInDraftForDays = (row: RcsaViews): boolean => {\n if (isRcsaIssueView(row)) {\n return row.status.includes(DRAFT_STATUS) && row.draftCreationDate && isDateAfterDays(row.draftCreationDate, 30);\n }\n\n if (isRcsaEventView(row)) {\n return row.status_name.includes(DRAFT_STATUS) && row.draft_creation_date && isDateAfterDays(row.draft_creation_date, 30);\n }\n\n return false;\n};\n","import { RiskCaseType } from '@shared/models';\n\nexport const isIssue = (type: RiskCaseType): boolean => type === 'Issue';\n","import { Signal } from '@angular/core';\n\n/**\n * Transforms a tuple or array of string literals into an object type where each key corresponds\n * to an item from the array and each value is of a specified type `V`.\n *\n * @template T - A tuple or array of string literals\n * @template V - The type of the values in the resulting object (default is `string`)\n *\n * This type is useful when you need to create an object whose keys should be limited to a specific set of strings,\n * and where each value in the object should be of a specific type.\n *\n * @example\n *\n * type Pets = ['cat', 'dog', 'bird'];\n * type PetDetails = StringArrayKeysToObjectType;\n *\n * const myPets: PetDetails = {\n * cat: { name: 'Milo', age: 2 },\n * dog: { name: 'Rex', age: 5 }\n * };\n *\n * @returns An object type where each key is a string from the `T` array, and each value is of type `V`.\n */\nexport type StringArrayKeysToObjectType = {\n [P in T[number]]?: V;\n};\n\n/**\n * Represents the value type of a property in an object.\n *\n * @template T - An object type\n * @template P - A key of object `T` (default is any key of `T`)\n *\n * The `ValueOf` type allows you to get the type of a specific property in `T`,\n * or if the `P` parameter is omitted, a union type of the values of all properties in `T`.\n *\n * @example\n *\n * const person = { name: 'John', age: 25 };\n *\n * type AgeType = ValueOf; // AgeType is of type number\n * type AnyType = ValueOf; // AnyType is of type number | string\n *\n * @returns The type of property `P` in `T`, or if `P` is not provided,\n * a union type of the values of all properties in `T`.\n */\nexport type ValueOf = T[P];\n\nexport type ValuesOf = T[keyof T];\n\nexport type KeyAsString = Extract;\n\nexport type SignalType = T extends Signal ? U : never;\n","// TODO: Remove once all duplications will be removed\nimport { ActivatedRoute, Params, QueryParamsHandling, Router } from '@angular/router';\n\nexport function navigateToCurrentRoute(\n router: Router,\n route: ActivatedRoute,\n queryParams: Params,\n paramsHandling: QueryParamsHandling = 'merge'\n): void {\n router.navigate([], {\n relativeTo: route,\n queryParams,\n queryParamsHandling: paramsHandling,\n });\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { camelCase as lodashCamelCase } from 'lodash-es';\n\nexport const camelCase = lodashCamelCase;\n","// eslint-disable-next-line no-restricted-imports\nimport { isString as lodashIsString } from 'lodash-es';\n\nexport function isString(value: T): value is Extract {\n return lodashIsString(value);\n}\n","import { PROTOCOL_MARK, WWW_MARK } from '@shared/constants';\n\nconst isValidUrl = (url: string): boolean => {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n};\n\nexport const isValidExternalUrl = (url: unknown, currentUrl: string): boolean => {\n if (typeof url !== 'string') {\n return false;\n }\n\n let combinedUrl = url;\n\n if (combinedUrl.startsWith(WWW_MARK)) {\n combinedUrl = PROTOCOL_MARK + url;\n }\n\n if (!isValidUrl(combinedUrl)) {\n return false;\n }\n\n return new URL(combinedUrl).origin !== new URL(currentUrl).origin;\n};\n","import { PROTOCOL_MARK, WWW_MARK } from '@shared/constants';\n\nexport const mapToUrlWithProtocol = (url: string): `https://${string}` => {\n let combinedUrl = url;\n\n if (combinedUrl.startsWith(WWW_MARK)) {\n combinedUrl = PROTOCOL_MARK + url;\n }\n\n return combinedUrl as `https://${string}`;\n};\n","import { Type, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { TestBed, TestModuleMetadata } from '@angular/core/testing';\n\n/**\n * Configures a TestBed with given parameters, applying shallow configurations for specified components.\n *\n * @param {TestModuleMetadata} moduleConfig - The base configuration for the testing module.\n * @param {Type[]} shallowComponents - Components to be configured for shallow rendering.\n * @param imports - imports needed for shallow components\n */\nexport async function configureShallowTestBed(\n moduleConfig: TestModuleMetadata,\n shallowComponents: Type[],\n imports: (Type | ReadonlyArray)[] = []\n): Promise {\n const testBed = TestBed.configureTestingModule(moduleConfig);\n\n shallowComponents.forEach(component => {\n testBed.overrideComponent(component, {\n set: {\n imports,\n schemas: [NO_ERRORS_SCHEMA],\n },\n });\n });\n\n return testBed;\n}\n","import { Observable } from 'rxjs';\nimport { TestScheduler } from 'rxjs/internal/testing/TestScheduler';\n\nfunction createTestScheduler(): TestScheduler {\n //@ts-ignore\n return new TestScheduler((actual, expected) => expect(actual).toEqual(expected));\n}\n\nexport function runMarbleTest(\n testObservable: Observable,\n ...hotConfigs: {\n fn?: (marble?: H) => void;\n marbles: string;\n values?: { [marble: string]: H };\n }[]\n): {\n andExpectToEmit: (\n expectedMarbles: string,\n expectedValues?: { [k: string]: T },\n expectedError?: unknown,\n assertionCallback?: () => void\n ) => void;\n} {\n return {\n andExpectToEmit: (\n expectedMarbles: string,\n expectedValues?: { [k: string]: T },\n expectedError?: unknown,\n assertionCallback?: () => void\n ) => {\n createTestScheduler().run(({ expectObservable, hot, flush }) => {\n hotConfigs?.forEach(config => hot(config.marbles, config.values).subscribe(value => config.fn?.(value)));\n expectObservable(testObservable).toBe(expectedMarbles, expectedValues, expectedError);\n flush();\n assertionCallback?.();\n });\n },\n };\n}\n","import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nconst isFormGroup = (control: AbstractControl): control is FormGroup => control instanceof FormGroup;\n\nexport const allOrNoneValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (!control || !isFormGroup(control)) {\n return null;\n }\n\n const controls = control.controls;\n const values = Object.keys(controls).map(key => controls[key].value);\n const allEmpty = values.every(value => !value);\n const allFilled = values.every(value => !!value);\n\n if (allEmpty || allFilled) {\n return null;\n }\n\n return { allOrNone: true };\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { FilterDropdownOption } from '@shared/models';\nimport { isNil, isNotNil, isObject } from '@shared/utils';\n\nfunction isFilterDropdownOption(value: unknown): value is FilterDropdownOption {\n return isObject(value) && isNotNil(value) && 'id' in value && 'label' in value && isNotNil(value['id']) && isNotNil(value['label']);\n}\n\nexport const filterDropdownOptionSelectionValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (isNil(control)) {\n return null;\n }\n\n if (!isFilterDropdownOption(control.value)) {\n return {\n invalidAutocompleteSelection: true,\n };\n }\n\n return null;\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { isNil, isString } from '@shared/utils';\n\nconst textEncoder = new TextEncoder();\n\nexport function maxByteLengthValidator(maxBytes: number): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNil(control.value) || !isString(control.value)) {\n return null;\n }\n\n const byteLength = textEncoder.encode(control.value).length;\n\n return byteLength > maxBytes ? { maxByteLength: { requiredBytes: maxBytes, actualBytes: byteLength } } : null;\n };\n}\n","export const environment = {\n prod: false,\n production: false,\n standardsEnabled: true,\n apiUrl: 'https://oneorm-dev-api.gfitdnsdev.swissre.com',\n showOldWizard: true,\n dateFormat: 'DD-MM-YYYY',\n msalConfig: {\n clientId: '226e1293-1aa5-4d8a-9123-b27b978b0b1f',\n authority: 'https://login.microsoftonline.com/45597f60-6e37-4be7-acfb-4c9e23b261ea/',\n scope: 'api://3c23d503-3dbb-45f1-b2f7-ea37c4b65293/user_impersonation',\n },\n tenantId: '45597f60-6e37-4be7-acfb-4c9e23b261ea',\n redirectUri: 'https://oneorm-dev.gfitdnsdev.swissre.com/',\n updateRCSA:\n 'https://graceop-ite.int.swissre.com/grb/app/jspview/flv?start=compliance.objectFolderView.RiskAssessment&target=RiskAssessment&efv=true&ctxtId=75&ctxt=RiskAssessment&prmtId=75&prmt=RiskAssessment',\n reportBugContactOneUrl:\n 'https://swissreesm.service-now.com/contactone?id=sc_cat_item&table=sc_cat_item&sys_id=14f28c8987fa9d10c00c4116cebb353b&recordUrl=com.glideapp.servicecatalog_cat_item_view.do%3Fv%3D1&sysparm_id=14f28c8987fa9d10c00c4116cebb353b',\n requestControlChange: 'https://graceop-ite.int.swissre.com/grb/services/ccmt/#/dashboard',\n graphUrl: 'https://graph.microsoft.com/beta/',\n viewIssue: true,\n rcsaGraceUrl: 'https://graceop-ite.int.swissre.com:443/grb/view.resource.do?fileId=',\n riskGraceUrl: 'https://graceop-ite.int.swissre.com:443/grb/view.resource.do?fileId=',\n controlGraceUrl: 'https://graceop-ite.int.swissre.com:443/grb/view.resource.do?fileId=',\n eventGraceUrl: 'https://graceop-ite.int.swissre.com:443/grb/view.resource.do?fileId=',\n envType: 'DEV',\n timeZone: 'CET',\n timeFormat: 'dd MMM yyyy',\n oneOrmUrl: 'https://oneorm-dev.gfitdnsdev.swissre.com/',\n faqUrl: 'https://swissre.sharepoint.com/sites/team-GRACE/SitePages/OneORM-RCSA---Frequently-Asked-Questions-%28FAQ%29.aspx',\n graceUrl: 'https://graceop-ite.int.swissre.com/grb/services/Issue/IssueWorkFlow.jsp?valueOfRCSA=CS&resourceId=',\n oneOrmNewRiskCaseUrl: 'https://oneorm-dev.gfitdnsdev.swissre.com/#/new-risk?id=',\n OperationalRiskDashboard:\n 'https://app.powerbi.com/Redirect?action=OpenApp&appId=2ac9c36d-bdb0-4593-bc17-65871cda74a8&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n CCMT: 'https://graceop-ite.int.swissre.com/grb/services/ccmt/index.jsp?valueOfRCSA=SA&resourceId=',\n powerBIrisks:\n 'https://app.powerbi.com/rdlEmbed?reportId=ce16571d-f260-499c-a641-6554b816ae07&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n powerBIcontrols:\n 'https://app.powerbi.com/rdlEmbed?reportId=6321b43d-a7ba-44d4-815f-26b8465d22ee&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n powerBIcontrolsInOtherDept:\n 'https://app.powerbi.com/rdlEmbed?reportId=aab2dec3-e8a0-47cc-aa65-4ef194fee1b2&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n powerBIevents:\n 'https://app.powerbi.com/rdlEmbed?reportId=20271fbc-5b27-40ee-999b-4047ae294454&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n powerBIissues:\n 'https://app.powerbi.com/rdlEmbed?reportId=4949f9b4-d4d2-4f3e-bbce-3b1198b46e82&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n powerBIrcsa:\n 'https://app.powerbi.com/rdlEmbed?reportId=716cac6c-d8cc-47b9-8d96-9b69a17393f7&autoAuth=true&ctid=45597f60-6e37-4be7-acfb-4c9e23b261ea',\n textAnalysisEndpoint: 'https://oneorm-dev-func-app-text.azurewebsites.net/api/tqc/',\n};\n","export const version = {\n hash: 'a10f8f4a'\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { RatingClassPipe } from '@shared/pipe/rating-class.pipe';\nimport { CellRenderer, CellRendererParams } from '@styles/p-table/model/cell-renderer.model';\n\nimport { isTrue } from '@shared/utils';\n\n@Component({\n template: ` {{ label() }} `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [RatingClassPipe],\n})\nexport class BooleanCellRendererComponent implements CellRenderer {\n label = signal('');\n\n cellRendererInit(params: CellRendererParams): void {\n const value = params.data[params.column.field] as boolean;\n this.label.set(isTrue(value) ? 'Yes' : 'No');\n }\n}\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CellRenderer, CellRendererParams } from '@styles/p-table/model/cell-renderer.model';\nimport { TableColumnDef } from '@styles/p-table/model/col-def.model';\n\nimport { OneOrmDatePipe, IsNotNilPipe } from '@shared/pipe';\n\n@Component({\n template: `{{ data[column.field] | oneOrmDate }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [OneOrmDatePipe, NgIf, IsNotNilPipe],\n})\nexport class DateCellRendererComponent implements CellRenderer {\n data: T;\n column: TableColumnDef;\n\n cellRendererInit(params: CellRendererParams): void {\n this.data = params.data;\n this.column = params.column;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { OverdueCellColorDirective } from '@styles/p-table/cell-renderers/overdue-cell-renderer/overdue-cell-color.directive';\nimport { CellRenderer, CellRendererParams } from '@styles/p-table/model/cell-renderer.model';\nimport { TableColumnDef } from '@styles/p-table/model/col-def.model';\nimport { InfiniteDaysPipe } from '@styles/p-table/pipe/infinite-days.pipe';\n\nimport { isNil } from '@shared/utils';\n\n@Component({\n template: `{{ fieldValue | infiniteDays }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [InfiniteDaysPipe, OverdueCellColorDirective],\n})\nexport class InfiniteDaysCellRendererComponent implements CellRenderer {\n data: T;\n column: TableColumnDef;\n fieldValue: unknown;\n\n cellRendererInit(params: CellRendererParams): void {\n if (isNil(params.data)) {\n return;\n }\n this.fieldValue = params.data[params.column.field];\n this.data = params.data;\n this.column = params.column;\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { getTime } from 'date-fns';\n\nimport { isBeforeOrEqualDate } from '@shared/utils';\n\n@Directive({\n selector: '[appOverdueCellColor]',\n standalone: true,\n})\nexport class OverdueCellColorDirective {\n @Input() value: unknown;\n @Input() type: 'date' | 'number';\n\n @HostBinding('class.sr-negative-text') get negativeColorClassApplied(): boolean {\n if (this.type === 'date') {\n return isBeforeOrEqualDate(this.value as number | Date, this.getCurrentTimeInSeconds());\n }\n return (this.value as number) <= 0;\n }\n\n private getCurrentTimeInSeconds(): number {\n return getTime(new Date()) / 1000;\n }\n}\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { OneOrmDatePipe } from '@shared/pipe/date-format.pipe';\n\nimport { IsValidDatePipe } from '@shared/pipe';\n\nimport { OverdueCellColorDirective } from './overdue-cell-color.directive';\nimport { CellRenderer, CellRendererParams } from '../../model/cell-renderer.model';\nimport { TableColumnDef } from '../../model/col-def.model';\n\n@Component({\n template: `\n \n {{ fieldValue | oneOrmDate }}\n \n \n {{ fieldValue }}\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [OneOrmDatePipe, OverdueCellColorDirective, NgIf, IsValidDatePipe],\n standalone: true,\n})\nexport class OverdueCellRendererComponent implements CellRenderer {\n data: T;\n column: TableColumnDef;\n fieldValue: unknown;\n\n cellRendererInit(params: CellRendererParams): void {\n this.fieldValue = params.data[params.column.field];\n this.data = params.data;\n this.column = params.column;\n }\n}\n","import { Page } from '@styles/p-table/model/page.model';\nimport { Size, SizeClass } from '@styles/p-table/model/table.model';\n\nexport const SIZE_P_TABLE_SIZE_CLASS: Record = {\n small: 'p-datatable-sm',\n medium: '',\n large: 'p-datatable-lg',\n};\n\nexport const DEFAULT_PAGE_SIZE = 49;\nexport const DEFAULT_PAGE_OFFSET = 0;\nexport const DEFAULT_LIMIT_SIZE = DEFAULT_PAGE_SIZE + 1;\nexport const MAXIMUM_LIMIT_SIZE = 9999;\n\nexport const DEFAULT_PAGE: Page = {\n offset: DEFAULT_PAGE_OFFSET,\n size: DEFAULT_LIMIT_SIZE,\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { INFINITE_DAYS } from '@shared/constants/constants';\n\nimport { isNil } from '@shared/utils';\n\n@Pipe({\n name: 'infiniteDays',\n standalone: true,\n})\nexport class InfiniteDaysPipe implements PipeTransform {\n private readonly infiniteDaysMarker = '';\n\n transform(value: unknown): string {\n if (isNil(value)) {\n return '';\n }\n\n if (value === INFINITE_DAYS) {\n return this.infiniteDaysMarker;\n }\n\n return value.toString();\n }\n}\n"],"names":["RouterModule","MsalGuard","ErrorPageComponent","canDeactivateGuard","ROUTES","rcsa","wizard","root","selection","preDraft","description","identification","risk","responsibilities","summary","draft","businessImpact","legalEntities","outsourcing","monetaryImpact","additionalInformations","home","standardDetail","error","routes","path","loadChildren","then","x","RCSAModule","data","breadcrumb","label","key","canActivate","wizardRoutes","HomeModule","children","loadComponent","StandardDetailComponent","canDeactivate","component","AppRoutingModule","forRoot","scrollPositionRestoration","bindToComponentInputs","imports","i1","exports","inject","UserStore","i0","ɵɵelement","ɵɵelementStart","ɵɵelementEnd","ɵɵtemplate","AppComponent_mat_drawer_container_1_Conditional_7_Template","ɵɵproperty","ɵɵadvance","ɵɵpipeBind1","ctx_r0","drawerMode$","drawerOpened$","ɵɵconditional","isIframe","ɵɵtext","AppComponent","constructor","drawerService","title","isMobile","opened$","mode$","store","ngOnInit","window","parent","opener","test","navigator","userAgent","ɵɵdirectiveInject","DrawerService","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","AppComponent_mat_drawer_container_1_Template","AppComponent_mat_drawer_container_2_Template","NgOptimizedImage","HttpClientModule","APP_INITIALIZER","MatSidenavModule","BrowserModule","BrowserAnimationsModule","MsalModule","provideAuth","RightSidenavComponent","OverlaySpinnerComponent","ApiModule","BASE_PATH","CoreModule","FavIconService","GraphService","SubscriptionVariablesService","ThemeDetectionService","ToastService","environment","initializeThemeDetection","themeDetectionService","init","AppModule","bootstrap","provide","useValue","apiUrl","useFactory","deps","multi","declarations","HTTP_INTERCEPTORS","MSAL_GUARD_CONFIG","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","MsalBroadcastService","MsalInterceptor","MsalService","MSALGuardConfigFactory","MSALInstanceFactory","MSALInterceptorConfigFactory","useClass","BrowserCacheLocation","InteractionType","PublicClientApplication","auth","clientId","msalConfig","authority","redirectUri","location","origin","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","protectedResourceMap","Map","set","scope","interactionType","Redirect","authRequest","scopes","InteractionStatus","tapResponse","patchState","signalStore","withHooks","withMethods","withState","rxMethod","AuthorizationService","pipe","filter","map","switchMap","isEmpty","isNil","DEFAULT_USER","user_id","user_status","userRole","user_name","user_email_address","userPhoto","undefined","providedIn","authorizationService","msalService","msalBroadcastService","graphService","getUserInfo","inProgress$","status","None","accounts","instance","getAllAccounts","Error","userAccount","onpremsam","preferred_username","name","idTokenClaims","user","getLoggedUserPhoto","next","console","getUserRoles","getRolesForUser","roles","onInit","LayoutModule","STEPPER_GLOBAL_OPTIONS","CommonModule","MatButtonModule","MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS","MatCardModule","MAT_CHECKBOX_DEFAULT_OPTIONS","MatDividerModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MatIconModule","MatMenuModule","MAT_SNACK_BAR_DEFAULT_OPTIONS","MatSnackBarModule","MatToolbarModule","MatTooltipModule","RightSidenavStore","IconService","UserGuideComponent","VersionComponent","SkeletonLoaderDirective","IsFalsePipe","IsNotEmptyPipe","PopoverService","BreadcrumbComponent","ManageMenuComponent","TopNavbarComponent","parentModule","registerCustomIcons","ɵɵinject","appearance","floatLabel","color","duration","showError","hideSingleSelectionIndicator","Breakpoints","BehaviorSubject","distinctUntilChanged","shareReplay","Subject","takeUntil","breakpointObserver","_opened$","_mode$","destroy$","sidenavMargin","xLargeMaterialBreakpoint","asObservable","observe","Small","XSmall","TabletLandscape","subscribe","matches","getDrawerMode","setOpen","opened","ngOnDestroy","complete","matchBreakpoint","BreakpointObserver","factory","ɵfac","RouterLink","errorTitle","errorMessage","errorState","history","state","message","standalone","features","ɵɵStandaloneFeature","ErrorPageComponent_Template","ɵɵtextInterpolate","MatCard","MatCardActions","MatCardContent","MatCardHeader","MatCardTitle","i2","MatIcon","i3","MatButton","styles","supportMassage","opEventSupport","helpMe","opEventSupportMessage","linkAttendees","linkUser","AsyncPipe","NgFor","NgIf","NgStyle","LetDirective","combineLatest","isNotEmpty","RightSidenavComponent_mat_card_content_8_ng_template_1_div_3_div_2_Template","RightSidenavComponent_mat_card_content_8_ng_template_1_div_3_div_4_Template","RightSidenavComponent_mat_card_content_8_ng_template_1_div_2_Template","RightSidenavComponent_mat_card_content_8_ng_template_1_div_3_Template","ɵɵpureFunction0","_c0","ɵɵlistener","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_1_Template_div_click_0_listener","ɵɵrestoreView","_r1","governanceCoordinators_r2","ɵɵnextContext","ngIf","ctx_r2","ɵɵresetView","numberOfItems","length","item_r5","picture","ɵɵsanitizeUrl","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_2_img_2_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_2_Template_mat_icon_click_14_listener","_r4","$implicit","sendEmail","mail","givenName","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_2_Template_mat_icon_click_16_listener","sendChatMessage","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_2_Template_mat_icon_click_18_listener","scheduleMeeting","ɵɵpropertyInterpolate","presence","getColor","getPresenceIcon","displayName","jobTitle","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_3_Template_div_click_0_listener","_r6","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_1_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_2_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_div_3_Template","i_r7","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_div_5_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_1_Template_div_click_0_listener","_r8","riskManagers_r9","numberOfItemsL","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_2_Template_mat_icon_click_14_listener","_r10","item_r11","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_2_Template_mat_icon_click_16_listener","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_2_Template_mat_icon_click_18_listener","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_3_Template_div_click_0_listener","_r12","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_1_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_2_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_div_3_Template","i_r13","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_div_5_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_div_5_div_1_Template_mat_icon_click_14_listener","_r14","item_r15","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_div_5_div_1_Template_mat_icon_click_16_listener","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_div_5_div_1_Template_mat_icon_click_18_listener","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_div_5_div_1_Template","i_r16","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_div_5_Template","compliances_r17","ɵɵelementContainerStart","RightSidenavComponent_mat_card_content_8_ng_container_3_div_1_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_3_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_5_Template","RightSidenavComponent_mat_card_content_8_ng_container_3_div_7_Template","governanceCoordinators$","riskManagers$","complianceContacts$","noContactsAvailable$","RightSidenavComponent_mat_card_content_8_ng_template_1_Template","ɵɵtemplateRefExtractor","RightSidenavComponent_mat_card_content_8_ng_container_3_Template","loading_r18","loadingTemplate_r19","Status","loading$","governanceCoordinators","complianceContacts","riskManagers","loading","loadingContacts$","userStore","messageTo","link","href","meetTo","to","subject","body","Available","Away","BeRightBack","Busy","DoNotDisturb","Offline","position","bottom","right","border","closeBar","RightSidenavComponent_Template","RightSidenavComponent_Template_span_click_5_listener","RightSidenavComponent_mat_card_content_8_Template","i4","MatTooltip","i5","i6","MatDivider","ComponentStore","forkJoin","tap","isEqual","isNotNil","uniqBy","governanceCoordinatorsService","complianceService","usersService","rcsas","select","governanceContactType","emptyDivision","rcsas$","y","resetState","getGovernanceCoordinatorsOnRcsaChange","effect","rcas","getGovernanceCoordinators","getComplianceContacts","getRiskManagers","trigger$","risk_assessment_id","getGovernanceCoordinatorsGraphUsers","getComplianceContactsGraphInfo","getRiskManagersGraphInfo","contactsResponse","flatMap","contactResponse","contacts","contact","isGovernanceContact","getGraphUsers","governanceCoordinator","contact_email","global_function","getComplianceList","division","complianceContact","compliance_contact","risk_manager_id","getUserById","riskManager","contact_type","GovernanceCoordinatorsService","ComplianceService","UserService","ActivationEnd","Subscription","BreadcrumbComponent_div_3_span_1_Template","BreadcrumbComponent_div_3_Template_a_click_2_listener","breadcrumb_r2","goOut","i_r4","breadcrumbs","ɵɵtextInterpolate1","subscriptionVariablesService","router","route","subscription","url","events","event","getBreadcrumbs","breadcrumbValues","updateBreadcrumbs","add","changeBreadcrumb","navigate","navigateByUrl","obj","find","o","ROUTE_DATA_BREADCRUMB","child","snapshot","hasOwnProperty","routeURL","segment","join","newBreadcrumb","push","Router","ActivatedRoute","BreadcrumbComponent_Template","BreadcrumbComponent_div_3_Template","requestControlChange","environmentVariables","goOutsideApp","open","newCase","oneOrmUrl","onFaqLinkClick","faqUrl","ManageMenuComponent_Template","ManageMenuComponent_Template_a_click_12_listener","ManageMenuComponent_Template_a_click_15_listener","ManageMenuComponent_Template_a_click_18_listener","ManageMenuComponent_Template_a_click_21_listener","reportBugContactOneUrl","ManageMenuComponent_Template_a_click_27_listener","OperationalRiskDashboard","ManageMenuComponent_Template_a_click_41_listener","ManageMenuComponent_Template_a_click_47_listener","infoDialog_r2","ɵɵreference","setInfoData","ManageMenuComponent_Template_a_click_50_listener","ManageMenuComponent_Template_a_click_53_listener","ManageMenuComponent_Template_a_click_59_listener","ManageMenuComponent_Template_a_click_62_listener","ManageMenuComponent_Template_a_click_68_listener","ManageMenuComponent_Template_a_click_73_listener","menu_r3","help_r4","environmentType","TopNavbarComponent_button_11_Template_button_click_0_listener","_r2","openDrawer","TopNavbarComponent_button_14_Template_button_click_0_listener","_r3","closeDrawer","envType","call","onClick","TopNavbarComponent_Template","TopNavbarComponent_Template_img_click_3_listener","TopNavbarComponent_Template_img_click_4_listener","TopNavbarComponent_Conditional_6_Template","TopNavbarComponent_button_11_Template","TopNavbarComponent_button_14_Template","CaseFilterType","UserSettingsEvent","StatusId","RCSA_TAB_PARAM_MARK","caseFilterTypeToUserSettingsEvent","MY","MY_CASES_EVENT","issues","MY_CASES_ISSUE","RCSAS","todos","MY_TODOS","controls","MY_CONTROLS","standards","MY_STANDARDS","ALL","ALL_CASES_EVENT","ALL_CASES_ISSUE","ALL_CONTROLS","ALL_STANDARDS","HomePath","homeTabTypeToFilterHeader","homeTabTypeToRiskCaseType","homeTabTypeToLabel","homePathToLabel","disabledColumnFields","defaultIssuesColumns","field","mode","isVisible","index","selectIndex","subfield","defaultEventsColumns","defaultRcsaColumns","defaultMyTodoColumns","defaultControlsColumns","defaultStandardsColumns","userSettingsTypeToDefaultColumns","RatingCheckboxFilter","RatingCheckboxFilterValue","enumItemPredicate","userPredicate","usersPredicate","FilterAdvancedPredicatesModel","FilterAutocompleteDef","FilterCheckboxGroupModel","FilterFullTextSearchDefinitionModel","KeyControlsCheckboxFilterValue","KeyControlsFilterName","ControlsAdditionalFiltersCheckboxFilter","ControlsAdditionalFiltersCheckboxFilterValue","ControlsAutocompleteFilter","ControlsKeyCheckboxFilter","ControlsKeyCheckboxFilterValue","ControlsOpenCasesCheckboxFilter","ControlsOpenCasesCheckboxFilterValue","ControlsSignedInPeriodCheckboxFilter","ControlsSignedInPeriodCheckboxFilterValue","EventsAutocompleteFilter","EventsTypeCheckboxFilter","EventsTypeCheckboxFilterValue","IssuesAutocompleteFilter","IssuesIdentifyingLodCheckboxFilter","IssuesIdentifyingLodCheckboxFilterValue","IssuesImpactRatingCheckboxFilter","IssuesImpactRatingCheckboxFilterValue","RcsaAutocompleteFilter","RcsaCheckboxFilter","RcsaStatusCheckboxFilter","RcsaStatusCheckboxFilterValue","rcsaStatusFilters","RcsaTypeCheckboxFilter","RcsaTypeCheckboxFilterLabel","RcsaTypeCheckboxFilterValue","rcsaTypeFilters","StandardsAutocompleteFilter","StandardsCheckboxFilter","StandardsStatusCheckboxFilter","StandardsStatusCheckboxFilterValue","standardsStatusFilters","StatusCheckboxFilter","StatusCheckboxFilterValue","STATUS_PREFIX","CHECKBOX_PARAM_TYPE_TO_PARAM_LABEL","active","inactive","leRcsa","prsa","loss","incident","low","moderate","elevated","high","self","secondLine","thirdLine","thirdLineLine","cancelled","completed","closed","nonKey","keyControls","nonKeyControls","effective","notEffective","notAssessed","notApplicable","signedIn","yes","notSignedIn","no","openCasesYes","openCasesNo","controlsNotEffectiveWithNoOpenCases","controlsWithMissingOrInactiveControlAssessor","RCSA_LABELS","rcsa_owner","risk_manager","governance_coordinators","EVENTS_LABELS","creator","owner","delegate","bu_gf","ISSUES_LABELS","actionOwner","actionDelegate","CONTROLS_LABELS","assessor","globalFunction","STANDARDS_LABELS","topic","document_type","PARAM_TYPE_TO_PARAM_LABEL","SERVER_SIDE_DEFAULT_FILTERS","id","type","chipLabelPrefix","groupIndex","RCSAS_DEFAULT_FILTER","STANDARDS_DEFAULT_FILTER","STATUS_TO_STATUS_IDS","canceled","createAutocompleteFilter","values","predicate","options","filterValues","fieldToFilter","autocompleteDef","predicateModel","filterDef","rcsaCheckboxFilters","filterName","value","filterApplied","match","toString","rcsaAutocompleteFilters","optionsPredicate","controlsAutocompleteFilters","standardsAutocompleteFilters","standardsCheckboxFilters","eventsAutocompleteFilters","issuesAutocompleteFilters","getFullTextDefinitionModelFromTableColumns","columns","column","users","enumItem","UserSettingsAdapter","lodashMap","HOME_TAB_TYPE_TOKEN","ControlsFilterParamsStore","EventsFilterParamsStore","IssuesFilterParamsStore","MyToDoFilterParamsStore","RcsaFilterParamsStore","StandardsFilterParamsStore","sortOptionsAlphabetically","sort","a","b","checkFilterNameMismatch","warn","defaultOptionPredicate","getOptionsPredicate","addOptionToMap","option","optionsMap","has","JSON","stringify","processOption","Array","isArray","forEach","opt","getDefaultEventsIssuesColumnFilters","defaultParams","selectedCaseFilterType","createAutocompleteAndDropdownFilters","autocompleteFilters","Object","entries","getCurrentParamsStore","optional","getQueryParamsFromState","reduce","res","isRiskCaseViewFe","status_id","isPreDraft","EVENT_PRE_DRAFT","ISSUE_PRE_DRAFT","isDraft","EVENT_DRAFT","ISSUE_DRAFT","isDraftPendingReview","ISSUE_DRAFT_PENDING_REVIEW","EVENT_DRAFT_PENDING_REVIEW","getUserSettingsEventBasedOnType","homeTabType","getColumns","defaultColumns","columnDefinitions","fromDto","getDefaultColumnFilters","ControlsCheckboxFilter","EventsCheckboxFilter","InjectionToken","INITIAL_CONFIG_TOKEN","IssuesCheckboxFilter","take","isFalse","MyAllFilterParamsStore","DEFAULT_UNDEFINED_PARAMS","fullTextSearch","SAVED_STATE_MARK","returnBackToAppStore","wasAppRestoredFromOneOrmUi","saveState","pickFilterParams","params","filterParams","validKeys","parse","setDefaultParams","updateParams","FilterParamsStore","params$","paramsUpdated$","t","skip","navigateToCurrentRoute","omit","ReturnsBackToAppStore","defaultState","saveStateMark","pathToCheckQueryParams","updater","newState","activatedRoute","selectedCaseFilterType$","resetParamsOnCaseFilterTypeChange","updateParamsFromState","localStorage","setItem","loadState","savedStateExists","setState","getItem","setParamsFromRouteSnapshot","getPathFromSnapshot","queryParams","pickedQueryParams","resetParams","get","selectedCaseState","updateSelectedCaseFilterType","getState","selectedCaseType","returnsBackToAppStore","pickMyToDosFilterParams","NavigationEnd","takeWhile","BACK_FROM_UI_APP_QUERY_PARAM_MARK","checkIfAppWasRestoredFromOneOrmUi","queryParamMap","filtersValues","FilterDropdownDef","header","checkboxFilters","className","searchInObject","fields","filterByKeyControlsFilterKeys","RatingFilterName","ratingFilterKeys","effectiveRating","notEffectiveRating","notAssessedRating","notApplicableRating","Adapter","EnumOptionAdapter","dto","hasDescription","trim","getLeadingBracket","getTrailingBracket","toDto","startsWith","endsWith","findEnumItem","getEventsRiskCaseStatusFilter","DRAFT_ID","OPEN_ID","CLOSED_ID","CANCELLED_ID","FILTERS","draftEnumItem","openEnumItem","closedEnumItem","cancelledEnumItem","EventsStatusEnumAdapter","keys","result","ACTUAL_LOSS_MARK","INCIDENT_MARK","EventsTypeEnumAdapter","item","getIdFromEnumItem","lowImpactRatingId","moderateImpactRatingId","elevatedImpactRatingId","highImpactRatingId","IssueRatingEnumAdapter","impactRating","getIssuesRiskCaseStatusFilter","COMPLETED_ID","completedEnumItem","IssuesStatusEnumAdapter","secondLineIdentifiedLodId","selfIdentifiedLodId","thirdLineIdentifiedLodId","LodEnumAdapter","identifyingLod","RiskCasesAdapter","riskCase","class_name","action_item_assignee","action_item_assignee_id","action_item_delegate","action_item_delegate_id","creator_name","creator_id","creator_status","owner_name","owner_id","owner_status","delegate_name","delegate_id","delegate_status","rcsa_owner_name","rcsa_owner_id","rcsa_owner_status","risk_manager_name","risk_manager_status","governance_coordinator","governance_coordinator_id","lod","lod_id","impact_rating","impact_rating_id","invert","NAME_TO_USER_OBJECT","USER_OBJECT_TO_NAME","userSettings","includes","mapRiskCaseUserSettingToUserTypeField","col","mapRiskCaseUserSettingsToOldField","NgTemplateOutlet","MAT_DIALOG_DATA","MatDialogActions","MatDialogClose","MatDialogRef","DialogComponent","IsNotNilPipe","ɵɵelementContainer","AlertDialogComponent_Conditional_1_ng_container_0_Template","templateRef","AlertDialogComponent","dialogRef","onCancelButtonClick","close","AlertDialogComponent_Template","AlertDialogComponent_Template_app_dialog_cancelButtonClick_0_listener","AlertDialogComponent_Conditional_1_Template","AlertDialogComponent_Conditional_3_Template","encapsulation","changeDetection","EventEmitter","ReactiveFormsModule","MatAutocomplete","MatAutocompleteTrigger","MatOption","MatFormField","MatLabel","MatInput","startWith","m","option_r2","ɵɵrepeaterCreate","AutocompleteComponent_Defer_8_For_1_Template","_forTrack0","ɵɵrepeater","filteredOptions$","AutocompleteComponent","optionSelected","availableOptions","getFilteredOptions","displayFn","filterOptions","toLowerCase","inputFormControl","valueChanges","inputs","outputs","AutocompleteComponent_Template","AutocompleteComponent_Template_mat_autocomplete_optionSelected_4_listener","$event","emit","AutocompleteComponent_Defer_8_Template","AutocompleteComponent_DeferPlaceholder_9_Template","ɵɵdefer","AutocompleteComponent_Defer_10_DepsFn","ɵɵdeferOnViewport","auto_r4","DefaultValueAccessor","NgControlStatus","FormControlDirective","FormsModule","MatFormFieldModule","MatInputModule","BaseFullTextFilterComponent","registerCustomFilter","onInputValueChange","applyFullTextSearch","table","lazy","filterGlobal","filterService","register","fullTextFilterModel","BaseFullTextFilterComponent_Template","BaseFullTextFilterComponent_Template_input_ngModelChange_5_listener","MatPrefix","NgModel","version","commitHash","hash","VersionComponent_Template","booleanAttribute","numberAttribute","MatCheckbox","MatExpansionPanel","MatExpansionPanelContent","MatExpansionPanelDescription","MatExpansionPanelHeader","MatExpansionPanelTitle","MatRadioButton","ToStringPipe","disabled","selected","ɵɵprojection","ExpansionPanelComponent","hideToggle","multiSelect","togglePosition","expanded","hideSelectionIndicator","bodyClick","expansionIndicatorClass","onExpansionPanelClick","matExpansionPanel","stopPropagation","isExpansionIndicator","target","classList","contains","ɵɵInputFlags","HasDecoratorInputTransform","ɵɵInputTransformsFeature","ngContentSelectors","_c1","ExpansionPanelComponent_Template","ExpansionPanelComponent_Template_mat_expansion_panel_header_click_2_listener","expansionPanel_r2","ExpansionPanelComponent_Conditional_4_Template","ExpansionPanelComponent_Conditional_8_Template","ExpansionPanelComponent_ng_template_12_Template","ɵɵclassProp","MatChipListbox","MatChipOption","MatChipRemove","FilterChipsComponent_For_2_Template_mat_chip_option_removed_0_listener","onChipRemoved","FilterChipsComponent","chipRemoved","FilterChipsComponent_Template","FilterChipsComponent_For_2_Template","PopoverActionsDirective","PopoverContainerComponent","FilterPopoverContentComponent","popoverService","onPopoverCloseButtonClicked","closePopover","headerLabel","FilterPopoverContentComponent_Template","FilterPopoverContentComponent_Template_button_click_6_listener","MatIconButton","MatToolbar","FullHeightContainerComponent_Conditional_1_div_0_Template","backUrl","FullHeightContainerComponent","FullHeightContainerComponent_Template","FullHeightContainerComponent_Conditional_1_Template","FullHeightContainerComponent_Conditional_2_Template","debounceTime","FullTextFormFieldComponent","valueChange","ngAfterViewInit","input","query","viewQuery","FullTextFormFieldComponent_Query","placeholder","ViewContainerRef","MatProgressSpinner","OverlaySpinnerService","diameter","strokeWidth","vcRef","overlaySpinnerService","overlayRef","hasAttached","attachTemplatePortal","progressSpinner","detach","createOverlay","OverlaySpinnerComponent_Query","OverlaySpinnerComponent_ng_template_0_Template","Overlay","TemplatePortal","signal","overlay","showLoader","hideLoader","config","create","hasBackdrop","positionStrategy","global","centerHorizontally","centerVertically","attach","PopoverContainerComponent_Template","NgClass","NgForOf","ShowMoreDirective","ReadMoreComponent_div_2_Template_div_showMoreView_0_listener","ctx_r1","showMoreWork","text","ɵɵsanitizeHtml","noOfLines","hideToggleFullText","ReadMoreComponent_div_3_div_1_Template_div_click_0_listener","itemClick","ReadMoreComponent_div_3_div_1_span_2_Template","ReadMoreComponent_div_3_div_1_span_3_Template","ɵɵpureFunction1","clickedItem","showItem","listData","nameShow","rc_status","risk_case_status_name","ReadMoreComponent_div_3_Template_div_showMoreView_0_listener","ReadMoreComponent_div_3_div_1_Template","list","ReadMoreComponent_ng_container_4_div_1_Template_span_click_1_listener","showMoreToggelButton","ReadMoreComponent_ng_container_4_div_1_Template","ReadMoreComponent","listItemOutput","toggleFullText","textClickEmit","itemData","showMoreValue","attr","textClick","tableRowNumber","ReadMoreComponent_Template","ReadMoreComponent_Template_div_click_0_listener","ReadMoreComponent_div_2_Template","ReadMoreComponent_div_3_Template","ReadMoreComponent_ng_container_4_Template","SelectableDirective","SelectableCardComponent","fullHeight","selectionType","selectChange","SelectableCardComponent_Template","SelectableCardComponent_Template_mat_card_selectChange_0_listener","SelectableCardComponent_Conditional_5_Template","SelectableCardComponent_Conditional_6_Template","SelectionTreeDeferLoadingSkeletonComponent_For_2_div_0_Template","height","width","borderRadius","SelectionTreeDeferLoadingSkeletonComponent","skeletons","fill","SelectionTreeDeferLoadingSkeletonComponent_Template","SelectionTreeDeferLoadingSkeletonComponent_For_2_Template","ɵɵrepeaterTrackByIndex","SelectionModel","NestedTreeControl","ChangeDetectorRef","MatNestedTreeNode","MatTree","MatTreeNestedDataSource","MatTreeNode","MatTreeNodeDef","MatTreeNodeOutlet","MatTreeNodeToggle","IsTruePipe","isTrue","SelectionTreeComponent_Defer_0_mat_tree_node_1_Conditional_2_Template_button_click_0_listener","node_r2","deleteButtonClick","SelectionTreeComponent_Defer_0_mat_tree_node_1_Conditional_4_Template_mat_checkbox_click_0_listener","SelectionTreeComponent_Defer_0_mat_tree_node_1_Conditional_4_Template_mat_checkbox_change_0_listener","onSelectionToggleChange","checklistSelection","isSelected","SelectionTreeComponent_Defer_0_mat_tree_node_1_Conditional_2_Template","SelectionTreeComponent_Defer_0_mat_tree_node_1_Conditional_4_Template","hasChild","readonlyNodes","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_5_Template_button_click_0_listener","_r5","node_r6","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_7_Template_mat_checkbox_click_0_listener","_r7","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_7_Template_mat_checkbox_change_0_listener","descendantsAllSelected","descendantsPartiallySelected","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_5_Template","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_7_Template","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Conditional_8_Template","treeControl","isExpanded","SelectionTreeComponent_Defer_0_mat_tree_node_1_Template","SelectionTreeComponent_Defer_0_mat_nested_tree_node_2_Template","dataSource","trackByNodeId","SelectionTreeComponent","expandAllOnInit","selectionChanged","node","compareFn","cdr","deselectAllNodes","_","nodes","treeNodes","dataNodes","findDeselectAllNodes","expandAllNodes","detectChanges","preSelectedNodes","preSelectNodes","descendants","getDescendants","some","every","deselectAll","clear","selectNodes","nodeIds","unSelectNodes","deselect","deselectAllNode","selectUncheckAllNode","toggle","selectOrUnselectDescendants","checkAllParentsSelection","getSelectedNodesWithParents","descendantsAllDeselected","preSelectedIds","Set","collectIds","selectNodesRecursively","subNodes","node1","node2","getParentNode","dataNode","childNode","expandAll","selectedNodes","SelectionTreeComponent_Template","SelectionTreeComponent_Defer_0_Template","SelectionTreeComponent_DeferPlaceholder_1_Template","SelectionTreeComponent_Defer_2_DepsFn","SkeletonLoaderComponent","host","nativeElement","style","setProperty","margin","ElementRef","SkeletonLoaderComponent_Template","computed","MatStepperModule","RouterOutlet","step_r2","subStep_r5","StepperComponent_For_4_ng_template_2_Conditional_0_For_3_ng_template_1_Template","StepperComponent_For_4_ng_template_2_Conditional_0_For_3_ng_template_2_Template","ctx_r3","form","stepControlKey","StepperComponent_For_4_ng_template_2_Conditional_0_Template_mat_vertical_stepper_selectedIndexChange_0_listener","onSubStepperSelectedIndexChange","StepperComponent_For_4_ng_template_2_Conditional_0_For_3_Template","_forTrack1","linearMode","subSteps","StepperComponent_For_4_ng_template_2_Conditional_0_Template","StepperComponent_For_4_ng_template_2_Conditional_2_Template","StepperComponent_For_4_ng_template_1_Template","StepperComponent_For_4_ng_template_2_Template","StepperComponent_Conditional_8_Conditional_4_Template_button_click_0_listener","onTertiaryButtonClick","isTertiaryButtonHidden","buttons","tertiary","secondary","StepperComponent_Conditional_8_Conditional_5_Template_button_click_0_listener","onSecondaryButtonClick","StepperComponent_Conditional_8_Conditional_5_Conditional_2_Template","StepperComponent_Conditional_8_Conditional_5_Conditional_3_Template","tmp_3_0","visible","tmp_5_0","primary","StepperComponent_Conditional_8_Conditional_9_Conditional_0_Template","StepperComponent_Conditional_8_Conditional_9_Conditional_1_Template","StepperComponent_Conditional_8_Conditional_4_Template","StepperComponent_Conditional_8_Conditional_5_Template","StepperComponent_Conditional_8_Template_button_click_7_listener","onPrimaryButtonClick","StepperComponent_Conditional_8_Conditional_9_Template","StepperComponent_Conditional_8_Conditional_11_Template","ɵɵtextInterpolate2","currentIndex","stepsLength","tmp_6_0","hoverMessage","tmp_7_0","StepperComponent","initialIndex","initialMainStepperIndex","stepValidationChanged","primaryButtonClick","tertiaryButtonClick","stepperIndex","ormSteps","mainStepper","selectedIndex","markAllAlreadyVisitedStepsAsInteracted","isNaN","getCurrentSubStepper","getInitialIndexBasedOnCurrentSubStepper","markAllAlreadyVisitedStepsAsSubmitted","currentSubStepper","stepControl","markAllAsTouched","invalid","submitted","steps","nextStep","previous","initialRoute","findInitialRoute","onMainStepperSelectedIndexChange","getSelectedStep","relativeTo","queryParamsHandling","getSelectedSubStep","setStepsAsNotSubmitted","indexes","step","toArray","mainStepperIndex","subSteppers","slice","interacted","StepperComponent_Query","StepperComponent_Template","StepperComponent_Template_mat_vertical_stepper_selectedIndexChange_1_listener","StepperComponent_For_4_Template","StepperComponent_Conditional_6_Template","StepperComponent_Conditional_8_Template","MatStep","MatStepLabel","MatStepper","MatStepperIcon","MatStepContent","ɵNgNoValidate","NgControlStatusGroup","FormGroupDirective","FormGroupName","TableErrorMessageComponent","TableErrorMessageComponent_Template","TextInputElementDirective","textInputElementClassApplied","hostVars","hostBindings","TextInputElementDirective_HostBindings","TextInputHighlightContainerDirective","textInputHighlightContainerClassApplied","TextInputHighlightContainerDirective_HostBindings","styleProperties","freeze","tagIndexIdPrefix","indexIsInsideTag","tag","indices","start","end","overlaps","tagA","tagB","isCoordinateWithinRect","rect","left","top","escapeHtml","str","replace","TextInputHighlightComponent","renderer","tagCssClass","tags","tagClick","tagMouseEnter","tagMouseLeave","highlightElementContainerStyle","textareaEventListeners","isDestroyed","onWindowResize","refresh","getComputedStyle","textInputElement","prop","ngOnChanges","changes","textInputElementChanged","addTags","unregister","elementType","tagName","setTimeout","listen","highlightElement","scrollTop","highlightTagElements","clientRect","element","getBoundingClientRect","observers","handleTextareaMouseEvent","onMouseMove","onMouseLeave","mouseHoveredTag","textInputValue","prevTags","parts","prevTag","expectedTagLength","tagContents","previousIndex","before","cssClass","tagId","indexOf","remainingIndex","remaining","highlightedText","from","getElementsByTagName","eventName","matchingTagIndex","findIndex","elm","clientX","clientY","tagClass","tagMouseEvent","Renderer2","TextInputHighlightComponent_Query","TextInputHighlightComponent_resize_HostBindingHandler","ɵɵresolveWindow","MatDialogModule","MatExpansionModule","informationLists","informationListsIssue","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_1_listener","panelOpenState","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_1_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_6_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_33_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_33_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_38_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_69_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_69_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_74_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_99_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_99_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_104_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_127_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_127_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_132_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_207_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_207_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_212_Template","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_closed_239_listener","UserGuideComponent_ng_template_3_mat_accordion_8_Template_mat_expansion_panel_opened_239_listener","UserGuideComponent_ng_template_3_mat_accordion_8_mat_panel_description_244_Template","entityName","mep1_r5","mep2_r6","mep3_r7","mep4_r8","mep5_r9","mep6_r10","mep7_r11","infoKey","item_r12","information","UserGuideComponent_ng_template_3_mat_accordion_9_mat_expansion_panel_1_Template","UserGuideComponent_ng_template_3_Template_button_click_2_listener","closeDialog","UserGuideComponent_ng_template_3_mat_accordion_8_Template","UserGuideComponent_ng_template_3_mat_accordion_9_Template","UserGuideComponent_ng_template_3_Template_button_click_11_listener","infoTitle","dialog","iconScale","iconSizeToIconScale","small","medium","large","iconSize","openDialog","setData","userGuideDialog","autoFocus","disableClose","infoType","MatDialog","UserGuideComponent_Query","UserGuideComponent_Template_button_click_0_listener","UserGuideComponent_ng_template_3_Template","ɵɵstyleProp","MatDialogTitle","MatDialogContent","MatAccordion","FormControl","MatError","MatSuffix","TrimFormFieldsDirective","UsersService","isString","getErrorMessage","key_r3","UsersSearchFormFieldComponent_Conditional_11_mat_error_0_Template","getErrorKeys","UsersSearchFormFieldComponent","halfWidth","readonly","subscriptSizing","defaultGetErrorMessage","spinnerVisible","listenToValueChanges","minimumRequiredCharacters","getUsers","errors","UsersSearchFormFieldComponent_Template","UsersSearchFormFieldComponent_Template_mat_autocomplete_closed_5_listener","UsersSearchFormFieldComponent_Template_mat_autocomplete_opened_5_listener","UsersSearchFormFieldComponent_Template_mat_autocomplete_optionSelected_5_listener","UsersSearchFormFieldComponent_For_10_Template","UsersSearchFormFieldComponent_Conditional_11_Template","UsersSearchFormFieldComponent_Conditional_12_Template","autocomplete_r5","touched","RiskCaseEnum","RatingConstant","StandardStatusId","InfoKey","tableColumnWidthValues","riskName","maxWidth","minWidth","riskTitle","date","riskTab","rating","controlTab","rcsaNameAndOwner","lastSignOff","signOffDueDate","signOff","openCases","assessment","evidence","assess","controlNameFirstColumn","control","level","RATING_ID_TO_LABEL","EFFECTIVE","NOT_EFFECTIVE","NOT_APPLICABLE","NOT_ASSESSED","RATING_CLASS","RatingConstants","class","chipClass","INFINITE_DAYS","EVENT_URL","ISSUE_URL","EVENT_SOURCE_NAME","ISSUE_SOURCE_NAME","mediumImpactRatingId","WWW_MARK","PROTOCOL_MARK","EXTERNAL_URL_REGEX","CONFLICT_HTTP_STATUS","stateSavingServiceFactory","informationListsRCSA","ISSUE_EVENT","ISSUE_DESCRIPTION","ISSUE_RCSA_SELECTION","ISSUE_IDENTIFICATION","ISSUE_RISK_CONTROL","ISSUE_ROLES","ISSUE_SUMMARY","ISSUE_IMPACT_RATING","ISSUE_REMEDIATION","ISSUE_BUSINESS_IMPACT","ISSUE_LEGAL_ENTITIES","ISSUE_OUTSOURCING","ISSUE_ICOFR","ISSUE_COMPLIANCE","ISSUE_WORKFLOW_GUIDANCE","ISSUE_ATTACHMENTS","ISSUE_SUBSCRIBED_USERS","EVENT_ISSUE","EVENT_DESCRIPTION","EVENT_RCSA_SELECTION","EVENT_RISK","EVENT_ROLES","EVENT_SUMMARY","EVENT_BUSINESS_IMPACT","EVENT_LEGAL_ENTITIES","EVENT_OUTSOURCING","EVENT_ICOFR","EVENT_MONETARY_IMPACT","EVENT_BUSINESS_FUNCTION","EVENT_COUNTRY","EVENT_ROOT_CAUSE","EVENT_TYPE","EVENT_COMPLIANCE","EVENT_WORKFLOW_GUIDANCE","EVENT_ATTACHMENTS","EVENT_SUBSCRIBED_USERS","DialogSubHeaderDirective","DialogComponent_Conditional_7_Template_button_click_0_listener","cancelButtonClick","isUserGuideVisible","isCancelButtonVisible","flex","skeletonHeight","skeletonWidth","skeletonMargin","contentQueries","DialogComponent_ContentQueries","dirIndex","DialogComponent_Template","DialogComponent_h2_3_Template","DialogComponent_Conditional_6_Template","DialogComponent_Conditional_7_Template","DialogComponent_div_8_Template","dialogSubHeaderDirective","ColumnWidthDirective","elementRef","domElement","columnWidth","setStyle","PopoverDirective","vcr","closeOnClickOutside","isOpen","unsubscribe","attachOverlay","state$","closedBy","detachOverlay","scrollStrategy","scrollStrategies","block","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","backdropClass","maxHeight","backdropClick","periodSelectorPortal","appPopoverTrigger","PopoverDirective_HostBindings","PopoverDirective_click_HostBindingHandler","selectableClassApplied","selectedClassApplied","SelectableDirective_HostBindings","SelectableDirective_click_HostBindingHandler","elementView","showMoreTogget","showMoreView","ngAfterContentInit","temp","document","createElement","nodeName","calculatedLineHeight","setAttribute","fontFamily","fontSize","lineHeight","innerHTML","appendChild","clientHeight","parentNode","removeChild","actualHeight","scrollHeight","visibleHeight","ɵɵNgOnChangesFeature","tpl","isLoading","repeat","markForCheck","currentValue","ref","createComponent","assign","createEmbeddedView","TemplateRef","PTableRowDirective","mergeMap","TableAutoScrollDirective","scrollBehavior","tableRows","rows","_results","row","rowIndex","itemIndex","offsetTop","offset","scrollTo","behavior","Table","TableAutoScrollDirective_ContentQueries","formControlDir","formControlName","trimValue","setValue","FormControlName","TrimFormFieldsDirective_HostBindings","TrimFormFieldsDirective_blur_HostBindingHandler","TrimFormFieldsDirective_keydown_enter_HostBindingHandler","SHOULD_NAVIGATE_OUTSIDE","currentRoute","currentState","nextState","numberOfMinLines","RCSA_ID_PARAM_MARK","RATING_CHECKBOX_FILTER_VALUES","RiskCaseStatus","UserRole","User","formatDate","isNumber","unixToFormattedDate","formatDateToOneOrmDate","val","OneOrmDatePipe","transform","pure","FieldToColumnWidthPipe","columnWidths","getAssessorsStatus","assessors","GetAssessorsStatusPipe","isFunction","IsFunctionPipe","isIssueOrEventInDraftForDays","IsIssueOrEventInDraftForDaysPipe","isValidDate","IsValidDatePipe","availableDateColumns","columnsField","getRatingClass","property","ratingValue","RatingClassPipe","RatingIdPipe","RatingLabelPipe","SafeHtmlPipe","htmlLeftBracket","htmlRightBracket","TruncatePipe","maxLength","substring","Utf8CountPipe","textEncoder","TextEncoder","encode","EnumService","OneormEnumerationsService","service","getEnumOptions","adapter","getEnumItems","HomeEnumService","EventsEnumService","enumService","getCheckboxFilters","EVENT_STATUS","BooleanCellRendererComponent","DateCellRendererComponent","InfiniteDaysCellRendererComponent","OverdueCellRendererComponent","XLSX","isEnum","isUser","isUserArray","ExcelService","excelExtension","exportToExcel","fileName","extractedData","getDataFromVisibleColumns","ws","utils","json_to_sheet","workbook","book_new","book_append_sheet","writeFile","extractFields","flatUserAndEnumItems","extractedItem","dateColumn","infiniteCellColumn","booleanColumn","exportValueGetter","getDataFromItem","fieldInfo","isDateColumn","cellRenderer","isInfiniteCellColumn","isBooleanColumn","formatDateToExcelDate","dateString","Date","toDateString","columnCellRenderer","flattenObject","faviconElement","querySelector","setFavicon","HttpHeaders","of","groupBy","pick","http","sanitizer","graphUrl","graphBatchUrl","statusOk","httpHeaders","headers","responseType","e","bypassSecurityTrustUrl","URL","createObjectURL","emails","userInfoBatchRequests","createUserInfoBatchRequest","getUsersInfo","graphUsers","userPhotoBatchRequests","createUserPhotoBatchRequest","presenceBatchRequests","createPresenceBatchRequest","getUsersPhotos","getUsersPresence","graphUsersInfos","usersPhotos","usersPresence","requestId","resultArray","userPrincipalName","post","requests","response","responses","filterOkResponses","userPresence","availability","usersResponses","getUserSearchQuery","email","searchQuery","method","ConsistencyLevel","HttpClient","DomSanitizer","HomeService","CustomIcon","domSanitizer","matIconRegistry","icon","addSvgIcon","bypassSecurityTrustResourceUrl","MatIconRegistry","IssuesEnumService","ISSUE_STATUS","ISSUE_RATING","LOD","MyTodosService","oneOrmMyTodosService","getData","getMyTodos","status_name","getValue","getUserIdBasedOnType","ownerId","RcsaFeService","rcsaService","caseType","getRCSAs","getGlobalFunctions","getAllGlobalFunctions","RcsaService","DEFAULT_LIMIT_SIZE","DEFAULT_PAGE_OFFSET","extractEtagValue","DEFAULT_SORT_FIELD","mapToFeModel","source$","v","totalRows","total_rows","RiskCasesService","riskCasesService","issuesService","eventsService","getIssue","getIssueById","httpHeaderAccept","getEvent","getOpEventById","getAllRiskCases","getRiskCaseViews","creatorId","delegateId","rcsaOwnerId","riskManagerId","govCoordinatorId","actionItemOwnerId","actionItemDelegateId","statusIds","issueSourceId","lodIds","impactRatingIds","typeIds","fullText","fullTextCols","orderBy","orderAsc","pageSize","pageOffset","getMyRiskCases","getMyRiskCaseViews","deleteIssue","etag","removeIssue","deleteEvent","removeOpEvent","updateIssue","issue","updateEvent","updateOpEvent","createEvent","createOpEvent","createIssue","createIssues","RiskCasesViewService","IssueService","OpEventService","controlSubTabS","getSubTab","controlSubTab","subTab","setBreadcrumb","faviconService","prefersDark","matchMedia","faviconUrl","snackbar","actionText","successClass","errorClass","showSuccessToastFromTemplate","openFromTemplate","panelClass","showSuccessToastFromComponent","openFromComponent","showSuccessToast","showErrorToast","MatSnackBar","UserSettingsService","userSettingsService","getUserSettingsColumnsDefinitionsForType","getUserSettingsByType","settings","saveUserSettingsForType","saveUserSettingByType","UserSettingService","getUsersList","takeUntilDestroyed","fromEvent","WindowResizeService","ngZone","resized$","runOutsideAngular","run","innerWidth","innerHeight","NgZone","lodashGroupBy","lodashFunc","lodashIsEmpty","r","lodashSome","sortBy","lodashSortBy","lodashUniqBy","isBoolean","lodashIsBoolean","isFalsy","isTruthy","startOfQuarter","addMonths","getYear","getMonth","getRcsaQuarter","isFirstQuarter2025","startDate","endDate","setDate","getDate","getTime","isAfterOrEqualTime","date1","date2","equal","isBefore","isBeforeOrEqualDate","isBeforeOrEqualTime","differenceInDays","isDateAfterDays","numberOfDays","isSameTime","isValid","parseISO","parsedDate","toISOString","format","fromUnixTime","utcToZonedTime","dateFromUnix","Number","zonedDate","timeZone","timeFormat","lodashIsNumber","cloneDeep","lodashFn","differenceWith","lodashDifferenceWith","ETAG_HEADER","getEtagHeader","lodashInvert","isObject","lodashIsEqual","isFilterDropdownOption","lodashIsNil","lodashIsObject","lodashOmit","lodashPick","getAllValuesAsString","object","valuesString","filterLower","lodashSet","injectFilterParamsStore","isEvent","lodashIsFunction","isRcsaIssueView","isRcsaEventView","DRAFT_STATUS","draftCreationDate","draft_creation_date","isIssue","paramsHandling","camelCase","lodashCamelCase","lodashIsString","isValidUrl","isValidExternalUrl","currentUrl","combinedUrl","mapToUrlWithProtocol","NO_ERRORS_SCHEMA","TestBed","configureShallowTestBed","_x","_x2","_configureShallowTestBed","apply","arguments","_asyncToGenerator","moduleConfig","shallowComponents","testBed","configureTestingModule","overrideComponent","schemas","TestScheduler","createTestScheduler","actual","expected","expect","toEqual","runMarbleTest","testObservable","hotConfigs","andExpectToEmit","expectedMarbles","expectedValues","expectedError","assertionCallback","expectObservable","hot","flush","marbles","fn","toBe","FormGroup","isFormGroup","allOrNoneValidator","allEmpty","allFilled","allOrNone","filterDropdownOptionSelectionValidator","invalidAutocompleteSelection","maxByteLengthValidator","maxBytes","byteLength","maxByteLength","requiredBytes","actualBytes","prod","production","standardsEnabled","showOldWizard","dateFormat","tenantId","updateRCSA","viewIssue","rcsaGraceUrl","riskGraceUrl","controlGraceUrl","eventGraceUrl","graceUrl","oneOrmNewRiskCaseUrl","CCMT","powerBIrisks","powerBIcontrols","powerBIcontrolsInOtherDept","powerBIevents","powerBIissues","powerBIrcsa","textAnalysisEndpoint","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err","cellRendererInit","BooleanCellRendererComponent_Template","DateCellRendererComponent_Template","DateCellRendererComponent_ng_container_0_Template","OverdueCellColorDirective","InfiniteDaysPipe","fieldValue","InfiniteDaysCellRendererComponent_Template","negativeColorClassApplied","getCurrentTimeInSeconds","OverdueCellColorDirective_HostBindings","OverdueCellRendererComponent_Template","OverdueCellRendererComponent_span_0_Template","OverdueCellRendererComponent_ng_template_2_Template","numericalValue_r2","SIZE_P_TABLE_SIZE_CLASS","DEFAULT_PAGE_SIZE","MAXIMUM_LIMIT_SIZE","DEFAULT_PAGE","size","infiniteDaysMarker"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}