diff --git a/ui-ngx/src/app/core/http/entity.service.ts b/ui-ngx/src/app/core/http/entity.service.ts
index 9c3570310e..5bdbacd1c5 100644
--- a/ui-ngx/src/app/core/http/entity.service.ts
+++ b/ui-ngx/src/app/core/http/entity.service.ts
@@ -422,6 +422,14 @@ export class EntityService {
pageLink.sortOrder.property = 'name';
entitiesObservable = this.notificationService.getNotificationTargets(pageLink, subType as NotificationType, config);
break;
+ case EntityType.NOTIFICATION_TEMPLATE:
+ pageLink.sortOrder.property = 'name';
+ entitiesObservable = this.notificationService.getNotificationTemplates(pageLink, null, config);
+ break;
+ case EntityType.NOTIFICATION_RULE:
+ pageLink.sortOrder.property = 'name';
+ entitiesObservable = this.notificationService.getNotificationRules(pageLink, config);
+ break;
}
return entitiesObservable;
}
diff --git a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.html b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.html
index bd714d9e33..519e87fb97 100644
--- a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.html
+++ b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.html
@@ -66,10 +66,10 @@
{{ 'version-control.export-credentials' | translate }}
-
+
{{ 'version-control.export-attributes' | translate }}
-
+
{{ 'version-control.export-relations' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.ts b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.ts
index b41e51c5c2..ac50042887 100644
--- a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.ts
+++ b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-create.component.ts
@@ -31,6 +31,7 @@ import { PageComponent } from '@shared/components/page.component';
import {
EntityTypeVersionCreateConfig,
exportableEntityTypes,
+ entityTypesWithNoRelatedData,
SyncStrategy,
syncStrategyTranslationMap
} from '@shared/models/vc.models';
@@ -73,6 +74,7 @@ export class EntityTypesVersionCreateComponent extends PageComponent implements
syncStrategyTranslations = syncStrategyTranslationMap;
entityTypes = EntityType;
+ entityTypesWithNoRelatedData = entityTypesWithNoRelatedData
loading = true;
diff --git a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.html b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.html
index 8a3b23ea5e..b508320ad7 100644
--- a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.html
+++ b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.html
@@ -66,10 +66,10 @@
{{ 'version-control.load-credentials' | translate }}
-
+
{{ 'version-control.load-attributes' | translate }}
-
+
{{ 'version-control.load-relations' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.ts b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.ts
index d4f28e3a7b..2fd891df23 100644
--- a/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.ts
+++ b/ui-ngx/src/app/modules/home/components/vc/entity-types-version-load.component.ts
@@ -28,7 +28,12 @@ import {
Validators
} from '@angular/forms';
import { PageComponent } from '@shared/components/page.component';
-import { EntityTypeVersionLoadConfig, exportableEntityTypes, VersionCreationResult } from '@shared/models/vc.models';
+import {
+ EntityTypeVersionLoadConfig,
+ exportableEntityTypes,
+ entityTypesWithNoRelatedData,
+ VersionCreationResult
+} from '@shared/models/vc.models';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
import { TranslateService } from '@ngx-translate/core';
@@ -66,6 +71,7 @@ export class EntityTypesVersionLoadComponent extends PageComponent implements On
public entityTypesVersionLoadFormGroup: UntypedFormGroup;
entityTypes = EntityType;
+ entityTypesWithNoRelatedData = entityTypesWithNoRelatedData
loading = true;
diff --git a/ui-ngx/src/app/shared/models/entity-type.models.ts b/ui-ngx/src/app/shared/models/entity-type.models.ts
index 062694cb43..1a5f187459 100644
--- a/ui-ngx/src/app/shared/models/entity-type.models.ts
+++ b/ui-ngx/src/app/shared/models/entity-type.models.ts
@@ -368,6 +368,8 @@ export const entityTypeTranslations = new Map, 'label'>{
+export interface NotificationRule extends Omit, 'label'>, ExportableEntity {
tenantId: TenantId;
templateId: NotificationTemplateId;
triggerType: TriggerType;
@@ -234,7 +233,7 @@ export interface NonConfirmedNotificationEscalation {
targets: Array;
}
-export interface NotificationTarget extends Omit, 'label'>{
+export interface NotificationTarget extends Omit, 'label'>, ExportableEntity {
tenantId: TenantId;
configuration: NotificationTargetConfig;
}
@@ -279,7 +278,7 @@ export const NotificationTargetTypeTranslationMap = new Map, 'label'>{
+export interface NotificationTemplate extends Omit, 'label'>, ExportableEntity {
tenantId: TenantId;
notificationType: NotificationType;
configuration: NotificationTemplateConfig;
diff --git a/ui-ngx/src/app/shared/models/vc.models.ts b/ui-ngx/src/app/shared/models/vc.models.ts
index 155a9c8633..32c86900ba 100644
--- a/ui-ngx/src/app/shared/models/vc.models.ts
+++ b/ui-ngx/src/app/shared/models/vc.models.ts
@@ -30,9 +30,18 @@ export const exportableEntityTypes: Array = [
EntityType.DEVICE_PROFILE,
EntityType.ASSET_PROFILE,
EntityType.RULE_CHAIN,
- EntityType.WIDGETS_BUNDLE
+ EntityType.WIDGETS_BUNDLE,
+ EntityType.NOTIFICATION_TEMPLATE,
+ EntityType.NOTIFICATION_TARGET,
+ EntityType.NOTIFICATION_RULE
];
+export const entityTypesWithNoRelatedData: Array = [
+ EntityType.NOTIFICATION_TEMPLATE,
+ EntityType.NOTIFICATION_TARGET,
+ EntityType.NOTIFICATION_RULE
+]
+
export interface VersionCreateConfig {
saveRelations: boolean;
saveAttributes: boolean;
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index bcaa4a183f..6b3110771c 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -2060,9 +2060,15 @@
"type-queue": "Queue",
"type-notification": "Notification",
"type-notification-rule": "Notification rule",
+ "type-notification-rules": "Notification rules",
+ "list-of-notification-rules": "{ count, plural, =1 {One notification rule} other {List of # notification rules} }",
"type-notification-target": "Notification recipient",
+ "type-notification-targets": "Notification recipients",
+ "list-of-notification-targets": "{ count, plural, =1 {One notification recipient} other {List of # notification recipients} }",
"type-notification-request": "Notification request",
- "type-notification-template": "Notification template"
+ "type-notification-template": "Notification template",
+ "type-notification-templates": "Notification templates",
+ "list-of-notification-templates": "{ count, plural, =1 {One notification template} other {List of # notification templates} }"
},
"entity-field": {
"created-time": "Created time",