Do not display empty notification settings group
This commit is contained in:
parent
b13e81e43f
commit
098c25ece6
|
@ -1,33 +1,35 @@
|
|||
<div *ngIf="webNotifications">
|
||||
<ng-container *ngFor="let group of notificationSettingGroups">
|
||||
<div class="header notification-row">
|
||||
<div i18n>{{ group.label }}</div>
|
||||
<div i18n>Web</div>
|
||||
<div i18n *ngIf="emailEnabled">Email</div>
|
||||
</div>
|
||||
|
||||
<ng-container *ngFor="let notificationType of group.keys">
|
||||
<div class="small notification-row" *ngIf="hasUserRight(notificationType)">
|
||||
<div>{{ labelNotifications[notificationType] }}</div>
|
||||
|
||||
<div>
|
||||
<my-input-switch
|
||||
[label]="getWebLabel(notificationType)"
|
||||
[inputName]="'web-notification-' + notificationType"
|
||||
[(ngModel)]="webNotifications[notificationType]"
|
||||
(ngModelChange)="updateWebSetting(notificationType, webNotifications[notificationType])"
|
||||
></my-input-switch>
|
||||
</div>
|
||||
|
||||
<div *ngIf="emailEnabled">
|
||||
<my-input-switch
|
||||
[label]="getEmailLabel(notificationType)"
|
||||
[inputName]="'email-notification-' + notificationType"
|
||||
[(ngModel)]="emailNotifications[notificationType]"
|
||||
(ngModelChange)="updateEmailSetting(notificationType, emailNotifications[notificationType])"
|
||||
></my-input-switch>
|
||||
</div>
|
||||
<ng-container *ngIf="hasNotificationsInGroup(group)">
|
||||
<div class="header notification-row">
|
||||
<div i18n>{{ group.label }}</div>
|
||||
<div i18n>Web</div>
|
||||
<div i18n *ngIf="emailEnabled">Email</div>
|
||||
</div>
|
||||
|
||||
<ng-container *ngFor="let notificationType of group.keys">
|
||||
<div class="small notification-row" *ngIf="hasUserRight(notificationType)">
|
||||
<div>{{ labelNotifications[notificationType] }}</div>
|
||||
|
||||
<div>
|
||||
<my-input-switch
|
||||
[label]="getWebLabel(notificationType)"
|
||||
[inputName]="'web-notification-' + notificationType"
|
||||
[(ngModel)]="webNotifications[notificationType]"
|
||||
(ngModelChange)="updateWebSetting(notificationType, webNotifications[notificationType])"
|
||||
></my-input-switch>
|
||||
</div>
|
||||
|
||||
<div *ngIf="emailEnabled">
|
||||
<my-input-switch
|
||||
[label]="getEmailLabel(notificationType)"
|
||||
[inputName]="'email-notification-' + notificationType"
|
||||
[(ngModel)]="emailNotifications[notificationType]"
|
||||
(ngModelChange)="updateEmailSetting(notificationType, emailNotifications[notificationType])"
|
||||
></my-input-switch>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
|
|
|
@ -116,6 +116,10 @@ export class MyAccountNotificationPreferencesComponent implements OnInit {
|
|||
return this.user.hasRight(rightToHave)
|
||||
}
|
||||
|
||||
hasNotificationsInGroup (group: { keys: (keyof UserNotificationSetting)[] }) {
|
||||
return group.keys.some(k => this.hasUserRight(k))
|
||||
}
|
||||
|
||||
getWebLabel (notificationType: keyof UserNotificationSetting) {
|
||||
return `Toggle web notification for "${this.labelNotifications[notificationType]}"`
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue