aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/+my-account/my-account-notifications/my-account-notifications.component.ts
blob: 0ec67d4016bd0c0c3019e82aa0486b2119f5a37d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                    
                                                                    
 

                                                




                                                            
                                                                                               
 










                                                           
 


                                         
 

                                                                                         
   



                                                                     
 
import { Component, ViewChild } from '@angular/core'
import { UserNotificationsComponent } from '@app/shared/shared-main'

type NotificationSortType = 'createdAt' | 'read'

@Component({
  templateUrl: './my-account-notifications.component.html',
  styleUrls: [ './my-account-notifications.component.scss' ]
})
export class MyAccountNotificationsComponent {
  @ViewChild('userNotification', { static: true }) userNotification: UserNotificationsComponent

  _notificationSortType: NotificationSortType = 'createdAt'

  get notificationSortType () {
    return !this.hasUnreadNotifications()
      ? 'createdAt'
      : this._notificationSortType
  }

  set notificationSortType (type: NotificationSortType) {
    this._notificationSortType = type
  }

  markAllAsRead () {
    this.userNotification.markAllAsRead()
  }

  hasUnreadNotifications () {
    return this.userNotification.notifications.filter(n => n.read === false).length !== 0
  }

  onChangeSortColumn () {
    this.userNotification.changeSortColumn(this.notificationSortType)
  }
}