UI: Add in notification review list recipients
This commit is contained in:
parent
c6b519cab7
commit
2f3a1d0741
@ -17,7 +17,7 @@
|
|||||||
-->
|
-->
|
||||||
<form [formGroup]="targetNotificationForm" class="tb-dialog-container">
|
<form [formGroup]="targetNotificationForm" class="tb-dialog-container">
|
||||||
<mat-toolbar color="primary">
|
<mat-toolbar color="primary">
|
||||||
<h2>{{ (isAdd ? 'notification.add-notification-target' : 'notification.edit-notification-target') | translate }}</h2>
|
<h2>{{ (isAdd ? 'notification.add-notification-recipients-group' : 'notification.edit-notification-recipients-group') | translate }}</h2>
|
||||||
<span fxFlex></span>
|
<span fxFlex></span>
|
||||||
<button mat-icon-button
|
<button mat-icon-button
|
||||||
(click)="cancel()"
|
(click)="cancel()"
|
||||||
@ -30,10 +30,10 @@
|
|||||||
<div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div>
|
<div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div>
|
||||||
<div mat-dialog-content>
|
<div mat-dialog-content>
|
||||||
<mat-form-field class="mat-block">
|
<mat-form-field class="mat-block">
|
||||||
<mat-label translate>notification.target-name</mat-label>
|
<mat-label translate>notification.name</mat-label>
|
||||||
<input matInput formControlName="name" required>
|
<input matInput formControlName="name" required>
|
||||||
<mat-error *ngIf="targetNotificationForm.get('name').hasError('required')">
|
<mat-error *ngIf="targetNotificationForm.get('name').hasError('required')">
|
||||||
{{ 'notification.target-name-required' | translate }}
|
{{ 'notification.name-required' | translate }}
|
||||||
</mat-error>
|
</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<section formGroupName="configuration">
|
<section formGroupName="configuration">
|
||||||
@ -48,7 +48,7 @@
|
|||||||
<section formGroupName="usersFilter"
|
<section formGroupName="usersFilter"
|
||||||
*ngIf="targetNotificationForm.get('configuration.type').value === notificationTargetType.PLATFORM_USERS">
|
*ngIf="targetNotificationForm.get('configuration.type').value === notificationTargetType.PLATFORM_USERS">
|
||||||
<mat-form-field class="mat-block" subscriptSizing="dynamic">
|
<mat-form-field class="mat-block" subscriptSizing="dynamic">
|
||||||
<mat-label translate>notification.target-type.user-filters</mat-label>
|
<mat-label translate>notification.recipient-type.user-filters</mat-label>
|
||||||
<mat-select formControlName="type">
|
<mat-select formControlName="type">
|
||||||
<mat-option *ngFor="let type of notificationTargetConfigTypes" [value]="type">
|
<mat-option *ngFor="let type of notificationTargetConfigTypes" [value]="type">
|
||||||
{{ notificationTargetConfigTypeInfoMap.get(type).name | translate }}
|
{{ notificationTargetConfigTypeInfoMap.get(type).name | translate }}
|
||||||
@ -109,7 +109,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
</section>
|
</section>
|
||||||
<section *ngIf="targetNotificationForm.get('configuration.type').value === notificationTargetType.SLACK">
|
<section *ngIf="targetNotificationForm.get('configuration.type').value === notificationTargetType.SLACK">
|
||||||
<label class="tb-title">{{ 'notification.recipient-type' | translate }}</label>
|
<label class="tb-title">{{ 'notification.slack-chanel-type' | translate }}</label>
|
||||||
<mat-radio-group formControlName="conversationType">
|
<mat-radio-group formControlName="conversationType">
|
||||||
<mat-radio-button *ngFor="let slackChanelType of slackChanelTypes" [value]="slackChanelType">
|
<mat-radio-button *ngFor="let slackChanelType of slackChanelTypes" [value]="slackChanelType">
|
||||||
{{ slackChanelTypesTranslateMap.get(slackChanelType) | translate }}
|
{{ slackChanelTypesTranslateMap.get(slackChanelType) | translate }}
|
||||||
|
|||||||
@ -48,7 +48,6 @@ export class RecipientTableConfigResolver implements Resolve<EntityTableConfig<N
|
|||||||
|
|
||||||
this.config.entityType = EntityType.NOTIFICATION_TARGET;
|
this.config.entityType = EntityType.NOTIFICATION_TARGET;
|
||||||
this.config.detailsPanelEnabled = false;
|
this.config.detailsPanelEnabled = false;
|
||||||
this.config.selectionEnabled = false;
|
|
||||||
this.config.addEnabled = false;
|
this.config.addEnabled = false;
|
||||||
this.config.rowPointer = true;
|
this.config.rowPointer = true;
|
||||||
|
|
||||||
@ -57,8 +56,11 @@ export class RecipientTableConfigResolver implements Resolve<EntityTableConfig<N
|
|||||||
|
|
||||||
this.config.entitiesFetchFunction = pageLink => this.notificationService.getNotificationTargets(pageLink);
|
this.config.entitiesFetchFunction = pageLink => this.notificationService.getNotificationTargets(pageLink);
|
||||||
|
|
||||||
this.config.deleteEntityTitle = target => this.translate.instant('notification.delete-target-title', {targetName: target.name});
|
this.config.deleteEntityTitle = target => this.translate.instant('notification.delete-recipient-title', {recipientName: target.name});
|
||||||
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-target-text');
|
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-recipient-text');
|
||||||
|
this.config.deleteEntitiesTitle = count => this.translate.instant('notification.delete-recipients-title', {count});
|
||||||
|
this.config.deleteEntitiesContent = () => this.translate.instant('notification.delete-recipients-text');
|
||||||
|
|
||||||
this.config.deleteEntity = id => this.notificationService.deleteNotificationTarget(id.id);
|
this.config.deleteEntity = id => this.notificationService.deleteNotificationTarget(id.id);
|
||||||
|
|
||||||
this.config.cellActionDescriptors = this.configureCellActions();
|
this.config.cellActionDescriptors = this.configureCellActions();
|
||||||
@ -75,7 +77,7 @@ export class RecipientTableConfigResolver implements Resolve<EntityTableConfig<N
|
|||||||
|
|
||||||
this.config.columns.push(
|
this.config.columns.push(
|
||||||
new DateEntityTableColumn<NotificationTarget>('createdTime', 'common.created-time', this.datePipe, '170px'),
|
new DateEntityTableColumn<NotificationTarget>('createdTime', 'common.created-time', this.datePipe, '170px'),
|
||||||
new EntityTableColumn<NotificationTarget>('name', 'notification.notification-target', '20%'),
|
new EntityTableColumn<NotificationTarget>('name', 'notification.recipient-group', '20%'),
|
||||||
new EntityTableColumn<NotificationTarget>('configuration.type', 'notification.type', '20%',
|
new EntityTableColumn<NotificationTarget>('configuration.type', 'notification.type', '20%',
|
||||||
(target) => this.translate.instant(NotificationTargetTypeTranslationMap.get(target.configuration.type)),
|
(target) => this.translate.instant(NotificationTargetTypeTranslationMap.get(target.configuration.type)),
|
||||||
() => ({}), false),
|
() => ({}), false),
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<div fxFlex="100" fxLayout="row" fxLayoutAlign="end center">
|
<div fxFlex="100" fxLayout="row" fxLayoutAlign="end center">
|
||||||
<button mat-stroked-button color="primary" (click)="createTarget($event)">
|
<button mat-stroked-button color="primary" (click)="createTarget($event)">
|
||||||
<div fxLayout="row" fxLayoutAlign="start center">
|
<div fxLayout="row" fxLayoutAlign="start center">
|
||||||
<mat-icon>add</mat-icon>{{ 'notification.add-target' | translate }}
|
<mat-icon>add</mat-icon>{{ 'notification.add-recipients' | translate }}
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
subscriptSizing="dynamic"
|
subscriptSizing="dynamic"
|
||||||
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
||||||
subType="{{ notificationType.ALARM }}"
|
subType="{{ notificationType.ALARM }}"
|
||||||
[placeholderText]="escalationFormGroup.get('targets').value ? '' : ('notification.add-target' | translate)">
|
[placeholderText]="escalationFormGroup.get('targets').value ? '' : ('notification.add-recipient' | translate)">
|
||||||
<button #createTargetButton
|
<button #createTargetButton
|
||||||
mat-button [fxHide]="disabled" matSuffix
|
mat-button [fxHide]="disabled" matSuffix
|
||||||
(click)="createTarget($event, createTargetButton)">
|
(click)="createTarget($event, createTargetButton)">
|
||||||
|
|||||||
@ -67,7 +67,7 @@
|
|||||||
formControlName="targets"
|
formControlName="targets"
|
||||||
subType="{{ ruleNotificationForm.get('triggerType').value }}"
|
subType="{{ ruleNotificationForm.get('triggerType').value }}"
|
||||||
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
||||||
placeholderText="{{ 'notification.target' | translate }}">
|
placeholderText="{{ 'notification.recipient' | translate }}">
|
||||||
<button #createTargetButton
|
<button #createTargetButton
|
||||||
mat-button color="primary" matSuffix
|
mat-button color="primary" matSuffix
|
||||||
(click)="createTarget($event, createTargetButton)">
|
(click)="createTarget($event, createTargetButton)">
|
||||||
@ -78,7 +78,7 @@
|
|||||||
<ng-template #alarmTargesConfig>
|
<ng-template #alarmTargesConfig>
|
||||||
<fieldset class="fields-group tb-hierarchy" formGroupName="recipientsConfig">
|
<fieldset class="fields-group tb-hierarchy" formGroupName="recipientsConfig">
|
||||||
<legend translate>notification.escalation-chain</legend>
|
<legend translate>notification.escalation-chain</legend>
|
||||||
<div class="mat-body-2" translate>notification.targets</div>
|
<div class="mat-body-2" translate>notification.recipients</div>
|
||||||
<tb-escalations-component formControlName="escalationTable"></tb-escalations-component>
|
<tb-escalations-component formControlName="escalationTable"></tb-escalations-component>
|
||||||
<ng-container *ngTemplateOutlet="clearRules"></ng-container>
|
<ng-container *ngTemplateOutlet="clearRules"></ng-container>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@ -48,7 +48,6 @@ export class RuleTableConfigResolver implements Resolve<EntityTableConfig<Notifi
|
|||||||
|
|
||||||
this.config.entityType = EntityType.NOTIFICATION_RULE;
|
this.config.entityType = EntityType.NOTIFICATION_RULE;
|
||||||
this.config.detailsPanelEnabled = false;
|
this.config.detailsPanelEnabled = false;
|
||||||
this.config.selectionEnabled = false;
|
|
||||||
this.config.addEnabled = false;
|
this.config.addEnabled = false;
|
||||||
this.config.rowPointer = true;
|
this.config.rowPointer = true;
|
||||||
|
|
||||||
@ -59,6 +58,8 @@ export class RuleTableConfigResolver implements Resolve<EntityTableConfig<Notifi
|
|||||||
|
|
||||||
this.config.deleteEntityTitle = rule => this.translate.instant('notification.delete-rule-title', {ruleName: rule.name});
|
this.config.deleteEntityTitle = rule => this.translate.instant('notification.delete-rule-title', {ruleName: rule.name});
|
||||||
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-rule-text');
|
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-rule-text');
|
||||||
|
this.config.deleteEntitiesTitle = count => this.translate.instant('notification.delete-rules-title', {count});
|
||||||
|
this.config.deleteEntitiesContent = () => this.translate.instant('notification.delete-rules-text');
|
||||||
this.config.deleteEntity = id => this.notificationService.deleteNotificationRule(id.id);
|
this.config.deleteEntity = id => this.notificationService.deleteNotificationRule(id.id);
|
||||||
|
|
||||||
this.config.cellActionDescriptors = this.configureCellActions();
|
this.config.cellActionDescriptors = this.configureCellActions();
|
||||||
|
|||||||
@ -79,9 +79,9 @@
|
|||||||
<tb-entity-list
|
<tb-entity-list
|
||||||
required
|
required
|
||||||
formControlName="targets"
|
formControlName="targets"
|
||||||
labelText="{{ 'notification.targets' | translate }}"
|
labelText="{{ 'notification.recipients' | translate }}"
|
||||||
placeholderText="{{ 'notification.target' | translate }}"
|
placeholderText="{{ 'notification.recipient' | translate }}"
|
||||||
requiredText="{{ 'notification.targets-required' | translate }}"
|
requiredText="{{ 'notification.recipients-required' | translate }}"
|
||||||
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
entityType="{{ entityType.NOTIFICATION_TARGET }}"
|
||||||
subType="{{ notificationType.GENERAL }}">
|
subType="{{ notificationType.GENERAL }}">
|
||||||
<button #createTargetButton
|
<button #createTargetButton
|
||||||
@ -336,11 +336,20 @@
|
|||||||
<mat-icon class="tb-mat-18">supervisor_account</mat-icon>
|
<mat-icon class="tb-mat-18">supervisor_account</mat-icon>
|
||||||
<div class="group-title">{{ 'notification.recipients-count' | translate : {count: preview.totalRecipientsCount} }}</div>
|
<div class="group-title">{{ 'notification.recipients-count' | translate : {count: preview.totalRecipientsCount} }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="details-recipients" *ngIf="notificationRequestForm.get('targets').value.length > 1">
|
<div class="details-recipients" *ngIf="notificationRequestForm.get('targets').value?.length > 1">
|
||||||
<div *ngFor="let detail of preview.recipientsCountByTarget | keyvalue" class="details-recipient">
|
<div *ngFor="let detail of preview.recipientsCountByTarget | keyvalue" class="details-recipient">
|
||||||
<span class="number">{{ detail.value }}</span>{{ detail.key }}
|
<span class="number">{{ detail.value }}</span>{{ detail.key }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<mat-divider class="divider"></mat-divider>
|
||||||
|
<div class="details-recipients">
|
||||||
|
<div *ngFor="let user of preview.recipientsPreview" class="details-recipient">
|
||||||
|
<span *ngIf="(user.firstName || user.lastName); else email">{{ user.firstName }} {{ user.lastName }} ({{ user.email }})</span>
|
||||||
|
<ng-template #email>
|
||||||
|
{{ user.email }}
|
||||||
|
</ng-template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</mat-step>
|
</mat-step>
|
||||||
|
|||||||
@ -104,6 +104,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.divider {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.web-preview {
|
.web-preview {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
@ -39,10 +39,10 @@
|
|||||||
<ng-template matStepLabel>{{ 'notification.basic-settings' | translate }}</ng-template>
|
<ng-template matStepLabel>{{ 'notification.basic-settings' | translate }}</ng-template>
|
||||||
<form [formGroup]="templateNotificationForm" style="padding-bottom: 16px;">
|
<form [formGroup]="templateNotificationForm" style="padding-bottom: 16px;">
|
||||||
<mat-form-field class="mat-block">
|
<mat-form-field class="mat-block">
|
||||||
<mat-label translate>notification.target-name</mat-label>
|
<mat-label translate>notification.name</mat-label>
|
||||||
<input matInput formControlName="name" required>
|
<input matInput formControlName="name" required>
|
||||||
<mat-error *ngIf="templateNotificationForm.get('name').hasError('required')">
|
<mat-error *ngIf="templateNotificationForm.get('name').hasError('required')">
|
||||||
{{ 'notification.target-name-required' | translate }}
|
{{ 'notification.name-required' | translate }}
|
||||||
</mat-error>
|
</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field fxFlex class="mat-block" *ngIf="!hideSelectType">
|
<mat-form-field fxFlex class="mat-block" *ngIf="!hideSelectType">
|
||||||
|
|||||||
@ -48,7 +48,6 @@ export class TemplateTableConfigResolver implements Resolve<EntityTableConfig<No
|
|||||||
|
|
||||||
this.config.entityType = EntityType.NOTIFICATION_TEMPLATE;
|
this.config.entityType = EntityType.NOTIFICATION_TEMPLATE;
|
||||||
this.config.detailsPanelEnabled = false;
|
this.config.detailsPanelEnabled = false;
|
||||||
this.config.selectionEnabled = false;
|
|
||||||
this.config.addEnabled = false;
|
this.config.addEnabled = false;
|
||||||
this.config.rowPointer = true;
|
this.config.rowPointer = true;
|
||||||
|
|
||||||
@ -59,6 +58,8 @@ export class TemplateTableConfigResolver implements Resolve<EntityTableConfig<No
|
|||||||
|
|
||||||
this.config.deleteEntityTitle = template => this.translate.instant('notification.delete-template-title', {templateName: template.name});
|
this.config.deleteEntityTitle = template => this.translate.instant('notification.delete-template-title', {templateName: template.name});
|
||||||
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-template-text');
|
this.config.deleteEntityContent = () => this.translate.instant('notification.delete-template-text');
|
||||||
|
this.config.deleteEntitiesTitle = count => this.translate.instant('notification.delete-templates-title', {count});
|
||||||
|
this.config.deleteEntitiesContent = () => this.translate.instant('notification.delete-templates-text');
|
||||||
this.config.deleteEntity = id => this.notificationService.deleteNotificationTemplate(id.id);
|
this.config.deleteEntity = id => this.notificationService.deleteNotificationTemplate(id.id);
|
||||||
|
|
||||||
this.config.cellActionDescriptors = this.configureCellActions();
|
this.config.cellActionDescriptors = this.configureCellActions();
|
||||||
|
|||||||
@ -369,15 +369,17 @@ export const entityTypeTranslations = new Map<EntityType | AliasEntityType, Enti
|
|||||||
{
|
{
|
||||||
type: 'entity.type-notification-rule',
|
type: 'entity.type-notification-rule',
|
||||||
noEntities: 'notification.no-rules-notification',
|
noEntities: 'notification.no-rules-notification',
|
||||||
search: 'notification.search-rules'
|
search: 'notification.search-rules',
|
||||||
|
selectedEntities: 'notification.selected-rules'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
EntityType.NOTIFICATION_TARGET,
|
EntityType.NOTIFICATION_TARGET,
|
||||||
{
|
{
|
||||||
type: 'entity.type-notification-target',
|
type: 'entity.type-notification-target',
|
||||||
noEntities: 'notification.no-targets-notification',
|
noEntities: 'notification.no-recipients-notification',
|
||||||
search: 'notification.search-targets'
|
search: 'notification.search-recipients',
|
||||||
|
selectedEntities: 'notification.selected-recipients'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
@ -385,7 +387,8 @@ export const entityTypeTranslations = new Map<EntityType | AliasEntityType, Enti
|
|||||||
{
|
{
|
||||||
type: 'entity.type-notification-template',
|
type: 'entity.type-notification-template',
|
||||||
noEntities: 'notification.no-notification-templates',
|
noEntities: 'notification.no-notification-templates',
|
||||||
search: 'notification.search-templates'
|
search: 'notification.search-templates',
|
||||||
|
selectedEntities: 'notification.selected-template'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import { EntityId } from '@shared/models/id/entity-id';
|
|||||||
import { NotificationRuleId } from '@shared/models/id/notification-rule-id';
|
import { NotificationRuleId } from '@shared/models/id/notification-rule-id';
|
||||||
import { AlarmSearchStatus, AlarmSeverity, AlarmStatus } from '@shared/models/alarm.models';
|
import { AlarmSearchStatus, AlarmSeverity, AlarmStatus } from '@shared/models/alarm.models';
|
||||||
import { EntityType } from '@shared/models/entity-type.models';
|
import { EntityType } from '@shared/models/entity-type.models';
|
||||||
|
import { User } from '@shared/models/user.model';
|
||||||
|
|
||||||
export interface Notification {
|
export interface Notification {
|
||||||
readonly id: NotificationId;
|
readonly id: NotificationId;
|
||||||
@ -70,6 +71,7 @@ export interface NotificationRequestPreview {
|
|||||||
totalRecipientsCount: number;
|
totalRecipientsCount: number;
|
||||||
recipientsCountByTarget: { [key in string]: number };
|
recipientsCountByTarget: { [key in string]: number };
|
||||||
processedTemplates: { [key in NotificationDeliveryMethod]: DeliveryMethodNotificationTemplate };
|
processedTemplates: { [key in NotificationDeliveryMethod]: DeliveryMethodNotificationTemplate };
|
||||||
|
recipientsPreview: Array<User>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NotificationRequestStats {
|
export interface NotificationRequestStats {
|
||||||
@ -366,34 +368,34 @@ interface NotificationTargetConfigTypeInfo {
|
|||||||
export const NotificationTargetConfigTypeInfoMap = new Map<NotificationTargetConfigType, NotificationTargetConfigTypeInfo>([
|
export const NotificationTargetConfigTypeInfoMap = new Map<NotificationTargetConfigType, NotificationTargetConfigTypeInfo>([
|
||||||
[NotificationTargetConfigType.ALL_USERS,
|
[NotificationTargetConfigType.ALL_USERS,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.all-users'
|
name: 'notification.recipient-type.all-users'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[NotificationTargetConfigType.TENANT_ADMINISTRATORS,
|
[NotificationTargetConfigType.TENANT_ADMINISTRATORS,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.tenant-administrators'
|
name: 'notification.recipient-type.tenant-administrators'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[NotificationTargetConfigType.CUSTOMER_USERS,
|
[NotificationTargetConfigType.CUSTOMER_USERS,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.customer-users'
|
name: 'notification.recipient-type.customer-users'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[NotificationTargetConfigType.USER_LIST,
|
[NotificationTargetConfigType.USER_LIST,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.user-list'
|
name: 'notification.recipient-type.user-list'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[NotificationTargetConfigType.ORIGINATOR_ENTITY_OWNER_USERS,
|
[NotificationTargetConfigType.ORIGINATOR_ENTITY_OWNER_USERS,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.users-entity-owner',
|
name: 'notification.recipient-type.users-entity-owner',
|
||||||
hint: 'notification.target-type.users-entity-owner-hint'
|
hint: 'notification.recipient-type.users-entity-owner-hint'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[NotificationTargetConfigType.AFFECTED_USER,
|
[NotificationTargetConfigType.AFFECTED_USER,
|
||||||
{
|
{
|
||||||
name: 'notification.target-type.affected-user',
|
name: 'notification.recipient-type.affected-user',
|
||||||
hint: 'notification.target-type.affected-user-hint'
|
hint: 'notification.recipient-type.affected-user-hint'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -2729,11 +2729,12 @@
|
|||||||
"notification": {
|
"notification": {
|
||||||
"action-button": "Action button",
|
"action-button": "Action button",
|
||||||
"action-type": "Action type",
|
"action-type": "Action type",
|
||||||
"add-notification-target": "Add notification recipients group",
|
"add-notification-recipients-group": "Add notification recipients group",
|
||||||
"add-notification-template": "Add notification template",
|
"add-notification-template": "Add notification template",
|
||||||
|
"add-recipient": "Add recipient",
|
||||||
|
"add-recipients": "Add recipients",
|
||||||
"add-rule": "Add rule",
|
"add-rule": "Add rule",
|
||||||
"add-stage": "Add stage",
|
"add-stage": "Add stage",
|
||||||
"add-target": "Add recipients",
|
|
||||||
"add-template": "Add template",
|
"add-template": "Add template",
|
||||||
"after": "After",
|
"after": "After",
|
||||||
"alarm-assignment-trigger-settings": "Alarm assignment trigger settings",
|
"alarm-assignment-trigger-settings": "Alarm assignment trigger settings",
|
||||||
@ -2751,22 +2752,27 @@
|
|||||||
"copy-rule": "Copy rule",
|
"copy-rule": "Copy rule",
|
||||||
"copy-template": "Copy template",
|
"copy-template": "Copy template",
|
||||||
"create-new": "Create new",
|
"create-new": "Create new",
|
||||||
"create-target": "Create recipient",
|
|
||||||
"created": "Created",
|
"created": "Created",
|
||||||
"delete-notification-text": "Be careful, after the confirmation the notification will become unrecoverable.",
|
"delete-notification-text": "Be careful, after the confirmation the notification will become unrecoverable.",
|
||||||
"delete-notification-title": "Are you sure you want to delete the notification?",
|
"delete-notification-title": "Are you sure you want to delete the notification?",
|
||||||
"delete-notifications-text": "Be careful, after the confirmation the notifications will become unrecoverable.",
|
"delete-notifications-text": "Be careful, after the confirmation notifications will become unrecoverable.",
|
||||||
"delete-notifications-title": "Are you sure you want to delete { count, plural, =1 {1 notification} other {# notifications} }?",
|
"delete-notifications-title": "Are you sure you want to delete { count, plural, =1 {1 notification} other {# notifications} }?",
|
||||||
"delete-request-text": "Be careful, after the confirmation the notification request will become unrecoverable.",
|
"delete-recipient-text": "Be careful, after the confirmation the recipient will become unrecoverable.",
|
||||||
"delete-request-title": "Are you sure you want to delete the notification request?",
|
"delete-recipient-title": "Are you sure you want to delete recipient '{{recipientName}}'?",
|
||||||
"delete-requests-text": "Be careful, after the confirmation the notification requests will become unrecoverable.",
|
"delete-recipients-text": "Be careful, after the confirmation recipients will become unrecoverable.",
|
||||||
|
"delete-recipients-title": "Are you sure you want to delete { count, plural, =1 {1 recipient} other {# recipients} }?",
|
||||||
|
"delete-request-text": "Be careful, after the confirmation request will become unrecoverable.",
|
||||||
|
"delete-request-title": "Are you sure you want to delete request?",
|
||||||
|
"delete-requests-text": "Be careful, after the confirmation requests will become unrecoverable.",
|
||||||
"delete-requests-title": "Are you sure you want to delete { count, plural, =1 {1 request} other {# requests} }?",
|
"delete-requests-title": "Are you sure you want to delete { count, plural, =1 {1 request} other {# requests} }?",
|
||||||
"delete-rule-text": "Be careful, after the confirmation the notification rule will become unrecoverable.",
|
"delete-rule-text": "Be careful, after the confirmation rule will become unrecoverable.",
|
||||||
"delete-rule-title": "Are you sure you want to delete the notification rule '{{ruleName}}'?",
|
"delete-rule-title": "Are you sure you want to delete rule '{{ruleName}}'?",
|
||||||
"delete-target-text": "Be careful, after the confirmation the notification recipient will become unrecoverable.",
|
"delete-rules-text": "Be careful, after the confirmation rules will become unrecoverable.",
|
||||||
"delete-target-title": "Are you sure you want to delete the notification recipient '{{targetName}}'?",
|
"delete-rules-title": "Are you sure you want to delete { count, plural, =1 {1 rule} other {# rules} }?",
|
||||||
"delete-template-text": "Be careful, after the confirmation the notification template will become unrecoverable.",
|
"delete-template-text": "Be careful, after the confirmation template will become unrecoverable.",
|
||||||
"delete-template-title": "Are you sure you want to delete the notification template '{{templateName}}'?",
|
"delete-template-title": "Are you sure you want to delete template '{{templateName}}'?",
|
||||||
|
"delete-templates-text": "Be careful, after the confirmation templates will become unrecoverable.",
|
||||||
|
"delete-templates-title": "Are you sure you want to delete { count, plural, =1 {1 template} other {# templates} }?",
|
||||||
"deleted": "Deleted",
|
"deleted": "Deleted",
|
||||||
"delivery-method": {
|
"delivery-method": {
|
||||||
"delivery-method": "Delivery method",
|
"delivery-method": "Delivery method",
|
||||||
@ -2788,7 +2794,7 @@
|
|||||||
"device-inactivity-trigger-settings": "Device inactive trigger settings",
|
"device-inactivity-trigger-settings": "Device inactive trigger settings",
|
||||||
"device-list-rule-hint": "If the field is empty, the trigger will be applied to all devices",
|
"device-list-rule-hint": "If the field is empty, the trigger will be applied to all devices",
|
||||||
"device-profiles-list-rule-hint": "If the field is empty, the trigger will be applied to all device profiles",
|
"device-profiles-list-rule-hint": "If the field is empty, the trigger will be applied to all device profiles",
|
||||||
"edit-notification-target": "Edit notification recipients group",
|
"edit-notification-recipients-group": "Edit notification recipients group",
|
||||||
"edit-notification-template": "Edit notification template",
|
"edit-notification-template": "Edit notification template",
|
||||||
"edit-rule": "Edit rule",
|
"edit-rule": "Edit rule",
|
||||||
"edit-template": "Edit template",
|
"edit-template": "Edit template",
|
||||||
@ -2814,21 +2820,22 @@
|
|||||||
"mark-as-read": "Mark as read",
|
"mark-as-read": "Mark as read",
|
||||||
"message": "Message",
|
"message": "Message",
|
||||||
"message-required": "Message is required",
|
"message-required": "Message is required",
|
||||||
|
"name": "Name",
|
||||||
|
"name-required": "Name is required",
|
||||||
"new-notification": "New notification",
|
"new-notification": "New notification",
|
||||||
"no-inbox-notification": "No notification found",
|
"no-inbox-notification": "No notification found",
|
||||||
"no-notification-request": "No notification request",
|
"no-notification-request": "No notification request",
|
||||||
"no-notification-templates": "No notification templates found",
|
"no-notification-templates": "No notification templates found",
|
||||||
"no-notifications-yet": "No notifications yet",
|
"no-notifications-yet": "No notifications yet",
|
||||||
|
"no-recipients-notification": "No recipients notification",
|
||||||
"no-rule": "No rule configured",
|
"no-rule": "No rule configured",
|
||||||
"no-rules-notification": "No rules notification",
|
"no-rules-notification": "No rules notification",
|
||||||
"no-severity-found": "No severity found",
|
"no-severity-found": "No severity found",
|
||||||
"no-severity-matching": "'{{severity}}' not found.",
|
"no-severity-matching": "'{{severity}}' not found.",
|
||||||
"no-targets-notification": "No recipients notification",
|
|
||||||
"no-template-matching": "No resource matching '{{template}}' were found.",
|
"no-template-matching": "No resource matching '{{template}}' were found.",
|
||||||
"not-found-slack-recipient": "Slack recipient not found",
|
"not-found-slack-recipient": "Slack recipient not found",
|
||||||
"notification": "Notification",
|
"notification": "Notification",
|
||||||
"notification-center": "Notification center",
|
"notification-center": "Notification center",
|
||||||
"notification-target": "Recipient group",
|
|
||||||
"notify": "notify",
|
"notify": "notify",
|
||||||
"notify-again": "Notify again",
|
"notify-again": "Notify again",
|
||||||
"notify-alarm-action": {
|
"notify-alarm-action": {
|
||||||
@ -2848,9 +2855,21 @@
|
|||||||
"only-rule-node-lifecycle-failures": "Only rule node lifecycle failures",
|
"only-rule-node-lifecycle-failures": "Only rule node lifecycle failures",
|
||||||
"platform-users": "Platform users",
|
"platform-users": "Platform users",
|
||||||
"recipient": "Recipient",
|
"recipient": "Recipient",
|
||||||
"recipient-type": "Recipient type",
|
"recipient-group": "Recipient group",
|
||||||
|
"recipient-type": {
|
||||||
|
"affected-user": "Affected user",
|
||||||
|
"affected-user-hint": "Affected user hint",
|
||||||
|
"all-users": "All users",
|
||||||
|
"customer-users": "Customer users",
|
||||||
|
"tenant-administrators": "Tenant administrators",
|
||||||
|
"user-filters": "User filter",
|
||||||
|
"user-list": "User list",
|
||||||
|
"users-entity-owner": "Users of the entity owner",
|
||||||
|
"users-entity-owner-hint": "Users of the entity owner hint"
|
||||||
|
},
|
||||||
"recipients": "Recipients",
|
"recipients": "Recipients",
|
||||||
"recipients-count": "{ count, plural, =1 {1 recipient} other {# recipients} }",
|
"recipients-count": "{ count, plural, =1 {1 recipient} other {# recipients} }",
|
||||||
|
"recipients-required": "Recipients is required",
|
||||||
"request-search": "Request search",
|
"request-search": "Request search",
|
||||||
"request-status": {
|
"request-status": {
|
||||||
"processing": "Processing",
|
"processing": "Processing",
|
||||||
@ -2868,12 +2887,15 @@
|
|||||||
"rules": "Rules",
|
"rules": "Rules",
|
||||||
"scheduler-later": "Schedule for later",
|
"scheduler-later": "Schedule for later",
|
||||||
"search-notification": "Search notifications",
|
"search-notification": "Search notifications",
|
||||||
|
"search-recipients": "Search recipients",
|
||||||
"search-rules": "Search rules",
|
"search-rules": "Search rules",
|
||||||
"search-targets": "Search recipients",
|
|
||||||
"search-templates": "Search templates",
|
"search-templates": "Search templates",
|
||||||
"see-documentation": "See documentation",
|
"see-documentation": "See documentation",
|
||||||
"selected-notifications": "{ count, plural, =1 {1 notification} other {# notifications} } selected",
|
"selected-notifications": "{ count, plural, =1 {1 notification} other {# notifications} } selected",
|
||||||
|
"selected-recipients": "{ count, plural, =1 {1 recipient} other {# recipients} } selected",
|
||||||
"selected-requests": "{ count, plural, =1 {1 request} other {# requests} } selected",
|
"selected-requests": "{ count, plural, =1 {1 request} other {# requests} } selected",
|
||||||
|
"selected-rules": "{ count, plural, =1 {1 rule} other {# rules} } selected",
|
||||||
|
"selected-template": "{ count, plural, =1 {1 template} other {# templates} } selected",
|
||||||
"send-notification": "Send notification",
|
"send-notification": "Send notification",
|
||||||
"sent": "Sent",
|
"sent": "Sent",
|
||||||
"set-entity-from-notification": "Set entity from notification to dashboard state",
|
"set-entity-from-notification": "Set entity from notification to dashboard state",
|
||||||
@ -2888,22 +2910,6 @@
|
|||||||
"stop-escalation-alarm-status-become": "Stop the escalation on the alarm status become:",
|
"stop-escalation-alarm-status-become": "Stop the escalation on the alarm status become:",
|
||||||
"subject": "Subject",
|
"subject": "Subject",
|
||||||
"subject-required": "Subject is required",
|
"subject-required": "Subject is required",
|
||||||
"target": "Recipient",
|
|
||||||
"target-name": "Name",
|
|
||||||
"target-name-required": "Name is required",
|
|
||||||
"target-type": {
|
|
||||||
"affected-user": "Affected user",
|
|
||||||
"affected-user-hint": "Affected user hint",
|
|
||||||
"all-users": "All users",
|
|
||||||
"customer-users": "Customer users",
|
|
||||||
"tenant-administrators": "Tenant administrators",
|
|
||||||
"user-filters": "User filter",
|
|
||||||
"user-list": "User list",
|
|
||||||
"users-entity-owner": "Users of the entity owner",
|
|
||||||
"users-entity-owner-hint": "Users of the entity owner hint"
|
|
||||||
},
|
|
||||||
"targets": "Recipients",
|
|
||||||
"targets-required": "Recipients is required",
|
|
||||||
"template": "Template",
|
"template": "Template",
|
||||||
"template-name": "Template name",
|
"template-name": "Template name",
|
||||||
"template-required": "Template is required",
|
"template-required": "Template is required",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user