Improved context passing
This commit is contained in:
		
							parent
							
								
									5354eaa80b
								
							
						
					
					
						commit
						ff647aedc7
					
				@ -42,6 +42,7 @@ import {
 | 
			
		||||
} from '@shared/models/calculated-field.models';
 | 
			
		||||
import { CalculatedFieldDebugDialogComponent, CalculatedFieldDialogComponent } from './components/public-api';
 | 
			
		||||
import { ImportExportService } from '@shared/import-export/import-export.service';
 | 
			
		||||
import { CalculatedFieldId } from '@shared/models/id/calculated-field-id';
 | 
			
		||||
 | 
			
		||||
export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedField, PageLink> {
 | 
			
		||||
 | 
			
		||||
@ -52,11 +53,7 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
 | 
			
		||||
  readonly tenantId = getCurrentAuthUser(this.store).tenantId;
 | 
			
		||||
  additionalDebugActionConfig = {
 | 
			
		||||
    title: this.translate.instant('calculated-fields.see-debug-events'),
 | 
			
		||||
    action: this.openDebugDialog.bind(this),
 | 
			
		||||
    data: {
 | 
			
		||||
      tenantId: this.tenantId,
 | 
			
		||||
      entityId: this.entityId,
 | 
			
		||||
    },
 | 
			
		||||
    action: (id?: CalculatedFieldId) => this.openDebugDialog.call(this, id),
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  constructor(private calculatedFieldsService: CalculatedFieldsService,
 | 
			
		||||
@ -140,7 +137,7 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
 | 
			
		||||
  onOpenDebugConfig($event: Event, { debugSettings = {}, id }: CalculatedField): void {
 | 
			
		||||
    const additionalActionConfig = {
 | 
			
		||||
      ...this.additionalDebugActionConfig,
 | 
			
		||||
      action: () => this.openDebugDialog({...this.additionalDebugActionConfig.data, id }),
 | 
			
		||||
      action: () => this.openDebugDialog(id)
 | 
			
		||||
    };
 | 
			
		||||
    const { viewContainerRef } = this.getTable();
 | 
			
		||||
    if ($event) {
 | 
			
		||||
@ -206,11 +203,15 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
 | 
			
		||||
      .afterClosed();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private openDebugDialog(data: CalculatedFieldDebugDialogData): void {
 | 
			
		||||
  private openDebugDialog(id: CalculatedFieldId): void {
 | 
			
		||||
    this.dialog.open<CalculatedFieldDebugDialogComponent, CalculatedFieldDebugDialogData, null>(CalculatedFieldDebugDialogComponent, {
 | 
			
		||||
      disableClose: true,
 | 
			
		||||
      panelClass: ['tb-dialog', 'tb-fullscreen-dialog'],
 | 
			
		||||
      data
 | 
			
		||||
      data: {
 | 
			
		||||
        tenantId: this.tenantId,
 | 
			
		||||
        entityId: this.entityId,
 | 
			
		||||
        id
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
      .afterClosed()
 | 
			
		||||
      .subscribe();
 | 
			
		||||
 | 
			
		||||
@ -67,10 +67,7 @@ export class CalculatedFieldDialogComponent extends DialogComponent<CalculatedFi
 | 
			
		||||
 | 
			
		||||
  additionalDebugActionConfig = this.data.value?.id ? {
 | 
			
		||||
    ...this.data.additionalDebugActionConfig,
 | 
			
		||||
    action: () => this.data.additionalDebugActionConfig.action({
 | 
			
		||||
      ...this.data.additionalDebugActionConfig.data,
 | 
			
		||||
      id: this.data.value.id,
 | 
			
		||||
    }),
 | 
			
		||||
    action: () => this.data.additionalDebugActionConfig.action(this.data.value.id)
 | 
			
		||||
  } : null;
 | 
			
		||||
 | 
			
		||||
  readonly OutputTypeTranslations = OutputTypeTranslations;
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,6 @@ import { DeviceCredentialMQTTBasic } from '@shared/models/device.models';
 | 
			
		||||
import { Lwm2mSecurityConfigModels } from '@shared/models/lwm2m-security-config.models';
 | 
			
		||||
import { TenantId } from '@shared/models/id/tenant-id';
 | 
			
		||||
import { RuleChainMetaData } from '@shared/models/rule-chain.models';
 | 
			
		||||
import { CalculatedFieldDebugDialogData } from '@shared/models/calculated-field.models';
 | 
			
		||||
 | 
			
		||||
export interface EntityInfo {
 | 
			
		||||
  name?: string;
 | 
			
		||||
@ -204,12 +203,9 @@ export interface EntityDebugSettings {
 | 
			
		||||
  allEnabledUntil?: number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type AdditionalDebugActionConfigData = CalculatedFieldDebugDialogData;
 | 
			
		||||
 | 
			
		||||
export interface AdditionalDebugActionConfig {
 | 
			
		||||
  action?: (data?: AdditionalDebugActionConfigData) => void;
 | 
			
		||||
  action?: (id?: EntityId) => void;
 | 
			
		||||
  title: string;
 | 
			
		||||
  data: AdditionalDebugActionConfigData;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type VersionedEntity = EntityInfoData & HasVersion | RuleChainMetaData;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user