У меня есть диалоговое окно, в котором пользователь может копировать диаграммы на другую карточку рабочей области, но когда когда-либо пользователь щелкает по выбранной карточке рабочей области, чтобы скопировать конкретную диаграмму, счетчик диаграмм не обновляется сразу на выбранной карточке рабочей области.
Диаграмма копируется, но количество диаграмм на карточке рабочей области не обновляется.
Я вижу изменение количества диаграмм только тогда, когда закрываю диалоговое окно копирования и открываю его снова.
Буду очень признателен, если я смогу получить какое-либо предложение или помощь о том, как я могу немедленно обновить счетчик диаграмм на выбранной карточке рабочей области, не закрывая сначала диалоговое окно.
Карточка рабочей области. HTML
<div>
<span class="details ws-name" matLine>{{chartCount}} Chart{{chartCount !== 1 ? 's' : ''}}</span>
</div>
Карточка рабочего пространства. TS
chartCount: number = 0;
ngOnInit(): void {
if(!this.workspace.chartCount && this.workspace.charts) {
this.chartCount = this.workspace.charts.length;
}
else {
this.chartCount = this.workspace.chartCount;
}
}
Выбор списка рабочего пространства. HTML
<div class="header">Copy Chart to a Workspace</div>
<mat-hint class="sub-header">Select one of the following workspaces. The chart will be automatically staged.</mat-hint>
<mat-progress-bar *ngIf="loading || copying" color="primary" mode="indeterminate"></mat-progress-bar>
<div class="list" *ngIf="!loading">
<mc-workspace-card *ngFor="let workspace of workspaces" [workspace]="workspace" [isCopyModal] = "true" (click)="copy(workspace)">
</mc-workspace-card>
</div>
Выбор списка рабочего пространства. TS
copy(workspace: Workspace) {
this.copying = true;
this.chartService.copyChartToWorkspace(this.chartGuid, workspace.guid).subscribe(newChart => {
this.copying = false;
this._snackBar.open(`Chart has been copied to ${workspace.name}`, 'Check it out!', { duration: 5000, panelClass: "snackbar-button" }).onAction().subscribe(() => {
this.dialogRef.close();
this.router.navigate(['workspace', workspace.guid], { state: { data: workspace.guid } });
})
})
}
введите описание изображения здесь