refactor(EnvelopeTableComponent): onToggleExpandedRow Methode asynchron gemacht, um die Daten mit async/await zu handhaben

This commit is contained in:
Developer 02 2024-09-06 16:38:15 +02:00
parent 01856b61ef
commit 4172df4d78
2 changed files with 5 additions and 9 deletions

View File

@ -58,7 +58,7 @@ export class DDTable implements AfterViewInit {
@Input() isSortable: boolean = false;
@Input() onToggleExpandedRow: (element: any, event: Event) => void = (element: any, event: Event) => { }
@Input() onToggleExpandedRow: (element: any, event: Event) => Promise<void> = async (element: any, event: Event) => { }
public get data(): any[] {
return this.dataSource.data;
@ -89,12 +89,12 @@ export class DDTable implements AfterViewInit {
this.table.renderRows();
}
toggleExpandedRow(element: any, event: Event): void {
async toggleExpandedRow(element: any, event: Event): Promise<void> {
// first determine the new expanded element, thus it would be possible to use up-to-date
const newExpandedElement = this.__expandedElement === element ? null : element;
// before update the expanded element call the call-back method to show up-to-date component
this.onToggleExpandedRow(newExpandedElement, event);
await this.onToggleExpandedRow(newExpandedElement, event);
// assign expanded element
this.__expandedElement = newExpandedElement;

View File

@ -51,16 +51,12 @@ export class EnvelopeTableComponent implements AfterViewInit {
@ViewChild(ReceiverStatusTableComponent) rsTable!: ReceiverStatusTableComponent
onToggleExpandedRow: (envelope: any, event: Event) => void = (envelope, event) => {
onToggleExpandedRow: (envelope: any, event: Event) => Promise<void> = async (envelope, event) => {
if (envelope === null || envelope === undefined)
return;
var uuid: string = envelope.uuid;
this.erService.getSecret(uuid).subscribe({
next: (er: any[]) => {
this.rsTable.data = er;
}
});
this.rsTable.data = await this.erService.getSecretAsync(uuid);
}
private eService: EnvelopeService = inject(EnvelopeService);