diff --git a/frontend/app/mstore/dashboardStore.ts b/frontend/app/mstore/dashboardStore.ts index 5d96173ff..ad9aaa8f7 100644 --- a/frontend/app/mstore/dashboardStore.ts +++ b/frontend/app/mstore/dashboardStore.ts @@ -215,9 +215,9 @@ export default class DashboardStore { syncDashboardInfo(id: string, info: { name: string, description: string, isPublic: boolean, createdAt: number }) { if (this.selectedDashboard !== null) { - this.selectedDashboard.update(info) + this.selectedDashboard.updateInfo(info) const index = this.dashboards.findIndex((d) => d.dashboardId === id); - Object.assign(this.dashboards[index], info) + this.dashboards[index].updateInfo(info); } } diff --git a/frontend/app/mstore/types/dashboard.ts b/frontend/app/mstore/types/dashboard.ts index 098f28ee9..af499c870 100644 --- a/frontend/app/mstore/types/dashboard.ts +++ b/frontend/app/mstore/types/dashboard.ts @@ -30,6 +30,14 @@ export default class Dashboard { this.validate() } + updateInfo(data: any) { + runInAction(() => { + this.name = data.name || this.name + this.description = data.description || this.description + this.isPublic = data.isPublic + }) + } + toJson() { return { dashboardId: this.dashboardId,