Browse Source

Merge pull request #10950 from Prometheus4800/master

Subscribe to close event of 'Open in seperate dialog' #10949
pull/11569/head
Igor Kulikov 2 years ago
committed by GitHub
parent
commit
19d6a324bd
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      ui-ngx/src/app/core/api/widget-api.models.ts
  2. 5
      ui-ngx/src/app/modules/home/components/widget/widget.component.ts

3
ui-ngx/src/app/core/api/widget-api.models.ts

@ -63,6 +63,7 @@ import { PopoverPlacement } from '@shared/components/popover.models';
import { PersistentRpc } from '@shared/models/rpc.models'; import { PersistentRpc } from '@shared/models/rpc.models';
import { EventEmitter } from '@angular/core'; import { EventEmitter } from '@angular/core';
import { DashboardUtilsService } from '@core/services/dashboard-utils.service'; import { DashboardUtilsService } from '@core/services/dashboard-utils.service';
import { MatDialogRef } from '@angular/material/dialog';
export interface TimewindowFunctions { export interface TimewindowFunctions {
onUpdateTimewindow: (startTimeMs: number, endTimeMs: number, interval?: number) => void; onUpdateTimewindow: (startTimeMs: number, endTimeMs: number, interval?: number) => void;
@ -101,7 +102,7 @@ export interface WidgetActionsApi {
click: ($event: Event) => void; click: ($event: Event) => void;
getActiveEntityInfo: () => SubscriptionEntityInfo; getActiveEntityInfo: () => SubscriptionEntityInfo;
openDashboardStateInSeparateDialog: (targetDashboardStateId: string, params?: StateParams, dialogTitle?: string, openDashboardStateInSeparateDialog: (targetDashboardStateId: string, params?: StateParams, dialogTitle?: string,
hideDashboardToolbar?: boolean, dialogWidth?: number, dialogHeight?: number) => void; hideDashboardToolbar?: boolean, dialogWidth?: number, dialogHeight?: number) => MatDialogRef<any>;
openDashboardStateInPopover: ($event: Event, targetDashboardStateId: string, params?: StateParams, openDashboardStateInPopover: ($event: Event, targetDashboardStateId: string, params?: StateParams,
hideDashboardToolbar?: boolean, preferredPlacement?: PopoverPlacement, hideDashboardToolbar?: boolean, preferredPlacement?: PopoverPlacement,
hideOnClickOutside?: boolean, popoverWidth?: string, hideOnClickOutside?: boolean, popoverWidth?: string,

5
ui-ngx/src/app/modules/home/components/widget/widget.component.ts

@ -105,7 +105,7 @@ import { EntityDataService } from '@core/api/entity-data.service';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { NotificationType } from '@core/notification/notification.models'; import { NotificationType } from '@core/notification/notification.models';
import { AlarmDataService } from '@core/api/alarm-data.service'; import { AlarmDataService } from '@core/api/alarm-data.service';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { ComponentType } from '@angular/cdk/portal'; import { ComponentType } from '@angular/cdk/portal';
import { EMBED_DASHBOARD_DIALOG_TOKEN } from '@home/components/widget/dialog/embed-dashboard-dialog-token'; import { EMBED_DASHBOARD_DIALOG_TOKEN } from '@home/components/widget/dialog/embed-dashboard-dialog-token';
import { MobileService } from '@core/services/mobile.service'; import { MobileService } from '@core/services/mobile.service';
@ -1365,7 +1365,7 @@ export class WidgetComponent extends PageComponent implements OnInit, AfterViewI
} }
private openDashboardStateInSeparateDialog(targetDashboardStateId: string, params?: StateParams, dialogTitle?: string, private openDashboardStateInSeparateDialog(targetDashboardStateId: string, params?: StateParams, dialogTitle?: string,
hideDashboardToolbar = true, dialogWidth?: number, dialogHeight?: number) { hideDashboardToolbar = true, dialogWidth?: number, dialogHeight?: number): MatDialogRef<any> {
const dashboard = deepClone(this.widgetContext.stateController.dashboardCtrl.dashboardCtx.getDashboard()); const dashboard = deepClone(this.widgetContext.stateController.dashboardCtrl.dashboardCtx.getDashboard());
const stateObject: StateObject = {}; const stateObject: StateObject = {};
stateObject.params = params; stateObject.params = params;
@ -1413,6 +1413,7 @@ export class WidgetComponent extends PageComponent implements OnInit, AfterViewI
} }
}); });
this.cd.markForCheck(); this.cd.markForCheck();
return dashboard.dialogRef;
} }
private elementClick($event: Event) { private elementClick($event: Event) {

Loading…
Cancel
Save