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