diff --git a/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table-config.ts b/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table-config.ts index f5043bdcee..9e95a55938 100644 --- a/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table-config.ts +++ b/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table-config.ts @@ -70,6 +70,8 @@ import { AlarmRulesTabsComponent } from '@home/pages/alarm/alarm-rules-tabs.comp import { Router } from '@angular/router'; import { EntityAction } from '@home/models/entity/entity-component.models'; import { AlarmRulesComponent } from '@home/components/alarm-rules/alarm-rules.component'; +import { ItemType } from '@shared/models/iot-hub/iot-hub-item.models'; +import { IotHubActionsService } from '@home/components/iot-hub/iot-hub-actions.service'; export type AlarmRuleTableEntity = CalculatedFieldAlarmRule | CalculatedFieldAlarmRuleInfo; @@ -97,6 +99,7 @@ export class AlarmRulesTableConfig extends EntityTableConfig true, onAction: () => this.importCalculatedField() + }, + { + name: this.translate.instant('iot-hub.add-from-iot-hub'), + icon: 'hub', + isEnabled: () => true, + onAction: () => this.addAlarmRuleFromIotHub() } ]; @@ -333,6 +342,14 @@ export class AlarmRulesTableConfig extends EntityTableConfig { + if (result?.descriptor) { + this.updateData(); + } + }); + } + private importCalculatedField(): void { this.importExportService.openCalculatedFieldImportDialog('alarm-rule.import', 'alarm-rule.file') .pipe( diff --git a/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table.component.ts b/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table.component.ts index ce0aecb598..a882868728 100644 --- a/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table.component.ts +++ b/ui-ngx/src/app/modules/home/components/alarm-rules/alarm-rules-table.component.ts @@ -37,6 +37,7 @@ import { DatePipe } from '@angular/common'; import { AlarmRulesTableConfig } from "@home/components/alarm-rules/alarm-rules-table-config"; import { UtilsService } from "@core/services/utils.service"; import { ActivatedRoute, Router } from "@angular/router"; +import { IotHubActionsService } from '@home/components/iot-hub/iot-hub-actions.service'; @Component({ selector: 'tb-alarm-rules-table', @@ -71,7 +72,8 @@ export class AlarmRulesTableComponent { private utilsService: UtilsService, private destroyRef: DestroyRef, private route: ActivatedRoute, - private router: Router + private router: Router, + private iotHubActions: IotHubActionsService ) { this.pageMode = !!this.route.snapshot.data.isPage; effect(() => { @@ -91,6 +93,7 @@ export class AlarmRulesTableComponent { this.entityDebugSettingsService, this.utilsService, this.router, + this.iotHubActions, this.pageMode, ); this.cd.markForCheck(); diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-add-item-dialog.component.ts b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-add-item-dialog.component.ts index 3920a19f1b..0111fa0abe 100644 --- a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-add-item-dialog.component.ts +++ b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-add-item-dialog.component.ts @@ -82,7 +82,7 @@ export class TbIotHubAddItemDialogComponent extends DialogComponent( TbIotHubSelectCfEntityDialogComponent, { panelClass: ['tb-dialog'], diff --git a/ui-ngx/src/app/modules/home/pages/alarm/alarm-routing.module.ts b/ui-ngx/src/app/modules/home/pages/alarm/alarm-routing.module.ts index 75dd645b40..00432627b4 100644 --- a/ui-ngx/src/app/modules/home/pages/alarm/alarm-routing.module.ts +++ b/ui-ngx/src/app/modules/home/pages/alarm/alarm-routing.module.ts @@ -36,6 +36,7 @@ import { ImportExportService } from '@shared/import-export/import-export.service import { EntityDebugSettingsService } from '@home/components/entity/debug/entity-debug-settings.service'; import { UtilsService } from '@core/services/utils.service'; import { AlarmRulesTableConfig } from '@home/components/alarm-rules/alarm-rules-table-config'; +import { IotHubActionsService } from '@home/components/iot-hub/iot-hub-actions.service'; export const AlarmRulesTableConfigResolver: ResolveFn = (_route: ActivatedRouteSnapshot, @@ -50,6 +51,7 @@ export const AlarmRulesTableConfigResolver: ResolveFn = entityDebugSettingsService = inject(EntityDebugSettingsService), utilsService = inject(UtilsService), router = inject(Router), + iotHubActions = inject(IotHubActionsService), ) => { return new AlarmRulesTableConfig( alarmRulesService, @@ -66,6 +68,7 @@ export const AlarmRulesTableConfigResolver: ResolveFn = entityDebugSettingsService, utilsService, router, + iotHubActions, true, ); };