feat(envelope): ReceiverStatusTable-Komponente unter Envelope-Tabelle hinzugefügt und Backend-Unterstützung integriert
- ReceiverStatusTableComponent als Unterkomponente der EnvelopeTable erstellt, um Empfängerstatus anzuzeigen. - ReceiverStatusTable in EnvelopeTable mit Tabs und dynamischem Datenladen integriert. - EnvelopeTable angepasst, um Empfängerdaten über den EnvelopeReceiverService abzurufen und in ReceiverStatusTable anzuzeigen. - Backend aktualisiert, um das Abrufen von Umschlägen nach Benutzer zu unterstützen: - `ReadByUserAsync`-Methode im Envelope-Repository hinzugefügt, um Umschläge für einen bestimmten Benutzer abzufragen. - Servicemethode implementiert, um die abgefragten Umschläge in DTOs zu konvertieren und das Ergebnis zurückzugeben.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { AfterViewInit, Component, Input, ViewChild, inject, viewChild } from '@angular/core';
|
||||
import { EnvelopeReceiverService } from '../../../services/envelope-receiver.service';
|
||||
import { EnvelopeService } from '../../../services/envelope.service';
|
||||
import { animate, state, style, transition, trigger } from '@angular/animations';
|
||||
import { ConfigurationService } from '../../../services/configuration.service';
|
||||
@@ -7,6 +6,7 @@ import { DDTable } from "../dd-table/dd-table.component";
|
||||
import { ClearableInputComponent } from '../../clearable-input/clearable-input.component'
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { ReceiverStatusTableComponent } from "../receiver-status-table/receiver-status-table.component";
|
||||
import { EnvelopeReceiverService } from '../../../services/envelope-receiver.service';
|
||||
|
||||
@Component({
|
||||
selector: 'envelope-table',
|
||||
@@ -26,24 +26,20 @@ export class EnvelopeTableComponent implements AfterViewInit {
|
||||
|
||||
@Input() options?: { min_status?: number; max_status?: number; ignore_status?: number[] }
|
||||
|
||||
displayedColumns: string[] = ['title', 'status', 'type', 'privateMessage', 'addedWhen'];
|
||||
displayedColumns: string[] = ['title', 'status', 'type', 'addedWhen'];
|
||||
|
||||
schema: Record<string, { header: string; field: (element: any) => any; }> = {
|
||||
'title': {
|
||||
header: 'Title',
|
||||
field: (element: any) => element.envelope.title
|
||||
field: (element: any) => element.title
|
||||
},
|
||||
'status': {
|
||||
header: 'Status',
|
||||
field: (element: any) => element.envelope.statusName
|
||||
field: (element: any) => element.statusName
|
||||
},
|
||||
'type': {
|
||||
header: 'Type',
|
||||
field: (element: any) => this.config.envelopeTypeTitles[element.envelope.contractType - 1]
|
||||
},
|
||||
'privateMessage': {
|
||||
header: 'Private Message',
|
||||
field: (element: any) => element.privateMessage
|
||||
field: (element: any) => this.config.envelopeTypeTitles[element.contractType - 1]
|
||||
},
|
||||
'addedWhen': {
|
||||
header: 'Added When',
|
||||
@@ -53,20 +49,19 @@ export class EnvelopeTableComponent implements AfterViewInit {
|
||||
|
||||
data: any[] = [];
|
||||
|
||||
@ViewChild(ClearableInputComponent) input!: ClearableInputComponent
|
||||
@ViewChild(ReceiverStatusTableComponent) rsTable!: ReceiverStatusTableComponent
|
||||
|
||||
onToggleExpandedRow(element: any, event: Event) {
|
||||
console.log(element)
|
||||
}
|
||||
|
||||
private erService: EnvelopeReceiverService = inject(EnvelopeReceiverService);
|
||||
|
||||
private envService: EnvelopeService = inject(EnvelopeService);
|
||||
private eService: EnvelopeService = inject(EnvelopeService);
|
||||
|
||||
private config: ConfigurationService = inject(ConfigurationService);
|
||||
|
||||
private readonly erService: EnvelopeReceiverService = inject(EnvelopeReceiverService);
|
||||
|
||||
async ngAfterViewInit() {
|
||||
this.data = await this.erService.getEnvelopeReceiverAsync(this.options);
|
||||
await this.envService.getEnvelopeAsync().then(console.log)
|
||||
this.data = await this.eService.getEnvelopeAsync();
|
||||
this.rsTable.data = await this.erService.getEnvelopeReceiverAsync();
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<p>receiver-status-table works!</p>
|
||||
<dd-table [data]="data" [columnsToDisplay]="columnsToDisplay" [schema]="schema" [isSortable]="true"></dd-table>
|
||||
@@ -1,12 +1,17 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { Component, inject } from '@angular/core';
|
||||
import { DDTable } from '../dd-table/dd-table.component'
|
||||
|
||||
@Component({
|
||||
selector: 'receiver-status-table',
|
||||
standalone: true,
|
||||
imports: [],
|
||||
imports: [DDTable],
|
||||
templateUrl: './receiver-status-table.component.html',
|
||||
styleUrl: './receiver-status-table.component.scss'
|
||||
})
|
||||
export class ReceiverStatusTableComponent {
|
||||
data: any[] = [];
|
||||
|
||||
schema = {};
|
||||
|
||||
columnsToDisplay: string[] = [];
|
||||
}
|
||||
Reference in New Issue
Block a user