From f5f6d4b917034914abf0eb80496ee516c469095f Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Mon, 10 Aug 2020 16:32:36 +0300 Subject: [PATCH] Fix update state id value --- ...anage-dashboard-states-dialog.component.ts | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ui-ngx/src/app/modules/home/pages/dashboard/states/manage-dashboard-states-dialog.component.ts b/ui-ngx/src/app/modules/home/pages/dashboard/states/manage-dashboard-states-dialog.component.ts index ad32146f87..c09292765b 100644 --- a/ui-ngx/src/app/modules/home/pages/dashboard/states/manage-dashboard-states-dialog.component.ts +++ b/ui-ngx/src/app/modules/home/pages/dashboard/states/manage-dashboard-states-dialog.component.ts @@ -35,7 +35,7 @@ import { fromEvent, merge } from 'rxjs'; import { debounceTime, distinctUntilChanged, tap } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; import { DialogService } from '@core/services/dialog.service'; -import { deepClone } from '@core/utils'; +import { deepClone, isUndefined } from '@core/utils'; import { DashboardStateDialogComponent, DashboardStateDialogData @@ -198,8 +198,9 @@ export class ManageDashboardStatesDialogComponent extends root: state.root, layouts: state.layouts }; - if (prevStateId) { - this.states[prevStateId] = newState; + if (prevStateId && prevStateId !== state.id) { + delete this.states[prevStateId]; + this.states[state.id] = newState; } else { this.states[state.id] = newState; } @@ -210,6 +211,19 @@ export class ManageDashboardStatesDialogComponent extends otherState.root = false; } } + } else { + let rootFound = false; + for (const id of Object.keys(this.states)) { + const otherState = this.states[id]; + if (otherState.root) { + rootFound = true; + break; + } + } + if (!rootFound) { + const firstStateId = Object.keys(this.states)[0]; + this.states[firstStateId].root = true; + } } this.onStatesUpdated(); }