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() 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[] { public get data(): any[] {
return this.dataSource.data; return this.dataSource.data;
@ -89,12 +89,12 @@ export class DDTable implements AfterViewInit {
this.table.renderRows(); 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 // first determine the new expanded element, thus it would be possible to use up-to-date
const newExpandedElement = this.__expandedElement === element ? null : element; const newExpandedElement = this.__expandedElement === element ? null : element;
// before update the expanded element call the call-back method to show up-to-date component // 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 // assign expanded element
this.__expandedElement = newExpandedElement; this.__expandedElement = newExpandedElement;

View File

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