refactor(EnvelopeTableComponent): onToggleExpandedRow Methode asynchron gemacht, um die Daten mit async/await zu handhaben
This commit is contained in:
parent
01856b61ef
commit
4172df4d78
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user