{"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/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, 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';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent implements OnInit {\n constructor(\n private auth: AuthenticationService,\n private pConfig: PrimeNGConfig,\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 }).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","
\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';\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 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 } 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]\n },\n {\n path: 'behoerden/neu',\n component: AuthorityFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\n },\n {\n path: 'behoerden/:id',\n component: AuthorityFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\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, 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 } 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]\n },\n {\n path: 'clients/neu',\n component: ClientFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\n },\n {\n path: 'clients/:id',\n component: ClientFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\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 } from '@kdose/ng-auth';\nimport { EndPointListComponent } from './end-point-list.component';\n\nconst endPointsRoutes: Routes = [ {\n path: 'routen',\n component: EndPointListComponent,\n canActivate: [isAuthenticated]\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 } from '@kdose/ng-auth';\n\nconst certificateRoutes: Routes = [\n {\n path: 'schluessel/zertifikate',\n component: CertificateListComponent,\n canActivate: [isAuthenticated]\n },\n {\n path: 'schluessel/zertifikate/neu',\n component: CertificateFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\n },\n {\n path: 'schluessel/zertifikate/:id',\n component: CertificateShowComponent,\n canActivate: [isAuthenticated]\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 } from '@kdose/ng-auth';\nimport { KeyFormComponent } from './key-form.component';\n\nconst keyRoutes: Routes = [{\n path: 'schluessel',\n component: KeyFormComponent,\n canActivate: [isAuthenticated],\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 } from '@kdose/ng-auth';\n\nconst privateKeyRoutes: Routes = [\n {\n path: 'schluessel/private-schluessel',\n component: PrivateKeyListComponent,\n canActivate: [isAuthenticated]\n },\n {\n path: 'schluessel/private-schluessel/neu',\n component: PrivateKeyFormComponent,\n canActivate: [isAuthenticated]\n },\n {\n path: 'schluessel/private-schluessel/:id',\n component: PrivateKeyShowComponent,\n canActivate: [isAuthenticated]\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, OnInit } from '@angular/core';\nimport { AuthenticationService } from '@kdose/ng-auth';\nimport { MenuItem } from 'primeng/api';\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 {\n public isLoggedIn = false;\n public menuItems: MenuItem[] = [];\n public showSidenav = true;\n\n constructor(\n private authService: AuthenticationService,\n private cdr: ChangeDetectorRef,\n ) {\n this.authService.userData.subscribe((userData) => {\n this.isLoggedIn = !!userData;\n this.updateMenuItems();\n });\n }\n\n ngOnInit() {\n this.updateMenuItems();\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', icon: 'fa fa-fw fa-lock', routerLink: '/login', routerLinkActiveOptions: 'active' }\n ]\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 } 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]\n },\n {\n path: 'benutzer/neu',\n component: UserFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\n },\n {\n path: 'benutzer/:id',\n component: UserFormComponent,\n canDeactivate: [NextaCanDeactivateCrudForm],\n canActivate: [isAuthenticated]\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":["PrimeNGTranslation","HttpHeaders","SKIP_HTTP_ERRORS","i0","AppComponent","constructor","auth","pConfig","notify","messageService","ngOnInit","setTranslation","headers","initializeAuthentication","catch","error","acknowledgeRequired","console","log","dismissMessage","key","clear","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","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","router","crudService","route","acrossPagesData","cdr","dialog","clientService","loadClients","getAll","size","sort","JSON","stringify","active","direction","subscribe","data","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","authorityRoutes","canActivate","canDeactivate","AuthorityRoutingModule","forChild","exports","TabViewModule","AuthorityService","DIRECTIVES","BaseCrudService","helperService","notifyService","http","factory","selectEndPoint","close","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","then","json","restUrl","location","protocol","host","val","EndPointListComponent","loadEntities","skipUrlPeristing","persistStateInUrl","routeName","encodeStateForUrl","loading","entities","endPointsRoutes","EndPointRoutingModule","NextaFileReader","CertificateFormComponent","certificateService","file","formData","FormData","append","onFileSelected","event","files","fileReader","readAsArrayBuffer","onSubmit","updateValueAndValidity","valid","snapshot","params","undefined","saveAtSpecialEndpoint","response","onSubmitSuccess","CertificateListComponent","CertificateShowComponent","certificateRoutes","CertificateRoutingModule","EventEmitter","ControlContainer","componentParentFactory","CertificateSelectionListComponent","createNewElement","storage","storageData","clickOnNew","emit","onDelete","entity","preventDefault","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","from","mergeMap","post","pipe","baseUrlAsync","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","control","valueChanges","errorCnt","countErrors","cnt","controlName","keys","disabled","FormGroupComponent","updateValidity","hasLabel","hasControl","hasOwnProperty","ngAfterContentInit","ngOnChanges","hasError","submitted","selectionChanged","errornous","errRequired","customError","invalidEmailAddress","invalidNumber","pattern","biggerLabel","vertical","errorText","ngContentSelectors","HttpErrorResponse","throwError","catchError","intercept","request","next","skipHttpErrors","shouldSkipErrors","has","skipErrors","skip","parseInt","isNaN","clone","handle","err","errorMessage","message","urlTree","createUrlTree","fragment","targetUrl","prepareExternalUrl","serializeUrl","includes","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","logout","userData","isLoggedIn","username","production","merge","getBase","string1","string2","substr","getElementsByTagName","getAttribute","substring","navigateByUrl","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","complete","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","CommonModule","CalendarModule","DropdownModule","InputNumberModule","InputTextModule","MenuModule","PaginatorModule","TooltipModule","SidenavComponent","BrowserAnimationsModule","authService","updateMenuItems","toggle","showSidenav","menuItems","items","icon","routerLink","routerLinkActiveOptions","UserService","UserFormComponent","enabled","password","updatePassword","ldapAds","user","adLogin","dirty","onAdLoginChange","passwordControl","clearValidators","setValidators","UserListComponent","userService","userRoutes","UserRoutingModule","buildtime","enableProdMode","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}