Fixed right layout and state name propagation in mobile mode, skip popover/dialog dashboard changes.

This commit is contained in:
Igor Kulikov 2021-11-26 13:47:07 +02:00
parent 715eefa6d0
commit eda4e0f761

View File

@ -345,24 +345,26 @@ export class DashboardPageComponent extends PageComponent implements IDashboardC
this.runChangeDetection(); this.runChangeDetection();
} }
)); ));
this.rxSubscriptions.push(this.route.queryParamMap.subscribe( if (this.syncStateWithQueryParam) {
(paramMap) => { this.rxSubscriptions.push(this.route.queryParamMap.subscribe(
if (paramMap.has('reload')) { (paramMap) => {
this.dashboardCtx.aliasController.updateAliases(); if (paramMap.has('reload')) {
setTimeout(() => { this.dashboardCtx.aliasController.updateAliases();
this.mobileService.handleDashboardStateName(this.dashboardCtx.stateController.getCurrentStateName()); setTimeout(() => {
this.mobileService.onDashboardLoaded(this.layouts.right.show, this.isRightLayoutOpened); this.mobileService.handleDashboardStateName(this.dashboardCtx.stateController.getCurrentStateName());
}); this.mobileService.onDashboardLoaded(this.layouts.right.show, this.isRightLayoutOpened);
});
}
} }
} ));
)); }
this.rxSubscriptions.push(this.breakpointObserver this.rxSubscriptions.push(this.breakpointObserver
.observe(MediaBreakpoints['gt-sm']) .observe(MediaBreakpoints['gt-sm'])
.subscribe((state: BreakpointState) => { .subscribe((state: BreakpointState) => {
this.isMobile = !state.matches; this.isMobile = !state.matches;
} }
)); ));
if (this.isMobileApp) { if (this.isMobileApp && this.syncStateWithQueryParam) {
this.mobileService.registerToggleLayoutFunction(() => { this.mobileService.registerToggleLayoutFunction(() => {
setTimeout(() => { setTimeout(() => {
this.toggleLayouts(); this.toggleLayouts();
@ -464,7 +466,7 @@ export class DashboardPageComponent extends PageComponent implements IDashboardC
} }
ngOnDestroy(): void { ngOnDestroy(): void {
if (this.isMobileApp) { if (this.isMobileApp && this.syncStateWithQueryParam) {
this.mobileService.unregisterToggleLayoutFunction(); this.mobileService.unregisterToggleLayoutFunction();
} }
this.rxSubscriptions.forEach((subscription) => { this.rxSubscriptions.forEach((subscription) => {