{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/authority/authority-form.component.ts","./src/app/authority/authority-form.component.html","./src/app/authority/authority-list.component.ts","./src/app/authority/authority-list.component.html","./src/app/authority/authority-routing.module.ts","./src/app/authority/authority.module.ts","./src/app/authority/crud.service.ts","./src/app/authority/end-points.component.ts","./src/app/change-password/change-password-form.component.ts","./src/app/change-password/change-password-form.component.html","./src/app/change-password/change-password.module.ts","./src/app/change-password/change-password.routes.ts","./src/app/change-password/change-password.service.ts","./src/app/client/client-form.component.ts","./src/app/client/client-form.component.html","./src/app/client/client-list.component.ts","./src/app/client/client-list.component.html","./src/app/client/client-routing.module.ts","./src/app/client/client.module.ts","./src/app/client/crud.service.ts","./src/app/client/index.ts","./src/app/config-getter.ts","./src/app/endPoint/end-point-list.component.ts","./src/app/endPoint/end-point-list.component.html","./src/app/endPoint/end-point-routing.module.ts","./src/app/endPoint/end-point.module.ts","./src/app/endPoint/index.ts","./src/app/key/certificate/certificate-form.component.ts","./src/app/key/certificate/certificate-form.component.html","./src/app/key/certificate/certificate-list.component.ts","./src/app/key/certificate/certificate-list.component.html","./src/app/key/certificate/certificate-routing.module.ts","./src/app/key/certificate/certificate-selection-list.component.ts","./src/app/key/certificate/certificate-selection-list.component.html","./src/app/key/certificate/certificate-show.component.ts","./src/app/key/certificate/certificate-show.component.html","./src/app/key/certificate/certificate.module.ts","./src/app/key/certificate/crud.service.ts","./src/app/key/key-form.component.ts","./src/app/key/key-form.component.html","./src/app/key/key-routing.module.ts","./src/app/key/key.module.ts","./src/app/key/private-key/crud.service.ts","./src/app/key/private-key/private-key-form.component.ts","./src/app/key/private-key/private-key-form.component.html","./src/app/key/private-key/private-key-list.component.ts","./src/app/key/private-key/private-key-list.component.html","./src/app/key/private-key/private-key-routing.module.ts","./src/app/key/private-key/private-key-show.component.html","./src/app/key/private-key/private-key-show.component.ts","./src/app/key/private-key/private-key-view.component.ts","./src/app/key/private-key/private-key-view.component.html","./src/app/key/private-key/private-key.module.ts","./src/app/pipes/pipes.module.ts","./src/app/pipes/principalNamePipe.ts","./src/app/pipes/stringify.ts","./src/app/search/search-column.component.ts","./src/app/search/search-column.component.html","./src/app/shared/base-crud.service.ts","./src/app/shared/component-parent.factory.ts","./src/app/shared/data.ts","./src/app/shared/error-badge.component.ts","./src/app/shared/form-group.component.ts","./src/app/shared/http-error-interceptor.service.ts","./src/app/shared/http-interceptor.service.ts","./src/app/shared/http-options.token.ts","./src/app/shared/index.ts","./src/app/shared/modal-select.component.ts","./src/app/shared/modal/modal.component.ts","./src/app/shared/modal/modal.component.html","./src/app/shared/navbar/navbar.component.ts","./src/app/shared/navbar/navbar.component.html","./src/app/shared/nexta-crud/base-list-info.component.ts","./src/app/shared/nexta-crud/crud.module.ts","./src/app/shared/nexta-crud/nexta-base-list.ts","./src/app/shared/nexta-crud/nexta-can-deactivate.guard.ts","./src/app/shared/nexta-crud/nexta-reactive-form.ts","./src/app/shared/nexta-crud/nexta-selection-base-list.ts","./src/app/shared/nexta-crud/nexta-selection-reactive-form.ts","./src/app/shared/nexta-crud/nexta-view.ts","./src/app/shared/nexta-file-reader.ts","./src/app/shared/notification.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/sidenav/sidenav.component.ts","./src/app/shared/sidenav/sidenav.component.html","./src/app/user/crud.service.ts","./src/app/user/index.ts","./src/app/user/user-form.component.ts","./src/app/user/user-form.component.html","./src/app/user/user-list.component.ts","./src/app/user/user-list.component.html","./src/app/user/user-routing.module.ts","./src/app/user/user.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { MessageService, PrimeNGConfig } from 'primeng/api';\nimport PrimeNGTranslation from '../environments/primeNgTranslation.json';\nimport { HttpHeaders } from '@angular/common/http';\nimport { AuthenticationService } from '@kdose/ng-auth';\nimport { NotificationService } from './shared/notification.service';\nimport { SKIP_HTTP_ERRORS } from './shared/http-error-interceptor.service';\nimport { takeUntil } from 'rxjs';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent implements OnInit {\n private readonly destroy$ = new EventEmitter();\n\n constructor(\n private auth: AuthenticationService,\n private pConfig: PrimeNGConfig,\n private router: Router,\n private notify: NotificationService,\n private messageService: MessageService\n ) {}\n\n ngOnInit() {\n this.pConfig.setTranslation( PrimeNGTranslation );\n const headers = new HttpHeaders({\n [SKIP_HTTP_ERRORS]: [401]\n });\n this.auth.initializeAuthentication({ headers })\n .then(() => this.handleUserData())\n .catch((error) => {\n this.notify.acknowledgeRequired('Fehler beim Initialisieren', 'Server nicht erreichbar oder antwortet nicht', 'error');\n console.log({error});\n });\n }\n\n dismissMessage( key: string) {\n this.messageService.clear(key);\n }\n\n private handleUserData() {\n this.auth.userData\n .pipe(takeUntil(this.destroy$))\n .subscribe(data => {\n if( data?.authorities?.includes('PASSWORD_CHANGE_REQUIRED')) {\n setTimeout(() => this.router.navigateByUrl('/passwort-aendern'), 1);\n }\n });\n }\n}\n","
\n\n \n\n
\n
\n
\n \n\n
\n \n \n\n \n\n \n\n \n \n
\n
\n \n

{{message.summary}}

\n {{message.detail}}\n
\n
\n
\n
\n\n \n \n
\n
\n \n

{{message.summary}}

\n

{{message.detail}}

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n","import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { ToastModule } from 'primeng/toast';\n\nimport { KDOCrudModule } from '@kdose/ng-crud';\nimport { SpringBootUiModule } from '@kdose/ng-spring-boot-ui';\n\nimport { AppComponent } from './app.component';\nimport { ROUTES } from './app.routes';\nimport { AuthorityCrudModule } from './authority/authority.module';\nimport { baseCrudUrlGetter } from './config-getter';\nimport { CertificateCrudModule } from './key/certificate/certificate.module';\nimport { KeyCrudModule } from './key/key.module';\nimport { PrivateKeyCrudModule } from './key/private-key/private-key.module';\nimport { PipesModule } from './pipes/pipes.module';\nimport { SharedModule } from './shared';\nimport { Data } from './shared/data';\nimport { HttpErrorInterceptorService } from './shared/http-error-interceptor.service';\nimport { HttpInterceptorService } from './shared/http-interceptor.service';\nimport { HTTP_OPTIONS } from './shared/http-options.token';\nimport { NextaCrudModule } from './shared/nexta-crud/crud.module';\nimport { UserCrudModule } from './user';\nimport { EndPointModule } from './endPoint';\nimport { environment } from '../environments/environment';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { NotificationService } from './shared/notification.service';\nimport { ClientCrudModule } from './client';\nimport { KDOAuthenticationModule } from '@kdose/ng-auth';\nimport { KDOAuthenticationPrimeNgModule } from '@kdose/ng-auth-primeng';\nimport { ChangePasswordModule } from './change-password/change-password.module';\n\n// Application wide providers\nconst APP_PROVIDERS = [\n ConfirmationService,\n MessageService,\n NotificationService,\n Data,\n { provide: HTTP_OPTIONS, useValue: { contentType: 'application/json' } },\n { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptorService, multi: true },\n];\n\n/**\n * `AppModule` is the main entry point into Angular2's bootstraping process\n */\n@NgModule({\n bootstrap: [AppComponent],\n declarations: [\n AppComponent\n ],\n imports: [ // import Angular's modules\n BrowserModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n RouterModule.forRoot(ROUTES, { useHash: false }),\n ChangePasswordModule,\n ConfirmDialogModule,\n ToastModule,\n\n SpringBootUiModule.forRoot({\n baseUrl: 'actuator',\n logfile: {\n nameTemplate: `XTA-Soap-Proxy_${environment.version}_\\${luxon:yyyy-MM-dd_HH-mm-ss}.txt`\n },\n metrics: ['.']\n }),\n NextaCrudModule.forRoot(),\n SharedModule,\n PipesModule,\n CertificateCrudModule,\n PrivateKeyCrudModule,\n KeyCrudModule,\n AuthorityCrudModule,\n EndPointModule,\n UserCrudModule,\n ClientCrudModule,\n KDOAuthenticationModule.forRoot('/login', baseCrudUrlGetter()),\n KDOAuthenticationPrimeNgModule,\n KDOCrudModule.forRoot({\n config: {\n baseUrl: baseCrudUrlGetter\n }\n }),\n ],\n providers: [\n APP_PROVIDERS\n ]\n})\nexport class AppModule {\n}\n","import { Routes } from '@angular/router';\nimport { LoginComponent } from '@kdose/ng-auth-primeng';\n\nexport const ROUTES: Routes = [\n {\n path: 'login',\n component: LoginComponent\n },\n {\n path: '',\n pathMatch: 'full',\n redirectTo: '/behoerden'\n },\n];\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators, UntypedFormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { NextaSelectionBaseReactiveForm } from '../shared/nexta-crud/nexta-selection-reactive-form';\nimport { Data } from './../shared/data';\nimport { AuthorityService } from './crud.service';\nimport { EndPointsComponent } from './end-points.component';\nimport { EndPoint } from '../endPoint/end-point';\nimport { NotificationService } from '../shared/notification.service';\nimport { Authority } from './authority';\nimport { Client } from '../client/client';\nimport { ClientService } from '../client/crud.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DialogService],\n styleUrls: ['./authority-form.component.scss'],\n templateUrl: './authority-form.component.html'\n})\nexport class AuthorityFormComponent extends NextaSelectionBaseReactiveForm {\n clients: Client[] = [];\n data: any;\n endPoints: EndPoint[] = [];\n\n get main(): UntypedFormGroup {\n return this.form.get('main') as UntypedFormGroup || null;\n }\n\n private fb: UntypedFormBuilder;\n\n constructor(\n router: Router,\n crudService: AuthorityService,\n notify: NotificationService,\n route: ActivatedRoute,\n acrossPagesData: Data,\n cdr: ChangeDetectorRef,\n private dialog: DialogService,\n private clientService: ClientService\n ) {\n super('behoerden', router, crudService, notify, route, cdr, '/behoerden', acrossPagesData);\n this.loadClients();\n }\n\n private loadClients() {\n this.clientService\n .getAll({size: 9999, sort: JSON.stringify({ active: 'name', direction: 'asc' })})\n .subscribe(data => {\n this.clients = data.content;\n this.cdr.markForCheck();\n });\n }\n\n initFormGroup() {\n this.fb = new UntypedFormBuilder();\n this.form = this.fb.group({\n main: this.fb.group({\n id: [''],\n active: [''],\n client: ['', Validators.required],\n defaultRoute: [''],\n prefix: ['', Validators.required],\n identifier: ['', Validators.required],\n lastUpdate: [''],\n entityVersion: [''],\n target: this.fb.group({\n to: ['', Validators.required],\n xta1Port: ['', Validators.required],\n xta2SendPort: '',\n xta2MsgboxPort: '',\n xta2ManagePort: '',\n })\n })\n });\n this.getAllEndPoints();\n }\n\n getAllEndPoints() {\n this.doRequest({\n page: null,\n size: null,\n sort: JSON.stringify({ active: 'prefix', direction: 'desc' }),\n filter: null\n }).subscribe(res => {\n res.content.forEach(auth => {\n const endpoint = { url: auth.to, defaultRoute: auth.defaultRoute } as EndPoint;\n\n const compareResult = this.endPoints.findIndex(item => item.url === endpoint.url);\n\n if (compareResult === -1) {\n this.endPoints.push(endpoint);\n } else if (compareResult !== -1) {\n if (endpoint.defaultRoute === true) {\n this.endPoints[compareResult].defaultRoute = true;\n }\n }\n });\n this.cdr.markForCheck();\n });\n }\n\n patchValue(data: any) {\n const authority = { main: data };\n this.data = data;\n this.form.patchValue(authority);\n }\n\n transform() {\n const authority = Object.assign({}, this.form.value.main);\n return authority;\n }\n\n beforeSubmit(): void {\n if (!this.form.value.main.key.id) {\n (this.form.get(['main', 'key']) as UntypedFormGroup).setErrors({\n required: false\n });\n }\n }\n\n navigateToOnSubmitSuccess() {\n this.router.navigate(['/behoerden', this.form.getRawValue().main.id]);\n }\n\n getStorageData(elementName: string): any {\n return {\n route: this.storageRoute,\n id: this.form.get('main.id').value,\n object: JSON.stringify(this.transform()),\n elementName\n };\n }\n\n openEndPunktListeModal() {\n const config: DynamicDialogConfig = {\n closable: true,\n data: this.endPoints,\n dismissableMask: true,\n header: 'Endpunkte - Liste'\n };\n\n const ref = this.dialog.open(EndPointsComponent, config);\n ref.onClose.subscribe((data: string) => {\n if (data) {\n this.toUrl.setValue(data);\n }\n this.cdr.markForCheck();\n });\n }\n\n loadDefaultRoute() {\n this.endPoints.forEach((endPoint: EndPoint) => {\n if (endPoint.defaultRoute === true) {\n this.toUrl.setValue(endPoint.url)\n }\n });\n this.cdr.markForCheck();\n }\n\n get toUrl(): UntypedFormControl {\n return this.form.controls.main.get('target').get('to') as UntypedFormControl;\n }\n}\n","\n

\n \n

\n\n \n \n \n Allgemein\n \n \n
\n
\n Allgemeine Daten\n
\n
\n \n \n \n\n
\n
\n \n
\n
\n {{ form.get(\"main.defaultRoute\").value === true ? \"Ja\" : \"Nein\" }}\n
\n
\n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n
\n
\n \n \n
\n
\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../shared/notification.service';\nimport { AuthorityService } from './crud.service';\nimport { Authority } from './authority';\nimport { NextaSelectionBaseList } from '../shared/nexta-crud/nexta-selection-base-list';\nimport { UntypedFormBuilder } from '@angular/forms';\nimport { Data } from '../shared/data';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './authority-list.component.html'\n})\nexport class AuthorityListComponent extends NextaSelectionBaseList {\n constructor(\n router: Router,\n authorityService: AuthorityService,\n notificationService: NotificationService,\n acrossPagesData: Data,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef,\n fb: UntypedFormBuilder\n ) {\n super('/behoerden', router, authorityService, notificationService, route, acrossPagesData, 'authorities', cdr, fb);\n }\n}\n","
\n
\n

\n Behörden - Liste Lädt...\n \n \n \n \n Neue Behörde anlegen\n \n \n \n

\n
\n\n
\n 0 || showFilter\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n ID\n \n Präfix\n \n Behördenkennung\n \n Aktiv\n \n Endpunkt\n Aktionen
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ authority.id }}\n \n \n {{ authority.prefix }}\n \n \n \n {{ authority.identifier }}\n \n \n {{ authority.active ? 'Ja' : 'Nein'}}\n \n {{ authority.target.to }}\n \n \n \n \n
\n {{ authority.id }}\n \n \n {{ authority.prefix }}\n \n \n \n {{ authority.identifier }}\n \n \n {{ authority.active ? 'Ja' : 'Nein'}}\n \n {{ authority.to }}\n \n \n \n \n
\n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n\n
0\">\n
\n
\n \n
\n
\n
\n
\n","import { NextaCanDeactivateCrudForm } from './../shared/nexta-crud/nexta-can-deactivate.guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\nimport { AuthorityListComponent } from './authority-list.component';\nimport { AuthorityFormComponent } from './authority-form.component';\n\nconst authorityRoutes: Routes = [\n {\n path: 'behoerden',\n component: AuthorityListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'behoerden/neu',\n component: AuthorityFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'behoerden/:id',\n component: AuthorityFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n }\n];\n@NgModule({\n imports: [\n RouterModule.forChild(authorityRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class AuthorityRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { TabViewModule } from 'primeng/tabview';\nimport { CertificateCrudModule } from './../key/certificate/certificate.module';\nimport { PrivateKeyCrudModule } from './../key/private-key/private-key.module';\nimport { SharedModule } from '../shared';\n\nimport { AuthorityService } from './crud.service';\nimport { AuthorityFormComponent } from './authority-form.component';\nimport { AuthorityListComponent } from './authority-list.component';\nimport { AuthorityRoutingModule } from './authority-routing.module';\nimport { EndPointsComponent } from './end-points.component';\n\nconst DIRECTIVES = [\n AuthorityFormComponent,\n AuthorityListComponent,\n EndPointsComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n TabViewModule,\n AuthorityRoutingModule,\n PrivateKeyCrudModule,\n CertificateCrudModule,\n ],\n providers: [\n AuthorityService\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class AuthorityCrudModule {\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CrudHelperService } from '@kdose/ng-crud';\nimport { NotificationService } from '../shared/notification.service';\nimport { BaseCrudService } from '../shared/base-crud.service';\n\n@Injectable()\nexport class AuthorityService extends BaseCrudService {\n\n constructor(helperService: CrudHelperService,\n notifyService: NotificationService,\n router: Router,\n http: HttpClient\n ) {\n super('authorities', helperService, notifyService, router, http);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { EndPoint } from '../endPoint/end-point';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n '.success_default_route {background-color: #b7e0c7;border-color: #b7e0c7;}'\n ],\n template: `\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Endpunkt-URL\n \n Default-Route\n
\n {{ endPoint.url }}\n \n \n \n \n
\n
\n `\n})\nexport class EndPointsComponent {\n endPoints: EndPoint[] = [];\n constructor(private ref: DynamicDialogRef, private cdr: ChangeDetectorRef, config: DynamicDialogConfig) {\n this.endPoints = config.data;\n }\n\n selectEndPoint(endPoint: EndPoint) {\n this.ref.close(endPoint.url);\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, takeUntil } from 'rxjs';\nimport { ChangePasswordService, PasswordsMatchValidator } from './change-password.service';\nimport { AuthenticationService, UserData } from '@kdose/ng-auth';\n\nconst PASSWORD_PATTERN = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{12,}$/;\n\n@Component({\n selector: 'app-changepassword-form',\n templateUrl: './change-password-form.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChangePasswordFormComponent implements OnInit, OnDestroy {\n public readonly pattern = PASSWORD_PATTERN;\n\n private readonly destroy$ = new EventEmitter();\n\n form: UntypedFormGroup;\n filter: any;\n isLocalUser = false;\n\n constructor(\n private auth: AuthenticationService,\n private service: ChangePasswordService,\n public route: ActivatedRoute,\n public router: Router,\n private fb: UntypedFormBuilder,\n ) {\n this.form = this.fb.group({\n oldPassword: '',\n newPassword: ['', Validators.compose([\n Validators.required,\n Validators.pattern(PASSWORD_PATTERN)\n ])],\n repeatedPassword: ['', Validators.compose([\n Validators.required,\n Validators.pattern(PASSWORD_PATTERN)\n ])],\n }, { validators: PasswordsMatchValidator});\n }\n\n ngOnInit(): void {\n this.auth.userData\n .pipe(takeUntil(this.destroy$))\n .subscribe((data: UserData & {type: string}) => {\n // TODO: bei Angular-18-Migration Parametertyp anpassen\n this.isLocalUser = data.type?.toLocaleLowerCase() === 'local';\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onSubmit(event: SubmitEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n this.form.updateValueAndValidity();\n if (this.form.invalid) {\n return;\n }\n\n const {oldPassword, newPassword } = this.form.value as {\n oldPassword: string,\n newPassword: string,\n repeatedPassword: string\n };\n this.service.changePassword({\n oldPassword,\n newPassword\n }).subscribe(() => {\n this.auth.logout();\n setTimeout(() => this.router.navigateByUrl('/login'), 5);\n });\n\n return false;\n }\n\n @HostListener('window:beforeunload')\n canDeactivate(): Observable | boolean {\n return !this.form.dirty;\n }\n\n get newPassword(): AbstractControl {\n return this.form.get('newPassword');\n }\n}\n","
\n
\n
\n Passwort ändern\n \n \n \n
\n
\n \n \n \n \n \n

Muss mindestens einen Groß- und Kleinbuchstaben, eine Ziffer und ein Sonderzeichen enthalten. Es muss mindestens aus 12 Zeichen bestehen.

\n
\n \n \n

Passwort und Wiederholung müssen übereinstimmen.

\n
\n
\n
\n \n
\n

Die Authentifizierung erfolgt über einen Verzeichnisdienst. Das Passwort muss dort geändert werden.

\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ROUTES } from './change-password.routes';\n\nimport { ChangePasswordFormComponent } from './change-password-form.component';\nimport { SharedModule } from '../shared';\nimport { ChangePasswordService } from './change-password.service';\n\nconst components = [\n ChangePasswordFormComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SharedModule,\n RouterModule.forChild(ROUTES),\n RouterModule,\n ],\n declarations: [...components],\n exports: [...components],\n providers: [\n ChangePasswordService\n ]\n})\nexport class ChangePasswordModule { }\n","import { isAuthenticated } from '@kdose/ng-auth';\nimport { ChangePasswordFormComponent } from './change-password-form.component';\n\nexport const ROUTES = [\n {\n path: 'passwort-aendern',\n component: ChangePasswordFormComponent,\n canActivate: [isAuthenticated]\n },\n];\n","import { Injectable } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { mergeMap } from 'rxjs/operators';\nimport { baseCrudUrlGetter } from '../config-getter';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface ChangePassword {\n id?: string;\n oldPassword?: string;\n newPassword?: string;\n}\n\n@Injectable()\nexport class ChangePasswordService {\n\n constructor(\n private http: HttpClient,\n ) { }\n\n changePassword(payload: ChangePassword): Observable {\n return from(baseCrudUrlGetter()).pipe(\n mergeMap(baseUrlAsync => {\n return this.http.post(baseUrlAsync + 'users/changeOwnPassword', payload);\n })\n );\n }\n}\n\nexport const PasswordsMatchValidator: ValidatorFn = (control: AbstractControl) => {\n const newPassword = control.get('newPassword');\n const repeatedPassword = control.get('repeatedPassword');\n\n if (newPassword && repeatedPassword && repeatedPassword.value === newPassword.value) {\n return null\n }\n\n return {\n passwordMismatch: true\n };\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { NextaSelectionBaseReactiveForm } from '../shared/nexta-crud/nexta-selection-reactive-form';\nimport { Certificate } from './../key/certificate/certificate';\nimport { Data } from './../shared/data';\nimport { NotificationService } from '../shared/notification.service';\nimport { ClientService } from './crud.service';\nimport { ClientDetails } from './client';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DialogService],\n templateUrl: './client-form.component.html'\n})\nexport class ClientFormComponent extends NextaSelectionBaseReactiveForm {\n certificatesLoaded = false;\n data: any;\n\n /* Variablen für Zertifikatsansicht*/\n certificates: Certificate[] = [];\n\n get main(): UntypedFormGroup {\n return this.form.get('main') as UntypedFormGroup || null;\n }\n\n private fb: UntypedFormBuilder;\n\n constructor(\n router: Router,\n crudService: ClientService,\n notify: NotificationService,\n route: ActivatedRoute,\n acrossPagesData: Data,\n cdr: ChangeDetectorRef,\n ) {\n super('clients', router, crudService, notify, route, cdr, '/clients', acrossPagesData);\n this.cleanBeforeSave = false;\n }\n\n initFormGroup() {\n this.fb = new UntypedFormBuilder();\n this.form = this.fb.group({\n main: this.fb.group({\n id: [''],\n entityVersion: [''],\n name: ['', [Validators.required, Validators.maxLength(255)]],\n description: ['', [Validators.required, Validators.maxLength(255)]],\n })\n });\n }\n\n patchValue(data: any) {\n const authority = { main: data };\n this.certificates = this.ensureIsArray(data.allowedCerts);\n this.data = data;\n this.form.patchValue(authority);\n this.cdr.markForCheck();\n }\n\n onDataLoaded() {\n this.certificatesLoaded = true;\n this.cdr.markForCheck();\n }\n\n transform() {\n const allowedCerts = this.ensureIsArray(this.certificates);\n return {...this.form.value.main, allowedCerts };\n }\n\n navigateToOnSubmitSuccess() {\n this.router.navigate(['/clients', this.form.getRawValue().main.id]);\n }\n\n addSelectedCertificate(certificate: Certificate) {\n const alreadyIncluded = this.certificates.some(cert => cert.id === certificate.id);\n if (!alreadyIncluded) {\n this.certificates.push(certificate);\n }\n this.cdr.markForCheck();\n }\n\n removeSelectedCertificate(certificate: Certificate) {\n this.certificates = this.certificates.filter(item => item.id !== certificate.id);\n this.cdr.markForCheck();\n }\n\n getStorageData(elementName: string): any {\n return {\n route: this.storageRoute,\n id: this.form.get('main.id').value,\n object: JSON.stringify(this.transform()),\n elementName\n };\n }\n\n private ensureIsArray(data?: T|T[]): T[] {\n const result = data ?? [];\n return Array.isArray(result) ? result : [result];\n }\n\n protected updateSelectedData(current: T[], updated: T): T[] {\n if (Array.isArray(current)) {\n return [...current, updated].filter(item => !!item);\n }\n return [current, updated].filter(item => !!item);\n }\n}\n","\n

\n \n

\n\n \n \n \n Allgemein\n \n \n
\n
\n Allgemeine Daten\n
\n
\n \n \n \n \n \n \n\n
\n
\n
\n \n \n Anfrage-Zertifikate\n \n \n \n
\n\n","import { NextaBaseList } from '../shared/nexta-crud/nexta-base-list';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../shared/notification.service';\nimport { ClientService } from './crud.service';\nimport { Client } from './client';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './client-list.component.html'\n})\nexport class ClientListComponent extends NextaBaseList {\n\n constructor(\n router: Router,\n clientService: ClientService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef\n ) {\n super('/clients', router, clientService, notificationService, route, 'clients', cdr);\n }\n}\n","
\n
\n

Client - Liste Lädt...\n \n \n \n Neuen Client anlegen\n \n \n \n

\n
\n\n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n ID\n \n Name\n \n Beschreibung\n Aktionen
\n {{ client.id }}\n \n \n {{ client.name }}\n \n \n {{ client.description }}\n \n \n \n \n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n","import { NextaCanDeactivateCrudForm } from '../shared/nexta-crud/nexta-can-deactivate.guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\nimport { ClientListComponent } from './client-list.component';\nimport { ClientFormComponent } from './client-form.component';\n\nconst clientRoutes: Routes = [\n {\n path: 'clients',\n component: ClientListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'clients/neu',\n component: ClientFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'clients/:id',\n component: ClientFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n }\n];\n@NgModule({\n imports: [\n RouterModule.forChild(clientRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class ClientRoutingModule { }\n","import { CertificateCrudModule } from '../key/certificate/certificate.module';\nimport { PrivateKeyCrudModule } from '../key/private-key/private-key.module';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared';\n\nimport { ClientService } from './crud.service';\nimport { ClientFormComponent } from './client-form.component';\nimport { ClientListComponent } from './client-list.component';\nimport { ClientRoutingModule } from './client-routing.module';\nimport { TabViewModule } from 'primeng/tabview';\n\nconst DIRECTIVES = [\n ClientFormComponent,\n ClientListComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n TabViewModule,\n ClientRoutingModule,\n PrivateKeyCrudModule,\n CertificateCrudModule\n ],\n providers: [\n ClientService\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class ClientCrudModule {\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CrudHelperService } from '@kdose/ng-crud';\nimport { NotificationService } from '../shared/notification.service';\nimport { BaseCrudService } from '../shared/base-crud.service';\n\n@Injectable()\nexport class ClientService extends BaseCrudService {\n\n constructor(protected helperService: CrudHelperService,\n protected notifyService: NotificationService,\n protected router: Router,\n protected http: HttpClient\n ) {\n super('clients', helperService, notifyService, router, http);\n }\n}\n","export * from './client-form.component';\nexport * from './client-list.component';\nexport * from './client.module';\n","function ensureEndsWith(value: string, endsWith: string) {\n return value.endsWith(endsWith) ? value : value + endsWith;\n}\n\nclass AppSettings {\n /**\n * Zwischenspeicher der bereits geladenen Basis-URL.\n * Sollte nie direkt verwendet werden. Stattdessen immer über den\n * `baseUrlGetter()` arbeiten.\n */\n static baseUrl: string;\n}\n\nexport function baseUrlGetter(): Promise {\n return new Promise((resolve) => {\n if (AppSettings.baseUrl) {\n resolve(AppSettings.baseUrl);\n return;\n }\n\n const base = document.querySelector('base');\n const baseUrl = ensureEndsWith(base && base.href || '', '/');\n\n fetch(baseUrl + 'config.json', { method: 'get' })\n .then(res => res.json())\n .then(url => {\n AppSettings.baseUrl = ensureEndsWith( url.restUrl, '/' );\n resolve(AppSettings.baseUrl);\n })\n .catch(() => {\n const url = location.protocol + '//' + location.host + '/';\n AppSettings.baseUrl = url;\n resolve(url);\n });\n });\n}\n\nexport function baseCrudUrlGetter(): Promise {\n return new Promise(resolve =>\n (baseUrlGetter() as Promise)\n .then(val => resolve(val + 'rest/'))\n );\n}\n","import { NextaBaseList } from './../shared/nexta-crud/nexta-base-list';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../shared/notification.service';\nimport { AuthorityService } from '../authority/crud.service';\nimport { Authority } from '../authority/authority';\nimport { EndPoint as Endpoint } from './end-point';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n '.success_default_route {background-color: #b7e0c7;border-color: #b7e0c7;}'\n ],\n templateUrl: './end-point-list.component.html'\n})\nexport class EndPointListComponent extends NextaBaseList {\n endPoints: Endpoint[] = [];\n constructor(\n router: Router,\n authorityService: AuthorityService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef\n ) {\n super('/routen', router, authorityService, notificationService, route, 'endPoints', cdr);\n }\n\n /**\n * Laden der Entitäten mittels des CrudService.\n */\n protected loadEntities(skipUrlPeristing = false): void {\n if (!(this.page >= 1)) {\n this.page = 1;\n }\n\n if (this.persistStateInUrl && !skipUrlPeristing) {\n this.router.navigate(['/' + this.routeName, this.encodeStateForUrl()]);\n }\n\n this.loading = true;\n\n this.doRequest({\n page: null,\n size: null,\n sort: JSON.stringify({ active: 'prefix', direction: 'desc' }),\n filter: null\n }).subscribe(res => {\n this.entities = res.content || [];\n this.entities.forEach(auth => {\n const endpoint: Endpoint = { url: auth.to, defaultRoute: auth.defaultRoute };\n const compareResult = this.endPoints.findIndex(item => item.url === endpoint.url);\n if (compareResult === -1) {\n this.endPoints.push(endpoint);\n } else {\n if (endpoint.defaultRoute === true) {\n this.endPoints[compareResult].defaultRoute = true;\n }\n }\n });\n\n this.loading = false;\n this.cdr.markForCheck();\n });\n }\n}\n","
\n
\n

\n EndPunkt-Liste Lädt...\n

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Endpunkt-URL\n \n Default-Route\n
\n {{ endPoint.url }}\n \n \n \n \n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\nimport { EndPointListComponent } from './end-point-list.component';\n\nconst endPointsRoutes: Routes = [ {\n path: 'routen',\n component: EndPointListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n } ];\n@NgModule({\n imports: [\n RouterModule.forChild(endPointsRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class EndPointRoutingModule { }\n","import { CertificateCrudModule } from './../key/certificate/certificate.module';\nimport { PrivateKeyCrudModule } from './../key/private-key/private-key.module';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared';\nimport { EndPointRoutingModule } from './end-point-routing.module';\nimport { EndPointListComponent } from './end-point-list.component';\n\nconst DIRECTIVES = [\n EndPointListComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n EndPointRoutingModule,\n PrivateKeyCrudModule,\n CertificateCrudModule\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class EndPointModule {\n}\n","export * from './end-point-list.component';\nexport * from './end-point.module';\nexport * from './end-point-routing.module';\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NextaSelectionBaseReactiveForm } from '../../shared/nexta-crud/nexta-selection-reactive-form';\nimport { NextaFileReader } from '../../shared/nexta-file-reader';\nimport { NotificationService } from '../../shared/notification.service';\nimport { Data } from './../../shared/data';\nimport { CertificateService } from './crud.service';\nimport { Certificate } from './certificate';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './certificate-form.component.html'\n})\nexport class CertificateFormComponent extends NextaSelectionBaseReactiveForm {\n\n file: File;\n\n constructor(\n router: Router,\n private certificateService: CertificateService,\n notify: NotificationService,\n route: ActivatedRoute,\n acrossPagesData: Data,\n cdr: ChangeDetectorRef) {\n super('edit', router, certificateService, notify, route, cdr, null, acrossPagesData);\n }\n\n initFormGroup() {\n const fb = new UntypedFormBuilder();\n this.form = fb.group({\n id: [''],\n file: ['', Validators.required]\n });\n }\n\n transform(): any {\n const formData = new FormData();\n formData.append('file', this.file);\n return formData;\n }\n\n onFileSelected(event: any) {\n const file = event.target.files[0];\n this.file = file;\n const fileReader: NextaFileReader = new NextaFileReader(this.form, 'file');\n fileReader.readAsArrayBuffer(file);\n this.cdr.markForCheck();\n }\n\n /**\n * Event-Handler für das Abschicken eines Formulars.\n * @return {[type]} [description]\n */\n onSubmit() {\n this.beforeSubmit();\n\n this.form.updateValueAndValidity();\n\n if (!this.form.valid) {\n this.cdr.markForCheck();\n return;\n }\n\n const data = this.transform();\n\n // ID setzen, da diese sich nicht im Formular befindet\n if (this.route.snapshot.params['id'] !== undefined) {\n data.id = this.route.snapshot.params['id'];\n }\n\n this.certificateService.saveAtSpecialEndpoint(data, this.endpoint)\n .subscribe((response) => {\n if (response) {\n this.patchValue(response);\n }\n\n this.onSubmitSuccess(response, 'Das Zertifikat');\n this.cdr.markForCheck();\n });\n }\n\n navigateToOnSubmitSuccess(): void {\n this.router.navigate(['/schluessel/zertifikate', this.form.getRawValue().id]);\n }\n}\n","
\n
\n
\n
\n Zertifikat {{ getActionText() }}\n
\n\n
\n
\n \n
\n Datei auswählen\n \n
\n
{{ file.name }}
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { Data } from './../../shared/data';\nimport { NextaSelectionBaseList } from './../../shared/nexta-crud/nexta-selection-base-list';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../../shared/notification.service';\nimport { CertificateService } from './crud.service';\nimport { Certificate } from './certificate';\nimport { UntypedFormBuilder } from '@angular/forms';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-certificate-list',\n templateUrl: './certificate-list.component.html'\n})\nexport class CertificateListComponent extends NextaSelectionBaseList {\n\n constructor(\n router: Router,\n certificateService: CertificateService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n acrossPagesData: Data,\n fb: UntypedFormBuilder,\n cdr: ChangeDetectorRef\n ) {\n super('zertifikate', router, certificateService, notificationService, route, acrossPagesData, 'certificates', cdr, fb);\n }\n}\n","
\n
\n

Zertifikatsliste Lädt...\n \n \n Filter {{ showFilter ? 'ausblenden' : 'einblenden' }}\n \n \n \n \n \n \n Neues Zertifikat anlegen\n \n \n \n

\n
\n\n
\n 0 || showFilter\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
ID\n Seriennummer (dez/hex)\n \n Antragssteller\n \n Aussteller\n \n Gültig von\n \n Gültig bis\n Aktionen
\n \n \n \n
\n {{ b.id }}\n \n {{ b.serialNumber }} / {{ b.serialNumberInHex }}\n \n
\n {{ entry }}\n
\n
\n
\n {{ entry }}\n
\n
\n {{ b.validFrom }}\n \n {{ b.validTo }}\n \n \n \n \n \n \n \n
\n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n\n
0\">\n
\n
\n \n
\n
\n
\n
\n","import { NextaCanDeactivateCrudForm } from './../../shared/nexta-crud/nexta-can-deactivate.guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CertificateFormComponent } from './certificate-form.component';\nimport { CertificateListComponent } from './certificate-list.component';\nimport { CertificateShowComponent } from './certificate-show.component';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\n\nconst certificateRoutes: Routes = [\n {\n path: 'schluessel/zertifikate',\n component: CertificateListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'schluessel/zertifikate/neu',\n component: CertificateFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'schluessel/zertifikate/:id',\n component: CertificateShowComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n }\n];\n@NgModule({\n imports: [\n RouterModule.forChild(certificateRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class CertificateRoutingModule { }\n","import { Data } from '../../shared/data';\nimport { Component, EventEmitter, Output, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\nimport { ControlContainer } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { componentParentFactory } from '../../shared/component-parent.factory';\nimport { Certificate } from './certificate';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-certificate-selection-list',\n templateUrl: './certificate-selection-list.component.html',\n viewProviders: [{\n provide: ControlContainer,\n useFactory: componentParentFactory,\n deps: [CertificateSelectionListComponent]\n }]\n})\nexport class CertificateSelectionListComponent {\n\n @Input() data: Certificate[];\n @Input() id: string;\n @Input() readonly = false;\n @Input() storageData: any;\n @Input() title: string;\n\n @Output() readonly addedCertificateSelected = new EventEmitter();\n @Output() readonly removeCertificateSelected = new EventEmitter();\n @Output() readonly clickOnNew = new EventEmitter();\n\n constructor(private router: Router, private acrossPagesData: Data, private cdr: ChangeDetectorRef) {\n }\n\n createNewElement() {\n this.acrossPagesData.storage.push(this.storageData);\n this.clickOnNew.emit();\n this.router.navigate(['schluessel/zertifikate/neu']);\n }\n\n onDelete(event, entity: Certificate): void {\n event.preventDefault();\n this.removeCertificateSelected.emit(entity);\n this.cdr.markForCheck();\n }\n}\n","
\n
\n

{{ title }}\n \n \n \n \n \n \n \n \n

\n
\n\n 0\">\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
ID\n Seriennummer (dez/hex)\n \n Antragssteller\n \n Aussteller\n \n Gültig von\n \n Gültig bis\n Aktionen
\n {{ certificate.id }}\n \n {{ certificate.serialNumber }} / {{ certificate.serialNumberInHex }}\n \n
\n {{ entry }}\n
\n
\n
\n {{ entry }}\n
\n
\n {{ certificate.validFrom }}\n \n {{ certificate.validTo }}\n \n \n \n \n \n \n \n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n
\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CertificateDetails } from '.';\nimport { NotificationService } from '../../shared/notification.service';\nimport { CertificateService } from './crud.service';\nimport { DownloadHelperService } from '@kdose/ng-crud';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./certificate-show.component.scss'],\n templateUrl: './certificate-show.component.html'\n})\nexport class CertificateShowComponent implements OnInit {\n\n public issuerCertificateID: string;\n public certificateDetails: CertificateDetails;\n\n constructor(private crudService: CertificateService,\n private notify: NotificationService,\n private route: ActivatedRoute,\n private cdr: ChangeDetectorRef) {\n }\n\n /**\n * Details-Methode muss benutzt werden\n */\n ngOnInit() {\n if (typeof this.route.snapshot.params['id'] !== 'undefined') {\n this.crudService.getDetails(+this.route.snapshot.params['id'])\n .subscribe((res) => {\n this.certificateDetails = res;\n this.onDataLoaded();\n this.cdr.markForCheck();\n }, (error: HttpErrorResponse) => {\n if (error.status === 404) {\n window.history.back();\n this.notify.notify('Element wurde nicht gefunden.', 'warning');\n return;\n }\n });\n }\n }\n\n onDataLoaded() {\n if (this.certificateDetails.certificate.issuerX500Principal !== this.certificateDetails.certificate.subjectX500Principal) {\n this.crudService.get(this.certificateDetails.certificate.id, 'issuer').subscribe(res => {\n if (res) {\n this.issuerCertificateID = res.id\n }\n this.cdr.markForCheck();\n });\n }\n }\n\n downloadFile(evt: UIEvent): void {\n evt.preventDefault();\n this.crudService\n .getX509(this.certificateDetails.certificate.id)\n .subscribe(data => {\n const ds = new DownloadHelperService();\n const blob = new Blob([data]);\n ds.downloadFile(blob, 'zertifikat' + this.certificateDetails.certificate.id + '.der');\n });\n }\n}\n","
\n
\n
\n
\n Zertifikat ansehen\n
\n\n
\n
\n
\n \n
\n
{{ certificateDetails.certificate.id }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.certificate.serialNumber }} /\n {{ certificateDetails.certificate.serialNumberInHex }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.certificate.subjectX500Principal| principalName: false }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.certificate.issuerX500Principal| principalName: false }}
\n \n
\n\n
\n
\n \n
\n
{{ certificateDetails.certificate.validFrom }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.certificate.validTo }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.keyLength }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.thumbprintWithSHA1 }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.keyUsages }}
\n
\n\n
\n
\n \n
\n
{{ certificateDetails.extendedKeyUsages }}
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../../shared';\n\nimport { PipesModule } from '../../pipes/pipes.module';\nimport { CertificateService } from './crud.service';\nimport { CertificateFormComponent } from './certificate-form.component';\nimport { CertificateShowComponent } from './certificate-show.component';\nimport { CertificateSelectionListComponent } from './certificate-selection-list.component';\nimport { CertificateListComponent } from './certificate-list.component';\nimport { CertificateRoutingModule } from './certificate-routing.module';\n\nconst DIRECTIVES = [\n CertificateFormComponent,\n CertificateShowComponent,\n CertificateSelectionListComponent,\n CertificateListComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n PipesModule,\n CertificateRoutingModule\n ],\n providers: [\n CertificateService\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class CertificateCrudModule {\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CrudHelperService } from '@kdose/ng-crud';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { baseCrudUrlGetter } from '../../config-getter';\nimport { NotificationService } from '../../shared/notification.service';\nimport { BaseCrudService } from '../../shared/base-crud.service';\nimport { Certificate, CertificateDetails } from '.';\n\n@Injectable()\nexport class CertificateService extends BaseCrudService {\n\n constructor(helperService: CrudHelperService,\n notifyService: NotificationService,\n router: Router,\n http: HttpClient\n ) {\n super('certificates', helperService, notifyService, router, http);\n }\n\n /**\n * Speichern (create und update) eine Entität. Hier wird der Custom-Content-Type verwendet.\n * @param {any} entity Zu speichernde Entität.\n * @return {Rx.Observable} hot Observable\n */\n saveAtSpecialEndpoint(entity: any, endpoint: string): Observable {\n return this.post(entity, endpoint);\n }\n\n /**\n * Speichern eines noch nicht vorhandenen Zertifikates.\n * @param {any} entity Zu speichernde Entität.\n * @return {Observable} hot Observable\n */\n post(entity: any, endpoint: string): Observable {\n return from(baseCrudUrlGetter()).pipe(\n mergeMap(baseUrlAsync => {\n const headers = (new HttpHeaders()).set('X-KDO-NO-CONTENT-TYPE', '');\n return this.http.post(baseUrlAsync + this.endpoint + (endpoint ? '/' + endpoint : ''), entity, { headers })\n })\n );\n }\n\n /**\n * Holt die Details zu einem Certificate\n * @param id\n */\n getDetails(id: number): Observable {\n return this.get(id, 'details');\n }\n\n getX509(id: number): Observable {\n return from(baseCrudUrlGetter()).pipe(\n mergeMap(baseUrlAsync => this.http.get(`${baseUrlAsync}${this.endpoint}/${id}/x509`, {responseType: 'text'})));\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n templateUrl: './key-form.component.html'\n})\nexport class KeyFormComponent {}\n","
\n \n \n \n \n \n \n \n \n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\nimport { KeyFormComponent } from './key-form.component';\n\nconst keyRoutes: Routes = [{\n path: 'schluessel',\n component: KeyFormComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n}\n}];\n@NgModule({\n imports: [\n RouterModule.forChild(keyRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class KeyRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { TabViewModule } from 'primeng/tabview';\nimport { SharedModule } from '../shared';\n\nimport { PipesModule } from '../pipes/pipes.module';\nimport { KeyFormComponent } from './key-form.component';\nimport { KeyRoutingModule } from './key-routing.module';\nimport { CertificateCrudModule } from './certificate/certificate.module';\nimport { PrivateKeyCrudModule } from './private-key/private-key.module';\n\nconst DIRECTIVES = [\n KeyFormComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n TabViewModule,\n CertificateCrudModule,\n PrivateKeyCrudModule,\n PipesModule,\n KeyRoutingModule\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class KeyCrudModule {\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CrudEntity, CrudHelperService } from '@kdose/ng-crud';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { baseCrudUrlGetter } from '../../config-getter';\nimport { NotificationService } from '../../shared/notification.service';\nimport { BaseCrudService } from '../../shared/base-crud.service';\nimport { PrivateKey, PrivateKeyDetails } from './private-key';\n\n@Injectable()\nexport class PrivateKeyService extends BaseCrudService {\n\n constructor(helperService: CrudHelperService,\n notifyService: NotificationService,\n router: Router,\n http: HttpClient\n ) {\n super('private_keys', helperService, notifyService, router, http);\n }\n\n /**\n * Speichern (create und update) eine Entität. Hier wird der Custom-Content-Type verwendet.\n * @param {any} entity Zu speichernde Entität.\n * @param {any} id ID der zu speichernden Entität.\n * @return {Rx.Observable} hot Observable\n */\n saveAtSpecialEndpoint(entity: PrivateKey,endpoint: string): Observable {\n return this.post(entity, endpoint);\n }\n\n /**\n * Speichern eines noch nicht vorhandenen privaten Schlüssels.\n * @param {any} entity Zu speichernde Entität.\n * @return {Observable} hot Observable\n */\n post(entity: T, endpoint: string): Observable {\n return from(baseCrudUrlGetter()).pipe(\n mergeMap(baseUrlAsync => {\n let headers = new HttpHeaders();\n headers = headers.set('X-KDO-NO-CONTENT-TYPE', '');\n return this.http.post(baseUrlAsync + this.endpoint + (endpoint ? '/' + endpoint : ''), entity, { headers })\n })\n );\n }\n\n /**\n * Holt die Details zu einem privaten Schlüssel\n * @param id\n */\n getDetails(id: number): Observable {\n return this.get(id, 'details');\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from '../../shared/notification.service';\nimport { NextaSelectionBaseReactiveForm } from '../../shared/nexta-crud/nexta-selection-reactive-form';\nimport { NextaFileReader } from '../../shared/nexta-file-reader';\nimport { Data } from './../../shared/data';\nimport { PrivateKeyService } from './crud.service';\nimport { PrivateKey } from './private-key';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './private-key-form.component.html'\n})\nexport class PrivateKeyFormComponent extends NextaSelectionBaseReactiveForm {\n\n file: File;\n\n constructor(\n router: Router,\n private privateKeyService: PrivateKeyService,\n notify: NotificationService,\n route: ActivatedRoute,\n acrossPagesData: Data,\n cdr: ChangeDetectorRef) {\n super('edit', router, privateKeyService, notify, route, cdr, null, acrossPagesData);\n }\n\n initFormGroup() {\n const fb = new UntypedFormBuilder();\n this.form = fb.group({\n id: [''],\n file: ['', Validators.required],\n pinP12: [''],\n pinKey: [''],\n });\n }\n\n transform(data: any): any {\n const formData = new FormData();\n formData.append('file', this.file);\n formData.append('pinP12', data.pinP12);\n formData.append('pinKey', data.pinKey);\n return formData;\n }\n\n navigateToOnSubmitSuccess() {\n this.router.navigate(['/schluessel/private-schluessel', this.form.getRawValue().id]);\n }\n\n onFileSelected(event: any) {\n const file = event.target.files[0];\n this.file = file;\n const fileReader: NextaFileReader = new NextaFileReader(this.form, 'file');\n fileReader.readAsArrayBuffer(file);\n }\n\n /**\n * Besonderheit hier: Es wird an einem anderen Endpunkt gespeichert als normalerweise.\n */\n onSubmit() {\n this.beforeSubmit();\n\n this.form.updateValueAndValidity();\n\n if (!this.form.valid) {\n this.cdr.markForCheck();\n return;\n }\n\n const data = this.transform(this.form.value);\n\n // ID setzen, da diese sich nicht im Formular befindet\n if (this.route.snapshot.params['id'] !== undefined) {\n data.id = this.route.snapshot.params['id'];\n }\n\n this.privateKeyService.saveAtSpecialEndpoint(data, this.endpoint)\n .subscribe((response) => {\n if (response) {\n this.patchValue(response);\n }\n\n this.onSubmitSuccess(response);\n this.cdr.markForCheck();\n });\n }\n}\n","
\n
\n
\n
\n Privaten Schlüssel erstellen\n
\n\n
\n
\n \n
\n Datei auswählen\n \n
\n
{{ file.name }}
\n
\n\n \n \n \n\n \n \n \n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from '../../shared/notification.service';\nimport { Data } from './../../shared/data';\nimport { NextaSelectionBaseList } from './../../shared/nexta-crud/nexta-selection-base-list';\nimport { PrivateKeyService } from './crud.service';\nimport { PrivateKey } from './private-key';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-private-key-list',\n templateUrl: './private-key-list.component.html'\n})\nexport class PrivateKeyListComponent extends NextaSelectionBaseList implements OnInit {\n constructor(\n router: Router,\n privateKeyService: PrivateKeyService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef,\n acrossPagesData: Data,\n fb: UntypedFormBuilder\n ) {\n super('private-schluessel', router, privateKeyService, notificationService, route, acrossPagesData, 'private_keys', cdr, fb);\n }\n}\n","
\n
\n

Private Schlüssel - Liste Lädt...\n \n \n \n \n \n \n \n Neuen privaten Schlüssel anlegen\n \n \n \n

\n
\n\n
\n 0 || showFilter\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
ID\n Seriennummer (dez/hex)\n \n Antragssteller\n \n Aussteller\n \n Gültig von\n \n Gültig bis\n Aktionen
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ b.id }}\n {{ b.id }}\n \n {{ b.certificate.serialNumber }} / {{ b.certificate.serialNumberInHex }}\n \n
\n {{ entry }}\n
\n
\n
\n {{ entry }}\n
\n
\n {{ b.certificate.validFrom }}\n \n {{ b.certificate.validTo }}\n \n \n \n \n \n
\n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { PrivateKeyFormComponent } from './private-key-form.component';\nimport { PrivateKeyListComponent } from './private-key-list.component';\nimport { PrivateKeyShowComponent } from './private-key-show.component';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\n\nconst privateKeyRoutes: Routes = [\n {\n path: 'schluessel/private-schluessel',\n component: PrivateKeyListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'schluessel/private-schluessel/neu',\n component: PrivateKeyFormComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'schluessel/private-schluessel/:id',\n component: PrivateKeyShowComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n }\n];\n@NgModule({\n imports: [\n RouterModule.forChild(privateKeyRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class PrivateKeyRoutingModule { }\n","
\n
\n
\n
\n Privaten Schlüssel ansehen\n
\n
\n
\n
\n \n
\n
{{ privateKeyDetails.id }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.algorithm }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.certificate.serialNumber }} /\n {{ privateKeyDetails.certificateDetails.certificate.serialNumberInHex }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.certificate.subjectX500Principal| principalName: false }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.certificate.issuerX500Principal| principalName: false }}
\n \n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.certificate.validFrom }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.certificate.validTo }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.keyLength }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.thumbprintWithSHA1 }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.keyUsages }}
\n
\n\n
\n
\n \n
\n
{{ privateKeyDetails.certificateDetails.extendedKeyUsages }}
\n
\n
\n
\n
\n
\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CertificateService } from '../certificate/crud.service';\nimport { NotificationService } from '../../shared/notification.service';\nimport { PrivateKeyService } from './crud.service';\nimport { PrivateKeyDetails } from './private-key';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./private-key-show.component.scss'],\n templateUrl: './private-key-show.component.html'\n})\nexport class PrivateKeyShowComponent implements OnInit {\n\n public issuerCertificateID: string;\n public privateKeyDetails: PrivateKeyDetails;\n\n constructor(private crudService: PrivateKeyService,\n private cerificateService: CertificateService,\n private notify: NotificationService,\n private route: ActivatedRoute,\n private cdr: ChangeDetectorRef) {\n }\n\n /**\n * Details-Methode muss benutzt werden\n */\n ngOnInit() {\n if (typeof this.route.snapshot.params['id'] !== 'undefined') {\n this.crudService.getDetails(+this.route.snapshot.params['id'])\n .subscribe((res) => {\n this.privateKeyDetails = res;\n this.onDataLoaded();\n this.cdr.markForCheck();\n }, (error) => {\n if (error.status === 404) {\n window.history.back();\n this.notify.notify('Element wurde nicht gefunden.', 'warning');\n }\n });\n }\n }\n\n onDataLoaded() {\n if (this.privateKeyDetails.certificateDetails.certificate.issuerX500Principal\n !== this.privateKeyDetails.certificateDetails.certificate.subjectX500Principal) {\n this.cerificateService\n .get(this.privateKeyDetails.certificateDetails.certificate.id, 'issuer')\n .subscribe(res => {\n if (res) {\n this.issuerCertificateID = res.id;\n this.cdr.markForCheck();\n }\n });\n }\n }\n}\n","import { Data } from './../../shared/data';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, SkipSelf } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, FormGroupDirective, ControlContainer } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { NextaView } from './../../shared/nexta-crud/nexta-view';\nimport { componentParentFactory } from '../../shared/component-parent.factory';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-private-key-view',\n templateUrl: './private-key-view.component.html',\n viewProviders: [{\n provide: ControlContainer,\n useFactory: componentParentFactory,\n deps: [PrivateKeyViewComponent]\n }]\n})\nexport class PrivateKeyViewComponent extends NextaView {\n certificate: UntypedFormGroup;\n\n constructor(\n @Host() @SkipSelf() parent: ControlContainer,\n form: FormGroupDirective,\n router: Router,\n acrossPagesData: Data,\n cdr: ChangeDetectorRef\n ) {\n super(parent, form, router, acrossPagesData, '/schluessel/private-schluessel/neu', cdr);\n }\n\n initFormGroup() {\n const fb = new UntypedFormBuilder();\n this.certificate = fb.group({\n id: [''],\n encoded: [''],\n serialNumber: [''],\n serialNumberInHex: [''],\n subjectX500Principal: [''],\n issuerX500Principal: [''],\n validFrom: [''],\n validTo: ['']\n });\n this.group = fb.group({\n id: [''],\n hash: [''],\n certificate: this.certificate\n });\n }\n}\n","
\n
\n
\n {{title}}\n

\n \n \n \n \n \n \n \n

\n
\n
\n
\n \n

{{ certificate.get('serialNumber').value }} / {{ certificate.get('serialNumberInHex').value }}

\n
\n\n \n

{{ certificate.get('subjectX500Principal').value | principalName: true }}

\n
\n\n \n

{{ certificate.get('issuerX500Principal').value | principalName: true }}

\n
\n \n

{{ certificate.get('validFrom').value }}

\n
\n \n

{{ certificate.get('validTo').value }}

\n
\n
\n Dieses Feld ist erforderlich.\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../../shared';\n\nimport { PipesModule } from '../../pipes/pipes.module';\nimport { PrivateKeyService } from './crud.service';\nimport { PrivateKeyFormComponent } from './private-key-form.component';\nimport { PrivateKeyShowComponent } from './private-key-show.component';\nimport { PrivateKeyListComponent } from './private-key-list.component';\nimport { PrivateKeyViewComponent } from './private-key-view.component';\nimport { PrivateKeyRoutingModule } from './private-key-routing.module';\n\nconst DIRECTIVES = [\n PrivateKeyFormComponent,\n PrivateKeyShowComponent,\n PrivateKeyListComponent,\n PrivateKeyViewComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n PipesModule,\n PrivateKeyRoutingModule\n ],\n providers: [\n PrivateKeyService\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class PrivateKeyCrudModule {\n}\n","import { NgModule } from '@angular/core';\n\nimport { PrincipalNamePipe } from './principalNamePipe';\nimport { StringifyPipe } from './stringify';\n\nconst DIRECTIVES = [\n StringifyPipe,\n PrincipalNamePipe\n];\n\n@NgModule({\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class PipesModule {\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'principalName'\n})\nexport class PrincipalNamePipe implements PipeTransform {\n transform(value: string, onlyCn: boolean) {\n if (onlyCn) {\n const newValue = value.split(',');\n return newValue.filter(v => v.startsWith('CN'));\n } else {\n const regex = /,/gi;\n const newValue = value.replace(regex, ', ');\n return [newValue];\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'stringify'\n})\nexport class StringifyPipe implements PipeTransform {\n transform(value: string) {\n return JSON.stringify(value);\n }\n}\n","import { Component, Input, OnInit, Host, SkipSelf, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { FormGroupDirective, UntypedFormGroup, ControlContainer, UntypedFormBuilder } from '@angular/forms';\nimport { DateTime } from 'luxon';\nimport { SelectItem } from 'primeng/api';\nimport { componentParentFactory } from '../shared/component-parent.factory';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-search-column',\n styleUrls: ['./search-column.component.scss'],\n templateUrl: './search-column.component.html',\n viewProviders: [{\n provide: ControlContainer,\n useFactory: componentParentFactory,\n deps: [SearchColumnComponent]\n }]\n})\n/**\n * Wrapper für Eingabefeld in der Filtermaske\n *\n * Beispielverwendung:\n *\n * \n *\n */\nexport class SearchColumnComponent implements OnInit {\n @Input() placeholderValue: string;\n @Input() formGroupNameValue: string;\n @Input() public data: any;\n @Input() elementType = 'string';\n\n availableFilterTypes: SelectItem[] = [];\n yearRange: string;\n\n readonly booleanSelectItems: SelectItem[] = [\n {value: '', label: ''},\n {value: 'Ja', label: 'Ja'},\n {value: 'Nein', label: 'Nein'},\n ];\n\n group: UntypedFormGroup;\n\n constructor(@Host() @SkipSelf() public parent: ControlContainer, private form: FormGroupDirective, private cdr: ChangeDetectorRef) {\n const fb = new UntypedFormBuilder();\n this.group = fb.group({\n filterType: ['='],\n filterValue: ['']\n });\n this.calculateYearRange();\n }\n\n ngOnInit() {\n if (!this.form.form.get(this.formGroupNameValue)) {\n this.form.form.addControl(this.formGroupNameValue, this.group);\n }\n if (this.data) {\n let concatAttributeKey = '';\n let concatAttribute = '';\n // Wert des Eingabefeldes kann serverseitig aus mehreren Attributen bestehen bspw. bei authorityId aus praefix und kennung\n for (const i of this.data as Array) {\n // Holt sich die kompletten Feldnamen und schneidet das letzte Stück ab, da das zusammengesetzte Attribut diesen Teil\n // später nicht hat (bswp. bei authorityId.praefix wird das praefix abgeschnitten)\n const attributeName = (i.property as string);\n const concatAllButNotLast = attributeName.slice(0, attributeName.lastIndexOf('.'));\n // Zusammengesetztes Attribut\n if (concatAllButNotLast === this.formGroupNameValue) {\n // Fall für die Behördenkennung\n if (concatAllButNotLast.endsWith('authorityId') || concatAllButNotLast.endsWith('sender') ||\n concatAllButNotLast.endsWith('receiver')) {\n concatAttributeKey = concatAllButNotLast;\n // Wird durch ein : getrennt\n concatAttribute = concatAttribute.concat(concatAttribute.length > 0 ? ':' + i.value : i.value);\n this.form.form.get([concatAllButNotLast]).get('filterType').patchValue(i.operator);\n // Fall für Standard\n } else if (concatAllButNotLast.endsWith('standard')) {\n concatAttributeKey = concatAllButNotLast;\n // Wird durch ein Leerzeichen getrennt\n concatAttribute = concatAttribute.concat(concatAttribute.length > 0 ? ' ' + i.value : i.value);\n this.form.form.get([concatAttributeKey]).get('filterType').patchValue(i.operator);\n } else {\n // Alle anderen\n this.form.form.get(i.property).get('filterValue').patchValue(i.value);\n this.form.form.get(i.property).get('filterType').patchValue(i.operator);\n }\n // Einfaches Attribut, welches nicht aus mehreren zusammengesetzt ist.\n } else if (i.property === this.formGroupNameValue) {\n if (this.elementType === 'date') {\n if ( i.filterValue instanceof Date ) {\n this.form.form.get([i.property]).get('filterValue').patchValue(i.filterValue);\n } else {\n this.form.form.get([i.property]).get('filterValue').patchValue(DateTime.fromFormat(i.filterValue, 'dd.MM.yyyy HH:mm:ss').toJSDate());\n }\n } else {\n this.form.form.get([i.property]).get('filterValue').patchValue(i.value);\n }\n this.form.form.get([i.property]).get('filterType').patchValue(i.operator);\n }\n }\n if (concatAttribute) {\n this.form.form.get([concatAttributeKey]).get('filterValue').patchValue(concatAttribute);\n }\n }\n if (this.elementType === 'nn') {\n this.group.controls.filterType.patchValue('nn');\n }\n this.availableFilterTypes = this.getAvailableFilterTypes();\n this.cdr.markForCheck();\n }\n\n private getAvailableFilterTypes(): SelectItem[] {\n const result: SelectItem[] = [];\n if (this.elementType === 'nn') {\n result.push( {value: 'nn', label: 'Not null'} );\n } else {\n result.push( {value: '=', label: '=', title: 'Gleich'} );\n }\n\n if (this.elementType === 'uri' || this.elementType === 'string' ) {\n result.push( {value: ':', label: ':', title: 'Enthält'} );\n }\n\n if (this.elementType === 'number' || this.elementType === 'date' ) {\n result.push( {value: '<', label: '<', title: 'Kleiner'} );\n result.push( {value: '>', label: '>', title: 'Größer'} );\n }\n return result;\n }\n\n private calculateYearRange(): void {\n const today = DateTime.now();\n const start = today.minus( { years: 5 } ).toFormat('yyyy');\n const end = today.plus( { years: 15 }).toFormat('yyyy');\n this.yearRange = `${start}:${end}`;\n }\n}\n","
\n\n 1\"\n class=\"filter-type p-inputgroup-addon\" formControlName=\"filterType\" [options]=\"availableFilterTypes\">\n {{availableFilterTypes[0].label}}\n\n \n\n \n\n \n\n \n \n
\n","import { from as observableFrom, Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { NotificationService } from './../shared/notification.service';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { CrudEntity, CrudHelperService, FilterOptions, PagedServerResponse } from '@kdose/ng-crud';\nimport { baseCrudUrlGetter } from '../config-getter';\n\n/**\n * Für ältere Anwendung steht dieser Service bereit. Dieser kann in die eigene Anwendung kopiert\n * werden und ersetzt den bisherigen BaseCrudService aus import { BaseCrudEntity } from '../../shared/crud/crud.entity';\n , damit nicht jeder Service auf den\n * CrudHelperService umgestellt werden muss. Dieser Service verwendet den CrudHelperService.\n *\n * Folgende Umstellung sind dennoch an den Services notwendig:\n * - CrudHelperService muss als zweiter Parameter übergeben werden\n * - Http muss durch HttpClient ersetzt werden.\n * - Die Parameter oAuthService und config entfallen.\n * - `.map(res => res)` muss entfernt werden, da standardmäßig JSON geliefert wird.\n * - Der verwendete NotificationService muss `LegacyNotificationService` implementieren.\n */\nexport abstract class BaseCrudService {\n\n sort: Object;\n filter: Array;\n size = 10;\n page = 1;\n\n constructor(\n protected endpoint: string,\n protected crudHelperService: CrudHelperService,\n protected notifyService: NotificationService,\n protected router: Router,\n protected http: HttpClient\n ) {\n\n }\n\n /**\n * Standard-GET-Request an url mit anschließender Fehlerbehandlung.\n * @param url GET-URL\n * @param appendToUrl\n */\n protected defaultShareableGET(url: string, appendToUrl = '', options?): Observable {\n if (appendToUrl) {\n url += '/' + appendToUrl;\n }\n\n return observableFrom(baseCrudUrlGetter()).pipe(\n mergeMap(baseUrlAsync => this.http.get(baseUrlAsync + url), options));\n }\n\n /**\n * Laden eines einzelnen Objekts.\n * @param {number} id ID\n * @return {Rx.Observable} hot Observable\n */\n get(id: number, appendToUrl = ''): Observable {\n return this.defaultShareableGET(this.endpoint + '/' + id, appendToUrl);\n }\n\n /**\n * Laden aller Objekte.\n * @param options {\n page: number,\n size: number,\n filter: Array,\n sort: Object\n }\n * @return hot Observable\n */\n getAll(options: FilterOptions = {}, appendToUrl = '', suffixToUrl = ''): Observable> {\n if (suffixToUrl) {\n suffixToUrl = suffixToUrl + '/';\n }\n\n if (appendToUrl) {\n appendToUrl = '/' + appendToUrl;\n }\n\n if (options?.sort && (options.sort as any).active && (options.sort as any).direction) {\n options.sort = encodeURIComponent(JSON.stringify(options.sort));\n }\n\n return this.crudHelperService.getAll(suffixToUrl + this.endpoint + appendToUrl, options);\n }\n\n /**\n * Löschen eines Objekts. Hier wird der Custom-Content-Type verwendet.\n * @param entity Zu löschende Entität.\n * @return {Rx.Observable} hot Observable\n */\n delete(entity: T): Observable> {\n return this.crudHelperService.delete(this.endpoint + '/' + entity.id);\n }\n\n /**\n * Speichern (create und update) eine Entität. Hier wird der Custom-Content-Type verwendet.\n * @param entity Zu speichernde Entität.\n * @return {Rx.Observable} hot Observable\n */\n save(entity: T, clean = true): Observable {\n return this.crudHelperService.save(this.endpoint, entity, undefined, clean);\n }\n\n onTokenExpired(): void {\n this.notifyService.notify(\n 'Ihre Sitzung ist abgelaufen.',\n 'error'\n );\n localStorage.removeItem('access_token');\n this.router.navigate(['/login']);\n }\n}\n","export function componentParentFactory(component) {\n return component.parent;\n};\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class Data {\n public storage: any[] = [];\n\n getLatest() {\n return this.storage[this.storage.length - 1];\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { UntypedFormGroup, FormGroupDirective, AbstractControl } from '@angular/forms';\n\n/**\n * Komponente zum Anzeigen von Formularfehlern als Badge.\n * Die zu prüfende group kann eine einzelne sein - diese wird dann als\n * String übergeben. Es können aber auch mehrere Gruppen geprüft werden -\n * diese sind dann als Array zu übergeben:\n *\n * String:\n * \n *\n * Array\n * \n *\n * TODO: Unittests und Auslagern in Bundle\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-error-badge',\n template: `\n 0\" class=\"badge\">\n {{ errorCnt }}\n \n `\n})\nexport class ErrorBadgeComponent {\n @Input() group: string | Array;\n errorCnt = 0;\n changeSubscription;\n\n constructor(public form: FormGroupDirective, private cdr: ChangeDetectorRef) {\n form.ngSubmit.subscribe(() => {\n // Subscription speichern, um diese nicht bei jedem Submit\n // zu registrieren.\n if (!this.changeSubscription) {\n this.update();\n this.changeSubscription = form.control.valueChanges.subscribe(() => this.update());\n }\n });\n }\n\n /**\n * Aktualisieren der Fehleranzahl.\n */\n update(): void {\n this.errorCnt = 0;\n\n // prüfen, ob String oder Array\n if (typeof this.group === 'string') {\n this.errorCnt = this.countErrors(\n this.form.control.controls[this.group]\n );\n } else {\n for (const group of this.group) {\n this.errorCnt += this.countErrors(\n this.form.control.controls[group]\n );\n }\n }\n this.cdr.markForCheck();\n }\n\n /**\n * Zählt die Fehler in der FormGroup und gibt diese zurück.\n *\n * @param {FormGroup} group Aktuell zu prüfende Gruppe\n * @return {number} Fehleranzahl in group\n */\n private countErrors(group: UntypedFormGroup): number {\n let cnt = 0;\n\n if (!group) {\n return cnt;\n }\n\n for (const controlName of Object.keys(group.controls)) {\n const control: AbstractControl = group.get(controlName);\n\n if (control instanceof UntypedFormGroup) {\n cnt += this.countErrors(control);\n } else if (!control.disabled && !control.valid) {\n cnt++;\n }\n }\n\n return cnt;\n }\n}\n","import { Component, Input, OnChanges, AfterContentInit, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { FormGroupDirective, UntypedFormGroup } from '@angular/forms';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-form-group',\n template: `\n
\n
\n \n
\n \n \n\n Dieses Feld ist erforderlich.\n \n Die E-Mail-Adresse ist ungültig.\n \n Die Zahl ist ungültig.\n {{ errorText }}\n
\n \n `\n})\n/**\n * Wrapper für Twitter-Bootstraps form-group.\n * Es erzeugt ebenfalls das Label für das Eingabefeld und\n * Standardfehlermeldungen für z. B. required, maxlength etc.\n *\n * Beispielverwendung:\n *\n * \n * \n * \n *\n */\nexport class FormGroupComponent implements OnChanges, AfterContentInit {\n @Input() control: string;\n @Input() group: UntypedFormGroup;\n @Input() selectionChanged: boolean;\n @Input() label: string;\n\n // Vergrößert das Label von col-sm-3 auf col-sm-5\n @Input() biggerLabel = false;\n // Das Label wird über dem Input-Feld platziert\n @Input() vertical = false;\n\n @Input() errorText: string;\n\n errornous: boolean;\n errRequired: boolean;\n customError: boolean;\n invalidEmailAddress: boolean;\n invalidNumber: boolean;\n pattern: boolean;\n\n constructor(public form: FormGroupDirective, private cdr: ChangeDetectorRef) {\n form.ngSubmit.subscribe(() => this.updateValidity());\n }\n\n get hasLabel(): boolean {\n return typeof this.label !== 'undefined';\n }\n\n get hasControl(): boolean {\n return typeof this.control !== 'undefined' &&\n typeof this.group !== 'undefined' &&\n typeof this.group.controls !== 'undefined' &&\n this.group.controls.hasOwnProperty(this.control);\n }\n\n ngAfterContentInit() {\n this.updateValidity();\n\n if (this.hasControl) {\n this.group.get(this.control).valueChanges.subscribe(() => this.updateValidity());\n }\n }\n\n ngOnChanges() {\n this.updateValidity();\n }\n\n hasError(error = ''): boolean {\n return this.hasControl && (\n (this.form.submitted || this.selectionChanged) &&\n (error ? this.group.get(this.control).hasError(error) :\n !this.group.get(this.control).valid)\n );\n }\n\n private updateValidity() {\n this.errornous = this.hasError();\n this.errRequired = this.hasError('required');\n this.customError = this.hasError('customError');\n this.invalidEmailAddress = this.hasError('invalidEmailAddress');\n this.invalidNumber = this.hasError('invalidNumber');\n this.pattern = this.hasError('pattern');\n this.cdr.markForCheck();\n }\n}\n","import { Location } from '@angular/common';\nimport {\n HttpErrorResponse, HttpHandler, HttpHeaderResponse, HttpInterceptor,\n HttpProgressEvent, HttpRequest, HttpResponse, HttpSentEvent, HttpUserEvent\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { NotificationService } from '../shared/notification.service';\n\nexport const SKIP_HTTP_ERRORS = 'SKIP_HTTP_ERRORS';\n\n/**\n * `HttpInterceptor` für das Fehlerhandling.\n */\n@Injectable()\nexport class HttpErrorInterceptorService implements HttpInterceptor {\n\n constructor(\n private notify: NotificationService,\n private router: Router,\n private location: Location\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable | HttpUserEvent> {\n\n const skipHttpErrors: number[] = [];\n const shouldSkipErrors = request.headers.has(SKIP_HTTP_ERRORS);\n\n if (shouldSkipErrors) {\n const skipErrors = request.headers.getAll(SKIP_HTTP_ERRORS);\n skipErrors.forEach((skip) => {\n const status = parseInt(skip, 10);\n if (!isNaN(status)) {\n skipHttpErrors.push(status)\n }\n });\n request = request.clone({ headers: request.headers.delete(SKIP_HTTP_ERRORS)});\n }\n\n return next.handle(request).pipe(\n catchError(err => {\n if (!err) {\n return;\n }\n\n if (!(err instanceof HttpErrorResponse)) {\n this.notify.notify('Es ist ein unbekannter Fehler aufgetreten.', 'error');\n return throwError(err);\n }\n\n const errorMessage = (err).error?.message ?? err.message ?? '';\n\n const urlTree = this.router.createUrlTree(['monitoring'], { fragment: 'logfile' });\n const targetUrl = this.location.prepareExternalUrl(this.router.serializeUrl(urlTree));\n\n if (skipHttpErrors.includes(err.status)) {\n return throwError(err);\n }\n\n switch ((err).status) {\n case 400:\n this.notify.notify(`Die Anfrage war ungültig. Klicken für Details. ${errorMessage}.`, 'error', targetUrl);\n break;\n case 401:\n this.notify.notify('Ihre Sitzung ist abgelaufen.', 'error');\n this.router.navigate(['/login']);\n break;\n case 403:\n this.notify.notify(`Sie besitzen nicht die notwendigen Rechte. ${errorMessage}.`, 'error');\n break;\n case 404:\n this.notify.notify(`Das Ziel wurde nicht gefunden. ${errorMessage}.`, 'error');\n window.history.back();\n break;\n case 409:\n console.log(err);\n this.notify.notify(`${err.error.error}. ${err.error.message} - Klicken für Details`, 'error', targetUrl);\n break;\n case 500:\n this.notify.notify(`Es ist ein interner Serverfehler aufgetreten. Klicken für Details. ${errorMessage}.`, 'error', targetUrl);\n break;\n default:\n this.notify.notify(`Es ist ein unbekannter Fehler aufgetreten. Klicken für Details. ${errorMessage}.`, 'error', targetUrl);\n }\n\n return throwError(err);\n })\n );\n }\n}\n","import { HTTP_OPTIONS, HttpOptions } from './http-options.token';\nimport { Injectable, Inject } from '@angular/core';\nimport { HttpInterceptor, HttpHandler } from '@angular/common/http';\nimport { HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { HttpSentEvent } from '@angular/common/http';\nimport { HttpHeaderResponse } from '@angular/common/http';\nimport { HttpProgressEvent } from '@angular/common/http';\nimport { HttpResponse } from '@angular/common/http';\nimport { HttpUserEvent } from '@angular/common/http';\n\n/**\n * `HttpInterceptor` für das Anhängen des eigenen ContentTypes an einen HTTP-Request\n * mit der Klasse `HttpClient`.\n */\n@Injectable()\nexport class HttpInterceptorService implements HttpInterceptor {\n contentType: string;\n\n constructor(@Inject(HTTP_OPTIONS) config: HttpOptions) {\n this.contentType = config.contentType;\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable | HttpUserEvent> {\n // entferne Custom-Header, damit dieser keine CORS-Fehler verursacht\n if (request.headers.has('X-KDO-NO-AUTH')) {\n request = request.clone({\n headers: request.headers.delete('X-KDO-NO-AUTH')\n });\n }\n\n if (request.headers.has('X-KDO-NO-CONTENT-TYPE')) {\n request = request.clone({\n headers: request.headers.delete('X-KDO-NO-CONTENT-TYPE')\n });\n return next.handle(request);\n }\n\n request = request.clone({\n setHeaders: {\n 'Content-Type': this.contentType,\n Accept: '*/*'\n }\n });\n\n return next.handle(request);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const HTTP_OPTIONS = new InjectionToken('HTTP_OPTIONS');\n\nexport interface HttpOptions {\n contentType?: string;\n}\n","export * from './shared.module';\n","import { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Host, Input, Output, SkipSelf, ViewChild } from '@angular/core';\nimport { ControlContainer, UntypedFormGroup, FormGroupDirective } from '@angular/forms';\nimport { ModalComponent } from './modal/modal.component';\nimport { CrudEntity } from '@kdose/ng-crud';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-modal-select',\n template: `\n \n \n \n \n `\n})\n/**\n * Verwenden eines modalen Dialogs für Objektauswahl.\n *\n * Benötigt ein ContentChild #selectComponent, das einen EventEmitter\n * \"selected\" hat, bei dessen Aktivierung das hinterlegte Model und\n * Control aktualisiert wird.\n *\n * Beispielverwendung:\n * \n * \n * \n */\nexport class ModalSelectComponent implements AfterContentInit {\n @Input() controlName: string;\n @Input() groupName: string[];\n @Input() title: string;\n @Output() readonly selected = new EventEmitter();\n\n @ViewChild('modal', { static: true })\n public modal: ModalComponent;\n\n @ContentChild('selectComponent', { static: true })\n public selectComponent;\n\n constructor( @Host() @SkipSelf() public parent: ControlContainer, public form: FormGroupDirective, private cdr: ChangeDetectorRef) {\n }\n\n ngAfterContentInit() {\n if (!this.selectComponent) {\n throw Error('Missing #selectComponent');\n }\n\n if (!this.selectComponent.selected) {\n throw Error('Missing selected EventEmitter in #selectComponent');\n }\n\n this.selectComponent.selected.subscribe((value) => {\n this.updateModel(value);\n this.modal.hide();\n this.cdr.markForCheck();\n });\n }\n\n showModal(event): void {\n event.preventDefault();\n this.modal.show();\n this.cdr.markForCheck();\n }\n\n /**\n * Event-Listener für das Auswählen einer Entität.\n */\n private updateModel(model: T): void {\n if (this.groupName) {\n (this.form.form as UntypedFormGroup).get(this.groupName).reset();\n (this.form.form as UntypedFormGroup).get(this.groupName).patchValue(model);\n (this.form.form as UntypedFormGroup).get(this.groupName).markAsDirty();\n } else if (this.controlName) {\n (this.form.form as UntypedFormGroup).get(this.controlName).reset();\n (this.form.form as UntypedFormGroup).get(this.controlName).setValue(model[this.controlName]);\n (this.form.form as UntypedFormGroup).get(this.controlName).markAsDirty();\n }\n this.selected.emit(model);\n this.cdr.markForCheck();\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\n\n/**\n * The possible reasons a modal has been closed.\n */\nexport enum ModalAction { POSITIVE, CANCEL }\n/**\n * Models the result of closing a modal dialog.\n */\nexport interface ModalResult {\n action: ModalAction;\n}\n\n/**\n * Grundaufbau: https://github.com/valor-software/ng2-bootstrap/issues/29#issuecomment-167824739\n *\n * Zeigt einen modalen Bootstrap-Dialog.\n * Den Inhalt direkt als Content im Modal-Tag verwenden:\n * \n * Mein Inhalt\n * \n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-modal',\n styleUrls: ['./modal.component.scss'],\n templateUrl: './modal.component.html'\n})\nexport class ModalComponent implements OnInit {\n\n @Input() title: string;\n @Input() cancelLabel = 'Abbrechen';\n @Input() positiveLabel = 'OK';\n @Input() confirm = true;\n @Input() huge = true;\n\n /**\n * Fires an event when the modal is closed. The argument indicated how it was closed.\n * @type {EventEmitter}\n */\n @Output() readonly closed = new EventEmitter();\n /**\n * Fires an event when the modal is ready with a pointer to the modal.\n * @type {EventEmitter}\n */\n @Output() readonly loaded = new EventEmitter();\n\n showModal = false;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.loaded.next(this);\n this.cdr.markForCheck();\n }\n\n /**\n * Anzeigen des Modals.\n */\n public show(): void {\n this.showModal = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Ausblenden des Modals.\n */\n public hide(): void {\n this.showModal = false;\n this.cdr.markForCheck();\n }\n\n positiveAction() {\n this.closed.next({ action: ModalAction.POSITIVE });\n this.hide();\n }\n\n cancelAction() {\n this.closed.next({ action: ModalAction.CANCEL });\n this.hide();\n }\n}\n\n\n","
\n
\n
\n
\n
\n

\n {{ title }}\n

\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { baseUrlGetter } from '../../config-getter';\nimport { MenuItem } from 'primeng/api';\nimport { AuthenticationService } from '@kdose/ng-auth';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-navbar',\n styleUrls: ['./navbar.component.scss'],\n templateUrl: './navbar.component.html'\n})\nexport class NavbarComponent {\n isLoggedIn = false;\n username = '';\n version = '';\n\n @Output() public readonly toggleSidebar = new EventEmitter();\n\n readonly items: MenuItem[] = [{\n label: 'Logout',\n command: () => { this.logout(); }\n }];\n\n constructor(\n private auth: AuthenticationService,\n private cdr: ChangeDetectorRef,\n private http: HttpClient,\n private router: Router\n ) {\n this.auth.userData.subscribe((userData) => {\n this.isLoggedIn = !!userData;\n this.username = userData?.username ?? '';\n this.cdr.markForCheck();\n });\n\n if (environment.production) {\n baseUrlGetter()\n .then((baseUrl) => {\n const headers = new HttpHeaders({\n 'X-KDO-NO-AUTH': ''\n });\n const url = this.ensureEndsWith(this.merge(baseUrl, this.getBase()), '/') + 'version';\n const request = this.http.get(url, { responseType: 'text', headers });\n return firstValueFrom(request);\n }).then((version) => {\n this.version = version;\n this.cdr.markForCheck();\n });\n } else {\n this.version = 'dev-local';\n this.cdr.markForCheck();\n }\n }\n\n private ensureEndsWith(value: string, endsWith: string): string {\n return value.endsWith(endsWith) ? value : value + endsWith;\n }\n\n /**\n * Kombiniert zwei Strings, wenn der Ende von String 1 dem Anfang von String 2 entspricht.\n * Bspw. wird aus 'url.de/nexta/' und '/nexta/client/' der String 'url.de/nexta/client/'.\n * NEXTA-1110\n */\n private merge(string1, string2): string {\n let start = 0\n for (let i = 0; i < string1.length; i++) {\n if (!string2.startsWith(string1.substr(start, string1.length))) {\n start += 1;\n } else {\n break;\n }\n }\n return string1.substr(0, start) + string2\n }\n\n private getBase() {\n let href = '';\n const base = document.getElementsByTagName('base');\n if (base.length > 0) {\n href = base[0].getAttribute('href').substring(1);\n }\n return href;\n }\n\n private logout() {\n this.auth.logout();\n this.router.navigateByUrl('/login');\n }\n}\n","
\n
\n \n\n \n
\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-base-list-info',\n styles: [`\n :host ::ng-deep p-dialog {\n text-align: initial;\n }\n `],\n template: `\n \n \n \n Es bestehen folgende Filtermöglichkeiten:\n \n
    \n
  • = Das Ergebnis muss exakt dem eingegebenen Wert entsprechen.
  • \n
  • : Das Ergebnis muss den eingegebenen Wert enthalten. Gilt nur für Texte und URIs.
  • \n
  • < Das Ergebnis ist kleiner als der eingegebene Wert. Gilt nur für Zahlen und Datumsangaben.
  • \n
  • > Das Ergebnis ist größer als der eingegebene Wert. Gilt nur für Zahlen und Datumsangaben.
  • \n
\n \n \n \n \n `\n})\nexport class BaseListInfoComponent {\n get showInfoText() {\n return this._showInfoText;\n }\n\n set showInfoText(value: boolean) {\n this._showInfoText = value;\n this.cdr.markForCheck();\n }\n\n private _showInfoText = false;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { BaseListInfoComponent } from './base-list-info.component';\nimport { NextaCanDeactivateCrudForm } from './nexta-can-deactivate.guard';\n\n@NgModule({\n imports: [\n DialogModule\n ],\n declarations: [\n BaseListInfoComponent\n ],\n exports: [\n BaseListInfoComponent\n ]\n})\nexport class NextaCrudModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: NextaCrudModule,\n providers: [\n NextaCanDeactivateCrudForm\n ]\n }\n }\n}\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { NotificationService } from '../../shared/notification.service';\nimport { BaseCrudService } from '../base-crud.service';\nimport { OnInit, Directive, ChangeDetectorRef } from '@angular/core';\nimport { CrudEntity, Filter, FilterOperator, FilterOptions, PagedServerResponse } from '@kdose/ng-crud';\nimport { DateTime } from 'luxon';\n\n/**\n * Basis-Listenkomponente\n */\n@Directive()\nexport class NextaBaseList implements OnInit {\n\n entities: T[] = [];\n totalsize: number;\n pages: Array<{ page: number, active: boolean }>;\n loading = false;\n sort: { active: string, direction: 'asc' | 'desc' };\n filter: Filter[] = [];\n page = 1;\n size = 10;\n\n constructor(\n protected routeName: string,\n protected router: Router,\n protected crudService: BaseCrudService,\n protected notificationService: NotificationService,\n protected route: ActivatedRoute,\n protected listName: string,\n protected cdr: ChangeDetectorRef,\n protected persistStateInUrl = true\n ) {\n }\n\n public ngOnInit() {\n this.route.params.subscribe(params => this.handleParamsChange(params));\n }\n\n handlePageChange(page: { page: number, rows: number }): void {\n if (page.rows === this.size && page.page === this.page - 1) {\n return;\n }\n this.size = page.rows;\n localStorage.setItem('listSizes', this.size.toString(10))\n this.page = page.page + 1;\n this.loadEntities();\n }\n\n /**\n * Listenstatus aus URL entnehmen.\n */\n protected handleParamsChange(params): void {\n if (!this.persistStateInUrl) {\n return;\n }\n\n this.page = parseInt(params.page, 10) || 1;\n this.sort = params.sort\n ? (JSON.parse(decodeURIComponent(params.sort)) || null)\n : null;\n this.size = parseInt(params.size, 10) || 10;\n this.filter = params.filter\n ? (JSON.parse(decodeURIComponent(params.filter)) || [])\n : [];\n\n this.loadEntities(true);\n }\n\n /**\n * Listenstatus zum Persistieren in URL vorbereiten.\n * Nur die Objekte persistieren, die geändert wurden.\n * @return {Object} Objekt für Router.navigate\n */\n protected encodeStateForUrl(): Object {\n const stateObj = {};\n if (this.page > 1) {\n stateObj['page'] = this.page;\n }\n\n if (this.sort && 'active' in this.sort) {\n stateObj['sort'] = encodeURIComponent(JSON.stringify(this.sort));\n }\n\n if (this.size > 10) {\n stateObj['size'] = this.size;\n }\n\n if (this.filter.length > 0) {\n stateObj['filter'] = encodeURIComponent(JSON.stringify(this.filter));\n }\n\n return stateObj;\n }\n\n /**\n * Laden der Entitäten mittels des CrudService.\n */\n protected loadEntities(skipUrlPersisting = false): void {\n if (!(this.page >= 1)) {\n this.page = 1;\n }\n\n // Listenstatus in URL persistieren\n if (this.persistStateInUrl && !skipUrlPersisting) {\n const encodedState = this.encodeStateForUrl();\n this.router.navigate(['/' + this.routeName, encodedState]);\n }\n\n this.loading = true;\n\n this.doRequest({\n page: this.page - 1,\n size: this.size,\n sort: this.sort ? encodeURIComponent(JSON.stringify(this.sort)) : undefined,\n filter: this.filter\n }).subscribe((res) => {\n this.entities = res.content;\n this.totalsize = res.totalElements;\n this.loading = false;\n\n if (this.entities === undefined) {\n this.entities = [];\n }\n this.cdr.markForCheck();\n });\n }\n\n protected doRequest(options?: FilterOptions): Observable> {\n return this.crudService.getAll(options);\n }\n\n /**\n * Filter hinzufügen\n * @param {string} property Zu filterndes Feld\n * @param {string} value Wert\n * @param {string} operator <,>,=\n * @param {boolean} overwrite Überschreiben des Filters (default: false)\n * @param {boolean} reloadAutomatically Aufrufen von loadEntities() (default: true)\n */\n addFilter(\n property: string,\n value: string | Date | DateTime,\n operator: FilterOperator,\n overwrite = false,\n reloadAutomatically = true\n ): void {\n let add = true;\n\n if (value instanceof Date) {\n value = DateTime.fromJSDate(value);\n }\n if (value instanceof DateTime) {\n value = value.toUTC().toISO();\n }\n\n if (overwrite) {\n this.filter.forEach(filter => {\n if (filter.property === property) {\n filter.value = value as string;\n filter.operator = operator;\n add = false;\n }\n });\n }\n\n if (add) {\n this.filter.push({ property, value, operator });\n }\n\n if (reloadAutomatically) {\n this.page = 1;\n this.loadEntities();\n }\n }\n\n /**\n * Filter entfernen.\n * @param {string} property Zu entfernendes Feld\n * @param {boolean} reloadAutomatically Aufrufen von loadEntities() (default: true)\n */\n removeFilter(property: string, reloadAutomatically = true): void {\n this.filter = this.filter\n .filter((value: {}) => (value).property !== property);\n\n if (reloadAutomatically) {\n this.page = 1;\n this.loadEntities();\n }\n }\n\n /**\n * Suche starten\n * @param {any} evt KeyboardEvent des Eingabefeldes\n * @param {string} name Zu durchsuchendes Feld\n */\n search(evt, name: string, operator: FilterOperator = '='): void {\n // Entertaste führt aus\n if (evt.keyCode !== 13) {\n return;\n }\n\n this.addFilter(name, evt.target.value, operator, true);\n }\n\n /**\n * Sortierung für ein Feld setzen bzw. togglen zwischen\n * 'asc' und 'desc';\n * @param {string} active Zu sortierendes Feld\n */\n toggleSort(active: string): void {\n // Sortierrichtung bestimmen\n const direction = (\n this.sort &&\n this.sort.active === active &&\n this.sort.direction === 'asc'\n ) ? 'desc' : 'asc';\n\n this.sort = {\n active,\n direction\n };\n\n // Entitäten neu laden\n this.loadEntities();\n }\n\n /**\n * Gibt die Sortierrichtung für das aktuelle Feld zurück.\n * @param {string} active Zu prüfendes Feld\n * @return {string} Sortierrichtung: asc, desc, none\n */\n getSortingDir(active: string): string {\n if (!this.sort || this.sort.active !== active) {\n return 'none';\n }\n\n return this.sort.direction;\n }\n /**\n * Click-Event-Handler zum Löschen einer Entität T.\n * @param {[type]} event Click-Event\n * @param {T} entity Zu löschende Entität\n */\n onDelete(event, entity: T): void {\n if (event && typeof event.preventDefault === 'function') {\n event.preventDefault();\n }\n\n this.notificationService.confirm('Soll der Eintrag gelöscht werden?', (result) => {\n if (!result) {\n return;\n }\n\n this.loading = true;\n this.crudService.delete(entity).subscribe((response) => {\n this.loading = false;\n\n // Erfolgreicher Status = 204 (No Content)\n if (response.status === 204) {\n this.notificationService.notify('Der Eintrag wurde erfolgreich gelöscht.');\n this.loadEntities();\n return;\n }\n\n this.notificationService.notify(\n 'Der Eintrag konnte nicht gelöscht werden.',\n 'error'\n );\n });\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanDeactivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { NotificationService } from '../../shared/notification.service';\nimport { ICrudForm } from './form.interface';\n\n/**\n * Beim Verlassen des Formulars vorher fragen, um ungesicherte Änderungen\n * zu schützen.\n */\n@Injectable()\nexport class NextaCanDeactivateCrudForm implements CanDeactivate {\n constructor(public notify: NotificationService) { }\n canDeactivate(cmp: ICrudForm): Observable | boolean {\n if (!cmp.disableLeaveQuestion && !cmp.form.pristine && !cmp.submittedWithSuccess && !cmp.clickOnNew) {\n return new Observable(subscribe => {\n this.notify.confirm(\n 'Sind Sie sicher, dass Sie das Formular verlassen möchten?' +\n ' Ungesicherte Änderungen gehen dann verloren.',\n answer => {\n subscribe.next(!!answer);\n subscribe.complete();\n }\n );\n });\n }\n\n return true;\n }\n}\n","import { OnInit, Directive, ChangeDetectorRef } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from '../../shared/notification.service';\nimport { ICrudForm } from './form.interface';\nimport { BaseCrudService } from '../base-crud.service';\nimport { CrudEntity } from '@kdose/ng-crud';\n\n/**\n * Basisklasse für eine Form-Component.\n */\n@Directive()\nexport abstract class NextaReactiveForm implements ICrudForm, OnInit {\n\n public form: UntypedFormGroup;\n public submittedWithSuccess = false;\n\n protected cleanBeforeSave = true;\n\n /* Variable gibt an, ob auf einen Button für das Neuerstellen eines Objektes geklickt wurde.\n * Dies verhindert dann die Abfrage, ob die Maske gewechselt werden soll, obwohl schon ggf. Daten eingegeben wurden.\n */\n public clickOnNew = false;\n\n constructor(\n protected endpoint: string,\n protected router: Router,\n protected crudService: BaseCrudService,\n protected notify: NotificationService,\n protected route: ActivatedRoute,\n protected cdr: ChangeDetectorRef,\n public disableLeaveQuestion = false\n ) {\n this.initFormGroup();\n }\n\n ngOnInit() {\n // Edit\n if (typeof this.route.snapshot.params['id'] !== 'undefined') {\n this.crudService.get(+this.route.snapshot.params['id'])\n .subscribe((res) => {\n if (res.status === 404) {\n window.history.back();\n this.notify.notify('Element wurde nicht gefunden.', 'warning');\n return;\n }\n\n this.patchValue(res);\n this.onDataLoaded();\n this.cdr.markForCheck();\n });\n }\n }\n\n /**\n * Methode zum Setzen der Formulardaten.\n */\n patchValue(data: T): void {\n this.form.patchValue(data);\n this.cdr.markForCheck();\n }\n\n /**\n * Hier soll die FormGroup initialisiert werden.\n */\n abstract initFormGroup();\n\n /**\n * Gibt zurück, ob die Entität neu ist.\n *\n * @return {boolean} Entität neu\n */\n isNew(): boolean {\n return typeof this.route.snapshot.params['id'] === 'undefined';\n }\n\n /**\n * Gibt den Text \"hinzufügen\" oder \"bearbeiten\" zurück -\n * je nachdem, in welchem Stadium die Entität sich gerade befindet.\n *\n * @return {string} \"hinzufügen\" oder \"bearbeiten\"\n */\n getActionText(): string {\n return this.isNew() ? 'hinzufügen' : 'bearbeiten';\n }\n\n onDataLoaded(): void { }\n\n /**\n * Methode zum Überschreiben, um eigene Save-Success-Logik\n * zu hinderlegen.\n */\n onSubmitSuccess(_response?: T): void {\n this.submittedWithSuccess = true;\n }\n\n /**\n * Methode zum Überschreiben, um eigene Pre-Save-Logik\n * zu hinderlegen.\n */\n beforeSubmit(): void { }\n\n /**\n * Methode zum Überschreiben, um die Formulardaten zu transformieren.\n */\n transform(data: any): any {\n return data;\n }\n\n /**\n * Event-Handler für das Abschicken eines Formulars.\n * @return {[type]} [description]\n */\n onSubmit() {\n this.beforeSubmit();\n\n this.form.updateValueAndValidity();\n\n if (!this.form.valid) {\n this.cdr.markForCheck();\n return;\n }\n\n const data = this.transform(this.form.value);\n\n // ID setzen, da diese sich nicht im Formular befindet\n if (this.route.snapshot.params['id'] !== 'undefined') {\n data.id = this.route.snapshot.params['id'];\n }\n\n this.crudService.save(data, this.cleanBeforeSave).subscribe((response) => {\n this.patchValue(response);\n this.onSubmitSuccess(response);\n this.cdr.markForCheck();\n }, () => {\n this.cdr.markForCheck();\n });\n}\n}\n","import { NextaBaseList } from './nexta-base-list';\nimport { Data } from './../../shared/data';\nimport { Input, Output, EventEmitter, OnInit, Directive, ChangeDetectorRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../../shared/notification.service';\nimport { BaseCrudService } from '../base-crud.service';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { CrudEntity } from '@kdose/ng-crud';\n\n@Directive()\nexport class NextaSelectionBaseList extends NextaBaseList implements OnInit {\n\n // Verwendung als Modal-Select\n @Input() selectMode = false;\n @Output() selected: EventEmitter = new EventEmitter();\n showFilter = false;\n form: UntypedFormGroup;\n isFiltered: boolean;\n\n constructor(routeName: string,\n router: Router,\n crudService: BaseCrudService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n protected acrossPagesData: Data,\n listName: string,\n cdr: ChangeDetectorRef,\n protected fb: UntypedFormBuilder,\n ) {\n super(routeName, router, crudService, notificationService, route, listName, cdr);\n\n this.form = this.fb.group({});\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.selectMode) {\n this.persistStateInUrl = false;\n } else {\n this.acrossPagesData.storage = [];\n }\n this.loadEntities();\n }\n\n setFilter(event: Event) {\n event.preventDefault();\n this.showFilter = !this.showFilter;\n this.cdr.markForCheck();\n }\n\n select(evt, element: T): void {\n evt.preventDefault();\n this.selected.emit(element);\n }\n\n onFilter(removeAllFilter: boolean) {\n this.filter = [];\n if (!removeAllFilter) {\n const data = this.form.value;\n Object.getOwnPropertyNames(data).forEach(key => this.onFilterLogic(key, data[key]));\n }\n this.isFiltered = this.filter.length > 0;\n this.loadEntities();\n }\n\n onFilterLogic(key, value) {\n if (value.filterValue) {\n this.addFilter(key, value.filterValue, value.filterType, true, false);\n return;\n }\n\n this.removeFilter(key, false);\n }\n}\n","import { Data } from './../data';\nimport { OnInit, Directive, ChangeDetectorRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NextaReactiveForm } from './nexta-reactive-form';\nimport { BaseCrudService } from '../base-crud.service';\nimport { Observable } from 'rxjs';\nimport { NotificationService } from '../notification.service';\nimport { CrudEntity, FilterOptions, PagedServerResponse } from '@kdose/ng-crud';\n/**\n * Basisklasse für eine Form-Component.\n */\n@Directive()\nexport abstract class NextaSelectionBaseReactiveForm extends NextaReactiveForm implements OnInit {\n\n // Verwendung als Modal-Select\n dataOutput: any;\n\n constructor(\n endpoint: string,\n router: Router,\n crudService: BaseCrudService,\n notify: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef,\n protected storageRoute?: string,\n protected acrossPagesData?: Data) {\n super(endpoint, router, crudService, notify, route, cdr);\n }\n\n ngOnInit() {\n // Edit\n if ((!this.acrossPagesData || this.acrossPagesData.storage.length === 0)\n && typeof this.route.snapshot.params['id'] !== 'undefined') {\n this.crudService.get(+this.route.snapshot.params['id'])\n .subscribe((res) => {\n if (res.status === 404) {\n window.history.back();\n this.notify.notify('Element wurde nicht gefunden.', 'warning');\n return;\n }\n\n this.patchValue(res);\n this.onDataLoaded();\n this.loadSelectedData();\n this.cdr.markForCheck();\n });\n } else {\n this.loadSelectedData();\n this.cdr.markForCheck();\n }\n }\n\n protected doRequest(options: FilterOptions): Observable> {\n return this.crudService.getAll(options);\n }\n\n onSubmitSuccess(response: T, itemLabel = 'Der Eintrag'): void {\n super.onSubmitSuccess(response);\n this.notify.notify(`${itemLabel} wurde erfolgreich gespeichert.`, 'info');\n\n if (this.acrossPagesData && this.acrossPagesData.storage.length > 0) {\n const storageData = this.acrossPagesData.getLatest();\n storageData.updateElement = response;\n if (storageData['id']) {\n this.router.navigate([storageData['route'], storageData['id']]);\n } else {\n this.router.navigate([storageData['route'] + '/neu']);\n }\n this.form.reset();\n this.cdr.markForCheck();\n } else {\n this.navigateToOnSubmitSuccess();\n this.cdr.markForCheck();\n }\n }\n\n abstract navigateToOnSubmitSuccess();\n\n /**\n * Methode, welche überprüft, ob ein Springen von Seite A zu B zu A stattfand, um auf Seite B ein neues\n * Objekt zu erstellen. Dann wurden vorher die bereits eingegebenen Daten auf Seite A im acrossDataStorage\n * gespeichert, die nach der Rückkehr wieder geladen werden.\n */\n loadSelectedData() {\n if (this.acrossPagesData?.storage.length > 0 &&\n (this.acrossPagesData.getLatest().updateElement ||\n this.acrossPagesData.getLatest().route === this.storageRoute)) {\n const elem = this.acrossPagesData.storage.pop();\n const elementObject = JSON.parse(elem['object']);\n const { elementName, updateElement } = elem;\n if (elem.updateElement) {\n elementObject[elementName] = this.updateSelectedData(elementObject[elementName], updateElement);\n }\n this.patchValue(elementObject);\n this.onDataLoaded();\n }\n }\n\n protected updateSelectedData(_current: T|T[], updated: T): T|T[] {\n return updated;\n }\n\n setClickOnNew() {\n this.clickOnNew = true;\n this.cdr.markForCheck();\n }\n}\n","import { OnInit, Output, Directive, ChangeDetectorRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Data } from './../data';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { Input, EventEmitter } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Directive()\nexport abstract class NextaView implements OnInit {\n @Input() public title: string;\n /**\n * Name der FormGroup, zu der die View hinzugefügt werden soll.\n */\n @Input() public groupName: string;\n /**\n * Name der FormGroup, welche die View repräsentiert.\n */\n @Input() public groupNameNew: string;\n @Input() public readOnly: boolean;\n @Input() public data: any;\n @Input() public id: string;\n @Input() storageData: any;\n @Output() readonly clickOnNew = new EventEmitter();\n\n group: UntypedFormGroup;\n groupNamePath: string[];\n\n constructor(\n protected parent: ControlContainer,\n protected form: FormGroupDirective,\n protected router: Router,\n protected acrossPagesData: Data,\n protected navigationPointForNewElement: string,\n protected cdr: ChangeDetectorRef) {\n this.initFormGroup();\n }\n\n abstract initFormGroup();\n\n ngOnInit() {\n if (this.groupName) {\n (this.form.form.get(this.groupName) as UntypedFormGroup).addControl(this.groupNameNew,\n this.group);\n this.groupNamePath = [this.groupName, this.groupNameNew];\n } else {\n this.form.form.addControl(this.groupNameNew, this.group);\n this.groupNamePath = [this.groupNameNew];\n }\n\n this.patchValue();\n this.cdr.markForCheck();\n }\n\n patchValue() {\n if (this.data) {\n this.group.patchValue(this.data);\n }\n }\n\n createNewElement() {\n this.acrossPagesData.storage.push(this.storageData);\n this.clickOnNew.emit();\n this.router.navigate([this.navigationPointForNewElement]);\n }\n}\n","import {\n UntypedFormGroup\n} from '@angular/forms';\n\nexport class NextaFileReader extends FileReader {\n form: UntypedFormGroup;\n name: string;\n\n constructor(form: UntypedFormGroup, name: string) {\n super();\n this.form = form;\n this.name = name;\n }\n\n onloadend = () => {\n this.form.controls[this.name].setValue(this.result);\n }\n}\n","import { Injectable, SecurityContext } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ConfirmationService, MessageService } from 'primeng/api';\n\nexport type Severity = 'success' | 'info' | 'warning' | 'error';\nexport namespace Severity {\n export const success = 'success';\n export const info = 'info';\n export const warning = 'warning';\n export const error = 'error';\n}\n\nexport interface ConfirmOptions {\n header?: string;\n key?: string;\n message: string;\n}\n\n@Injectable()\nexport class NotificationService {\n constructor(private sanitizer: DomSanitizer, private messageService: MessageService, private confirmationService: ConfirmationService) {\n }\n\n confirm(message: string, callback: (result: boolean) => void)\n confirm(options: ConfirmOptions, callback: (result: boolean) => void)\n confirm(message: string | ConfirmOptions, callback: (result: boolean) => void) {\n let options = typeof message === 'string' ? { message } : message;\n options = Object.assign( { header: 'Sind Sie sicher?', key: 'main-danger' }, options );\n\n this.sanitizer.sanitize(SecurityContext.HTML, options.message);\n\n this.confirmationService.confirm({\n accept: () => callback(true),\n reject: () => callback(false),\n ...options\n });\n }\n\n notify(message: string, severity: Severity = Severity.info, targetUrl?: string) {\n this.sanitizer.sanitize(SecurityContext.HTML, message);\n const config = {\n detail: message,\n severity,\n key: 'main'\n };\n if (targetUrl) {\n config.key = 'main-link';\n config['targetUrl'] = targetUrl;\n }\n this.messageService.add( config );\n }\n\n alert(message: string, severity: Severity = Severity.warning ) {\n this.sanitizer.sanitize(SecurityContext.HTML, message);\n this.messageService.add({\n detail: message,\n key: 'main-sticky',\n severity\n });\n }\n\n acknowledgeRequired(summary: string, detail: string, severity: Severity = Severity.warning) {\n this.messageService.add({ summary, detail, severity, key: 'main-sticky' });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CalendarModule } from 'primeng/calendar';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { MenuModule } from 'primeng/menu';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { SearchColumnComponent } from '../search/search-column.component';\nimport { ErrorBadgeComponent } from './error-badge.component';\nimport { FormGroupComponent } from './form-group.component';\nimport { ModalSelectComponent } from './modal-select.component';\nimport { ModalComponent } from './modal/modal.component';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { SidenavComponent } from './sidenav/sidenav.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NextaCrudModule } from './nexta-crud/crud.module';\n\nconst DIRECTIVES = [\n ModalComponent,\n NavbarComponent,\n SidenavComponent,\n ErrorBadgeComponent,\n FormGroupComponent,\n SearchColumnComponent,\n ModalSelectComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n BrowserAnimationsModule,\n CalendarModule,\n DropdownModule,\n InputNumberModule,\n InputTextModule,\n MenuModule,\n PaginatorModule,\n TooltipModule,\n NextaCrudModule\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n PaginatorModule,\n TooltipModule,\n NextaCrudModule,\n ...DIRECTIVES\n ]\n})\nexport class SharedModule {\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { AuthenticationService } from '@kdose/ng-auth';\nimport { MenuItem } from 'primeng/api';\nimport { takeUntil } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-sidenav',\n styleUrls: ['./sidenav.component.scss'],\n templateUrl: './sidenav.component.html'\n})\nexport class SidenavComponent implements OnInit, OnDestroy {\n public menuItems: MenuItem[] = [];\n public showSidenav = true;\n\n private destroy$ = new EventEmitter();\n private isLoggedIn = false;\n private mustChangePassword = false;\n\n constructor(\n private authService: AuthenticationService,\n private cdr: ChangeDetectorRef,\n ) {\n this.authService.userData\n .pipe(takeUntil(this.destroy$))\n .subscribe((userData) => {\n this.isLoggedIn = !!userData;\n this.mustChangePassword = !!userData?.authorities?.includes('PASSWORD_CHANGE_REQUIRED');\n this.updateMenuItems();\n });\n }\n\n ngOnInit() {\n this.updateMenuItems();\n }\n\n ngOnDestroy(): void {\n this.destroy$.emit();\n this.destroy$.complete();\n }\n\n public toggle() {\n this.showSidenav = !this.showSidenav;\n this.cdr.markForCheck();\n }\n\n private updateMenuItems() {\n if (!this.isLoggedIn) {\n this.menuItems = [{\n label: 'Login',\n items: [{\n label: 'Login',\n icon: 'fa fa-fw fa-lock',\n routerLink: '/login',\n routerLinkActiveOptions: 'active'\n }]\n }];\n this.cdr.markForCheck();\n return;\n }\n\n if (this.mustChangePassword) {\n this.menuItems = [{\n label: 'Passwort ändern',\n icon: 'fa fa-fw fa-user',\n routerLink: '/passwort-aendern',\n routerLinkActiveOptions: 'active'\n }];\n this.cdr.markForCheck();\n return;\n }\n\n this.menuItems = [{\n label: 'Monitoring',\n icon: 'fa fa-fw fa-line-chart',\n routerLink: '/monitoring',\n routerLinkActiveOptions: 'active'\n }, {\n label: 'Benutzer',\n icon: 'fa fa-fw fa-user',\n routerLink: '/benutzer',\n routerLinkActiveOptions: 'active'\n }, {\n label: 'Schlüssel',\n icon: 'fa fa-fw fa-key',\n routerLink: '/schluessel',\n routerLinkActiveOptions: 'active'\n }, {\n label: 'Behörden',\n icon: 'fa fa-fw fa-institution',\n routerLink: '/behoerden',\n routerLinkActiveOptions: 'active'\n }, {\n label: 'Clients',\n icon: 'fa fa-fw fa-id-card',\n routerLink: '/clients',\n routerLinkActiveOptions: 'active'\n }, {\n label: 'Routen',\n icon: 'fa fa-fw fa-link',\n routerLink: '/routen',\n routerLinkActiveOptions: 'active'\n }];\n\n this.cdr.markForCheck();\n }\n\n\n}\n","
\n
    \n
  • \n XTA-Soap-Proxy\n
  • \n
  • \n \n
  • \n
\n
\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CrudHelperService } from '@kdose/ng-crud';\nimport { NotificationService } from '../shared/notification.service';\nimport { BaseCrudService } from '../shared/base-crud.service';\n\n@Injectable()\nexport class UserService extends BaseCrudService {\n\n constructor(protected helperService: CrudHelperService,\n protected notifyService: NotificationService,\n protected router: Router,\n protected http: HttpClient\n ) {\n super('users', helperService, notifyService, router, http);\n }\n}\n","export * from './user-form.component';\nexport * from './user-list.component';\nexport * from './user.module';\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from '../shared/notification.service';\nimport { NextaSelectionBaseReactiveForm } from '../shared/nexta-crud/nexta-selection-reactive-form';\nimport { Data } from '../shared/data';\nimport { UserService } from './crud.service';\nimport { User } from './user';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './user-form.component.html'\n})\nexport class UserFormComponent extends NextaSelectionBaseReactiveForm implements OnInit {\n\n loading = false;\n data: any;\n\n constructor(\n router: Router,\n crudService: UserService,\n notify: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef,\n acrossPagesData: Data) {\n super('benutzer', router, crudService, notify, route, cdr, '/benutzer', acrossPagesData);\n }\n\n ngOnInit() {\n if ((!this.acrossPagesData || this.acrossPagesData.storage.length === 0) && typeof this.route.snapshot.params['id'] !== 'undefined') {\n this.crudService.get(+this.route.snapshot.params['id'])\n .subscribe((res) => {\n if (res.status === 404) {\n window.history.back();\n this.notify.notify('Element wurde nicht gefunden.', 'warning');\n return;\n }\n\n this.patchValue(res);\n this.onDataLoaded();\n this.cdr.markForCheck();\n });\n } else {\n this.onDataLoaded();\n this.cdr.markForCheck();\n }\n this.loadSelectedData();\n }\n\n initFormGroup() {\n const fb = new UntypedFormBuilder();\n this.form = fb.group({\n id: [''],\n username: ['', Validators.required],\n enabled: [''],\n password: [''],\n updatePassword: [''],\n ldapAds: [true],\n lastUpdate: [''],\n entityVersion: ['']\n });\n }\n\n patchValue(data: any) {\n this.data = data;\n this.form.patchValue(data);\n }\n\n onDataLoaded() {\n this.loading = true;\n }\n\n transform() {\n const user = {};\n Object.assign(user, this.form.value);\n delete user.adLogin;\n return user;\n }\n\n beforeSubmit(): void {\n if (this.form.get('ldapAds').dirty || this.form.get('password').dirty) {\n this.form.get('updatePassword').setValue(true);\n }\n }\n\n onAdLoginChange() {\n const adLogin = this.form.getRawValue().ldapAds;\n const passwordControl = this.form.get('password');\n if (adLogin) {\n passwordControl.clearValidators();\n passwordControl.setValue(null);\n } else {\n passwordControl.setValidators([Validators.required]);\n }\n passwordControl.updateValueAndValidity();\n this.cdr.markForCheck();\n }\n\n navigateToOnSubmitSuccess() {\n this.router.navigate(['/benutzer', this.form.getRawValue().id]);\n }\n\n getStorageData(elementName: string): any {\n return {\n route: this.storageRoute,\n id: this.form.get('id').value,\n object: JSON.stringify(this.transform()),\n elementName\n };\n }\n\n /**\n * Methode, welche überprüft, ob ein Springen von Seite A zu B zu A stattfand, um auf Seite B ein neues\n * Objekt zu erstellen. Dann wurden vorher die bereits eingegebenen Daten auf Seite A im acrossDataStorage\n * gespeichert, die nach der Rückkehr wieder geladen werden.\n * Abweichend: Das Objekt was zurückgegeben wird, muss nicht zwingend zugewiesen werden, sondern aauch uf ein Array gepusht werden.\n */\n loadSelectedData() {\n if (this.acrossPagesData && this.acrossPagesData.storage.length > 0 &&\n (this.acrossPagesData.getLatest().updateElement ||\n this.acrossPagesData.getLatest()['route'] === this.storageRoute)) {\n const elem = this.acrossPagesData.storage.pop();\n const elementObject = JSON.parse(elem['object']);\n if (elem.updateElement) {\n if (elem['elementName'] === 'key') {\n elementObject[elem['elementName']] = elem['updateElement'];\n } else {\n elementObject[elem['elementName']].push(elem['updateElement']);\n }\n }\n this.patchValue(elementObject);\n this.onDataLoaded();\n this.cdr.markForCheck();\n }\n }\n}\n","
\n
\n
\n Benutzer\n \n \n \n \n \n
\n
\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n
\n
\n
\n","import { NextaBaseList } from '../shared/nexta-crud/nexta-base-list';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../shared/notification.service';\nimport { UserService } from './crud.service';\nimport { User } from './user';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './user-list.component.html'\n})\nexport class UserListComponent extends NextaBaseList {\n\n constructor(\n router: Router,\n userService: UserService,\n notificationService: NotificationService,\n route: ActivatedRoute,\n cdr: ChangeDetectorRef ) {\n super('/benutzer', router, userService, notificationService, route, 'users', cdr);\n }\n}\n","
\n
\n

Benutzer - Liste Lädt...\n \n \n \n Neuen Benutzer anlegen\n \n \n \n

\n
\n\n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n ID\n \n Benutzername\n \n Aktiv\n Aktionen
\n {{ user.id }}\n \n \n {{ user.username }}\n \n \n Ja\n Nein\n \n \n \n \n
\n\n
\n
\n Es wurden keine Einträge gefunden.\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n","import { NextaCanDeactivateCrudForm } from '../shared/nexta-crud/nexta-can-deactivate.guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { isAuthenticated, isAuthorized } from '@kdose/ng-auth';\nimport { UserListComponent } from './user-list.component';\nimport { UserFormComponent } from './user-form.component';\n\nconst userRoutes: Routes = [\n {\n path: 'benutzer',\n component: UserListComponent,\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'benutzer/neu',\n component: UserFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n },\n {\n path: 'benutzer/:id',\n component: UserFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated, isAuthorized],\n data: {\n requiredAuthorizations: {\n oneOf: ['ADMIN']\n }\n }\n }\n];\n@NgModule({\n imports: [\n RouterModule.forChild(userRoutes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class UserRoutingModule { }\n","import { CertificateCrudModule } from '../key/certificate/certificate.module';\nimport { PrivateKeyCrudModule } from '../key/private-key/private-key.module';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared';\n\nimport { UserService } from './crud.service';\nimport { UserFormComponent } from './user-form.component';\nimport { UserListComponent } from './user-list.component';\nimport { UserRoutingModule } from './user-routing.module';\n\nconst DIRECTIVES = [\n UserFormComponent,\n UserListComponent\n];\n\n@NgModule({\n imports: [\n SharedModule,\n UserRoutingModule,\n PrivateKeyCrudModule,\n CertificateCrudModule\n ],\n providers: [\n UserService\n ],\n declarations: [\n ...DIRECTIVES\n ],\n exports: [\n ...DIRECTIVES\n ]\n})\nexport class UserCrudModule {\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n\nexport const environment = {\n production: false,\n version: 'dev',\n buildtime: 'notime'\n};\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"names":["EventEmitter","PrimeNGTranslation","HttpHeaders","SKIP_HTTP_ERRORS","takeUntil","i0","AppComponent","constructor","auth","pConfig","router","notify","messageService","ngOnInit","setTranslation","headers","initializeAuthentication","then","handleUserData","catch","error","acknowledgeRequired","console","log","dismissMessage","key","clear","userData","pipe","destroy$","subscribe","data","authorities","includes","setTimeout","navigateByUrl","selectors","decls","vars","consts","template","HttpClientModule","HTTP_INTERCEPTORS","FormsModule","ReactiveFormsModule","BrowserModule","RouterModule","ConfirmDialogModule","ToastModule","KDOCrudModule","SpringBootUiModule","ROUTES","AuthorityCrudModule","baseCrudUrlGetter","CertificateCrudModule","KeyCrudModule","PrivateKeyCrudModule","PipesModule","SharedModule","Data","HttpErrorInterceptorService","HttpInterceptorService","HTTP_OPTIONS","NextaCrudModule","UserCrudModule","EndPointModule","environment","ConfirmationService","MessageService","NotificationService","ClientCrudModule","KDOAuthenticationModule","KDOAuthenticationPrimeNgModule","ChangePasswordModule","APP_PROVIDERS","provide","useValue","contentType","useClass","multi","AppModule","bootstrap","imports","forRoot","useHash","baseUrl","logfile","nameTemplate","version","metrics","config","declarations","LoginComponent","path","component","pathMatch","redirectTo","UntypedFormBuilder","Validators","DialogService","NextaSelectionBaseReactiveForm","EndPointsComponent","AuthorityFormComponent","main","form","get","crudService","route","acrossPagesData","cdr","dialog","clientService","loadClients","getAll","size","sort","JSON","stringify","active","direction","clients","content","markForCheck","initFormGroup","fb","group","id","client","required","defaultRoute","prefix","identifier","lastUpdate","entityVersion","target","to","xta1Port","xta2SendPort","xta2MsgboxPort","xta2ManagePort","getAllEndPoints","doRequest","page","filter","res","forEach","endpoint","url","compareResult","endPoints","findIndex","item","push","patchValue","authority","transform","Object","assign","value","beforeSubmit","setErrors","navigateToOnSubmitSuccess","navigate","getRawValue","getStorageData","elementName","storageRoute","object","openEndPunktListeModal","closable","dismissableMask","header","ref","open","onClose","toUrl","setValue","loadDefaultRoute","endPoint","controls","features","ctx","NextaSelectionBaseList","AuthorityListComponent","authorityService","notificationService","NextaCanDeactivateCrudForm","isAuthenticated","isAuthorized","authorityRoutes","canActivate","requiredAuthorizations","oneOf","canDeactivate","AuthorityRoutingModule","forChild","exports","TabViewModule","AuthorityService","DIRECTIVES","BaseCrudService","helperService","notifyService","http","factory","selectEndPoint","close","PasswordsMatchValidator","PASSWORD_PATTERN","ChangePasswordFormComponent","service","oldPassword","newPassword","compose","pattern","repeatedPassword","validators","isLocalUser","type","toLocaleLowerCase","ngOnDestroy","next","complete","onSubmit","event","stopPropagation","preventDefault","updateValueAndValidity","invalid","changePassword","logout","dirty","hostBindings","CommonModule","ChangePasswordService","components","from","mergeMap","payload","baseUrlAsync","post","control","passwordMismatch","ClientFormComponent","cleanBeforeSave","name","maxLength","description","certificates","ensureIsArray","allowedCerts","onDataLoaded","certificatesLoaded","addSelectedCertificate","certificate","alreadyIncluded","some","cert","removeSelectedCertificate","result","Array","isArray","updateSelectedData","current","updated","NextaBaseList","ClientListComponent","clientRoutes","ClientRoutingModule","ClientService","ensureEndsWith","endsWith","AppSettings","baseUrlGetter","Promise","resolve","base","document","querySelector","href","fetch","method","json","restUrl","location","protocol","host","val","EndPointListComponent","loadEntities","skipUrlPeristing","persistStateInUrl","routeName","encodeStateForUrl","loading","entities","endPointsRoutes","EndPointRoutingModule","NextaFileReader","CertificateFormComponent","certificateService","file","formData","FormData","append","onFileSelected","files","fileReader","readAsArrayBuffer","valid","snapshot","params","undefined","saveAtSpecialEndpoint","response","onSubmitSuccess","CertificateListComponent","CertificateShowComponent","certificateRoutes","CertificateRoutingModule","ControlContainer","componentParentFactory","CertificateSelectionListComponent","createNewElement","storage","storageData","clickOnNew","emit","onDelete","entity","removeCertificateSelected","inputs","readonly","title","outputs","addedCertificateSelected","useFactory","deps","DownloadHelperService","getDetails","certificateDetails","status","window","history","back","issuerX500Principal","subjectX500Principal","issuerCertificateID","downloadFile","evt","getX509","ds","blob","Blob","CertificateService","set","responseType","KeyFormComponent","keyRoutes","KeyRoutingModule","PrivateKeyService","PrivateKeyFormComponent","privateKeyService","pinP12","pinKey","PrivateKeyListComponent","PrivateKeyShowComponent","privateKeyRoutes","PrivateKeyRoutingModule","cerificateService","privateKeyDetails","NextaView","PrivateKeyViewComponent","parent","encoded","serialNumber","serialNumberInHex","validFrom","validTo","hash","PrincipalNamePipe","StringifyPipe","onlyCn","newValue","split","v","startsWith","regex","replace","pure","DateTime","SearchColumnComponent","label","filterType","filterValue","calculateYearRange","formGroupNameValue","addControl","concatAttributeKey","concatAttribute","i","attributeName","property","concatAllButNotLast","slice","lastIndexOf","concat","length","operator","elementType","Date","fromFormat","toJSDate","availableFilterTypes","getAvailableFilterTypes","today","now","start","minus","years","toFormat","end","plus","yearRange","placeholderValue","observableFrom","crudHelperService","defaultShareableGET","appendToUrl","options","suffixToUrl","encodeURIComponent","delete","save","clean","onTokenExpired","localStorage","removeItem","getLatest","UntypedFormGroup","ErrorBadgeComponent","ngSubmit","changeSubscription","update","valueChanges","errorCnt","countErrors","cnt","controlName","keys","disabled","FormGroupComponent","updateValidity","hasLabel","hasControl","hasOwnProperty","ngAfterContentInit","ngOnChanges","hasError","submitted","selectionChanged","errornous","errRequired","customError","invalidEmailAddress","invalidNumber","biggerLabel","vertical","errorText","ngContentSelectors","HttpErrorResponse","throwError","catchError","intercept","request","skipHttpErrors","shouldSkipErrors","has","skipErrors","skip","parseInt","isNaN","clone","handle","err","errorMessage","message","urlTree","createUrlTree","fragment","targetUrl","prepareExternalUrl","serializeUrl","setHeaders","Accept","InjectionToken","ModalSelectComponent","selectComponent","Error","selected","updateModel","modal","hide","showModal","show","model","groupName","reset","markAsDirty","contentQueries","ModalAction","ModalComponent","loaded","positiveAction","closed","action","POSITIVE","cancelAction","CANCEL","cancelLabel","positiveLabel","confirm","huge","firstValueFrom","NavbarComponent","command","isLoggedIn","username","production","merge","getBase","string1","string2","substr","getElementsByTagName","getAttribute","substring","toggleSidebar","BaseListInfoComponent","showInfoText","_showInfoText","DialogModule","ngModule","providers","listName","handleParamsChange","handlePageChange","rows","setItem","toString","parse","decodeURIComponent","stateObj","skipUrlPersisting","encodedState","totalsize","totalElements","addFilter","overwrite","reloadAutomatically","add","fromJSDate","toUTC","toISO","removeFilter","search","keyCode","toggleSort","getSortingDir","Observable","cmp","disableLeaveQuestion","pristine","submittedWithSuccess","answer","NextaReactiveForm","isNew","getActionText","_response","selectMode","setFilter","showFilter","select","element","onFilter","removeAllFilter","getOwnPropertyNames","onFilterLogic","isFiltered","loadSelectedData","itemLabel","updateElement","elem","pop","elementObject","_current","setClickOnNew","navigationPointForNewElement","groupNameNew","groupNamePath","readOnly","FileReader","SecurityContext","Severity","sanitizer","confirmationService","callback","sanitize","HTML","accept","reject","severity","info","detail","alert","warning","summary","CalendarModule","DropdownModule","InputNumberModule","InputTextModule","MenuModule","PaginatorModule","TooltipModule","SidenavComponent","BrowserAnimationsModule","authService","mustChangePassword","updateMenuItems","toggle","showSidenav","menuItems","items","icon","routerLink","routerLinkActiveOptions","UserService","UserFormComponent","enabled","password","updatePassword","ldapAds","user","adLogin","onAdLoginChange","passwordControl","clearValidators","setValidators","UserListComponent","userService","userRoutes","UserRoutingModule","buildtime","enableProdMode","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}