diff --git a/application/src/main/java/org/thingsboard/server/controller/DashboardController.java b/application/src/main/java/org/thingsboard/server/controller/DashboardController.java index c780dde8a9..f5b350d861 100644 --- a/application/src/main/java/org/thingsboard/server/controller/DashboardController.java +++ b/application/src/main/java/org/thingsboard/server/controller/DashboardController.java @@ -524,7 +524,7 @@ public class DashboardController extends BaseController { JsonNode additionalInfo = tenant.getAdditionalInfo(); DashboardId dashboardId = null; boolean hideDashboardToolbar = true; - if (additionalInfo != null && additionalInfo.has(HOME_DASHBOARD_ID)) { + if (additionalInfo != null && additionalInfo.has(HOME_DASHBOARD_ID) && !additionalInfo.get(HOME_DASHBOARD_ID).isNull()) { String strDashboardId = additionalInfo.get(HOME_DASHBOARD_ID).asText(); dashboardId = new DashboardId(toUUID(strDashboardId)); if (additionalInfo.has(HOME_DASHBOARD_HIDE_TOOLBAR)) { @@ -566,7 +566,7 @@ public class DashboardController extends BaseController { private HomeDashboard extractHomeDashboardFromAdditionalInfo(JsonNode additionalInfo) { try { - if (additionalInfo != null && additionalInfo.has(HOME_DASHBOARD_ID)) { + if (additionalInfo != null && additionalInfo.has(HOME_DASHBOARD_ID) && !additionalInfo.get(HOME_DASHBOARD_ID).isNull()) { String strDashboardId = additionalInfo.get(HOME_DASHBOARD_ID).asText(); DashboardId dashboardId = new DashboardId(toUUID(strDashboardId)); Dashboard dashboard = checkDashboardId(dashboardId, Operation.READ); diff --git a/ui-ngx/src/app/core/services/menu.service.ts b/ui-ngx/src/app/core/services/menu.service.ts index 735fd6bead..d1fffa3fde 100644 --- a/ui-ngx/src/app/core/services/menu.service.ts +++ b/ui-ngx/src/app/core/services/menu.service.ts @@ -223,6 +223,7 @@ export class MenuService { name: 'home.home', type: 'link', path: '/home', + notExact: true, icon: 'home' }, { @@ -409,6 +410,7 @@ export class MenuService { name: 'home.home', type: 'link', path: '/home', + notExact: true, icon: 'home' }, { diff --git a/ui-ngx/src/app/modules/home/components/dashboard-page/dashboard-page.component.html b/ui-ngx/src/app/modules/home/components/dashboard-page/dashboard-page.component.html index 97f5071955..5ba7f2f01c 100644 --- a/ui-ngx/src/app/modules/home/components/dashboard-page/dashboard-page.component.html +++ b/ui-ngx/src/app/modules/home/components/dashboard-page/dashboard-page.component.html @@ -49,7 +49,7 @@ {{ isFullscreen ? 'fullscreen_exit' : 'fullscreen' }} - - { if (this.embedded) { - data.dashboard = this.dashboard; + data.dashboard = this.dashboardUtils.validateAndUpdateDashboard(this.dashboard); + data.currentDashboardId = this.dashboard.id ? this.dashboard.id.id : null; data.widgetEditMode = false; data.singlePageMode = false; + } else { + data.currentDashboardId = this.route.snapshot.params.dashboardId; } this.init(data); this.runChangeDetection(); @@ -286,7 +289,7 @@ export class DashboardPageComponent extends PageComponent implements IDashboardC this.reset(); - this.currentDashboardId = this.route.snapshot.params.dashboardId; + this.currentDashboardId = data.currentDashboardId; if (this.route.snapshot.params.customerId) { this.currentCustomerId = this.route.snapshot.params.customerId;