{"version":3,"file":"project-sunbird-sb-notification.mjs","sources":["../../../projects/notification/src/lib/models.ts","../../../projects/notification/src/lib/notification-data.ts","../../../projects/notification/src/lib/notification-card/notification-card-data.ts","../../../projects/notification/src/lib/notification-card/notification-card.component.ts","../../../projects/notification/src/lib/notification-card/notification-card.component.html","../../../projects/notification/src/lib/notification.component.ts","../../../projects/notification/src/lib/notification.component.html","../../../projects/notification/src/lib/notification.module.ts","../../../projects/notification/src/public-api.ts","../../../projects/notification/src/project-sunbird-sb-notification.ts"],"sourcesContent":["export enum PlatformType {\n    PORTAL = 'portal',\n    MOBILE = 'mobile'\n}\n\nexport enum NotificationStatus {\n    READ = 'read',\n    UNREAD = 'unread'\n}\n\nexport enum NotificationFeedCategory {\n    ORG_MIGRATION_ACTION = \"OrgMigrationAction\",\n    NOTIFICATION = \"Notification\"\n}\n\nexport interface NotificationViewConfig {\n    title: string;\n    subTitle: string;\n    clearText: string;\n    moreText: string;\n    lessText: string;\n    minNotificationViewCount: number;\n}\n\nexport interface NotificationFeedEntry<T = any> {\n    id: string|number;\n    userId?: string|number;\n    category?: NotificationFeedCategory | any;\n    priority?: number;\n    createdBy?: string;\n    createdOn?: any;\n    channel?: string;\n    status: NotificationStatus | any;\n    expireOn?: any;\n    data: T;\n}\n\nexport interface Notification {\n    id?: string|number;\n    type?: number;\n    displayTime?: any;\n    expiry?: any;\n    actionData?: {\n        actionType?: string;\n        title?: string;\n        description?: string;\n        identifier?: string;\n        richText?: string;\n        ctaText?: string;\n        deepLink?: string;\n        thumbnail?: string;\n        banner?: string;\n        contentURL?: string;\n        openPlayer?: boolean;\n    }\n}\n\nexport interface EventNotification {\n    event: any;\n    data: NotificationFeedEntry<Notification>[] | NotificationFeedEntry<Notification> | any;\n}","import { NotificationViewConfig, Notification, NotificationFeedEntry, NotificationStatus } from \"./models\";\n\nexport const notificationList: NotificationFeedEntry<Notification>[] = [\n  {\n    data: {\n      actionData: {\n        actionType: 'contentURL',\n        contentURL: 'https://url/resources/play/content/do_00000',\n        description: 'Notfication description 1',\n        openPlayer: true,\n        title: 'InApp Notification 1',\n        thumbnail: ''\n      },\n      type: 1\n    },\n    id: 'id1',\n    category: 'Notification',\n    priority: 1,\n    userId: 'user-id',\n    createdOn: 1605589382634,\n    status: NotificationStatus.UNREAD\n  },\n  {\n    data: {\n      actionData: {\n        actionType: 'contentURL',\n        contentURL: 'https://url/resources/play/content/do_00000',\n        description: 'Notfication description 2',\n        openPlayer: true,\n        title: 'InApp Notification 2',\n        thumbnail: ''\n      },\n      type: 1\n    },\n    id: 'id2',\n    category: 'Notification',\n    priority: 1,\n    userId: 'user-id',\n    createdOn: 1605589382634,\n    status: NotificationStatus.READ\n  }\n];\n\nexport const notificationViewConfig: NotificationViewConfig = {\n  title: 'Notification',\n  subTitle: 'New Notification (s)',\n  clearText: 'Clear',\n  moreText: 'See more',\n  lessText: 'See less',\n  minNotificationViewCount: 5\n}","import { Notification, NotificationFeedEntry, NotificationStatus } from \"../models\";\n\nexport const notificationData: any = {\n  \"expireOn\": null,\n  \"createdBy\": \"8454cb21-3ce9-4e30-85b5-fade097880d8\",\n  \"action\": {\n      \"template\": {\n          \"ver\": \"4.3.0\",\n          \"data\": \"{\\\"title\\\": \\\"you have been added to dev group by ntptest104\\\"}\",\n          \"type\": \"JSON\"\n      },\n      \"createdBy\": {\n          \"id\": \"8454cb21-3ce9-4e30-85b5-fade097880d8\",\n          \"name\": \"ntptest104\",\n          \"type\": \"User\"\n      },\n      \"additionalInfo\": {\n          \"group\": {\n              \"id\": \"dfb38dd6-2200-4622-ac07-0a0e3740e948\",\n              \"name\": \"dev group\"\n          },\n          \"groupRole\": \"admin\"\n      },\n      \"type\": \"member-added\"\n  },\n  \"id\": \"8736208f-1b23-465a-bbd4-4492e5180a5b\",\n  \"updatedOn\": null,\n  \"category\": \"groups\",\n  \"priority\": 1,\n  \"createdOn\": 1631080910003,\n  \"userId\": \"8454cb21-3ce9-4e30-85b5-fade097880d8\",\n  \"version\": null,\n  \"status\": \"unread\"\n}\n","import { Component, EventEmitter, Inject, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { notificationData } from './notification-card-data';\nimport { Notification, NotificationFeedEntry, NotificationStatus } from '../models';\nimport { SbNotificationService } from '../notification.service';\n\n@Component({\n  selector: 'sb-notification-card',\n  templateUrl: './notification-card.component.html',\n  styleUrls: ['./notification-card.component.scss']\n})\nexport class NotificationCardComponent implements OnChanges {\n\n  @Input() notification = notificationData;\n  @Input() hideDeleteOption: boolean;\n\n  @Output() notificationClick: EventEmitter<any> = new EventEmitter();\n  @Output() deleteNotificationClick: EventEmitter<any> = new EventEmitter();\n  NotificationStatus = NotificationStatus;\n\n  constructor(\n    @Inject('SB_NOTIFICATION_SERVICE') protected sbNotificationService: SbNotificationService\n  ) { }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.notification) {\n      this.notification = changes.notification.currentValue;\n    }\n  }\n\n  notificationClickHandler(event) {\n    const eventData = {\n      event,\n      data: this.notification\n    };\n    this.notificationClick.emit(eventData);\n    this.sbNotificationService.handleNotificationClick(eventData);\n  }\n\n  notificationDeleteHandler(event) {\n    const eventData = {\n      event,\n      data: this.notification\n    };\n    this.deleteNotificationClick.emit(eventData);\n    this.sbNotificationService.deleteNotification(eventData);\n  }\n\n}","<mat-card class=\"mat-card-notification mb-8\" (click)=\"notificationClickHandler($event)\" tabindex=\"0\">\n  <mat-card-subtitle class=\"mat-caption mb-4\"><span class=\"status\" *ngIf=\"(notification?.status === NotificationStatus.UNREAD)\"></span> {{notification?.createdOn | date:'E, d MMMM h:mm'}}</mat-card-subtitle>\n  <mat-card-title class=\"mat-body-2 mb-0\" *ngIf=\"notification?.action?.template?.data?.title\" [ngClass]=\"{'active': notification?.status === NotificationStatus.UNREAD}\">{{notification?.action?.template?.data?.title}}</mat-card-title>\n  <mat-card-content *ngIf=\"notification?.data?.actionData?.description\">\n    <p>{{notification?.data?.actionData?.description}}</p>\n  </mat-card-content>\n  <mat-card-actions align=\"end\" class=\"pt-0\">\n    <button mat-icon-button color=\"warn\" aria-label=\"Delete\" *ngIf=\"!hideDeleteOption\" (click)=\"notificationDeleteHandler($event);$event.stopPropagation()\">\n      <mat-icon>delete</mat-icon>\n    </button>\n  </mat-card-actions>\n</mat-card>\n\n<!-- <div class=\"sb-notification-list p-8\" (click)=\"notificationClickHandler($event)\" tabindex=\"0\">\n  <div class=\"sb-notification-list-header d-flex flex-ai-center flex-jc-space-between\">\n    <div class=\"notification-info d-flex flex-ai-center mb-8\">\n      <div class=\"status\" *ngIf=\"(notification?.status === NotificationStatus.UNREAD)\"></div>\n      <div class=\"date ml-8\">{{notification?.createdOn | date:'E, d MMMM h:mm'}}</div>\n    </div>\n    <div class=\"delete-icon\" *ngIf=\"!hideDeleteOption\" (click)=\"notificationDeleteHandler($event);$event.stopPropagation()\" tabindex=\"0\">\n      <img class=\"Delete-gray\" src=\"assets/common-consumption/images/Delete-gray.svg\" alt=\"\" alt=\"delete\" width=\"14px\">\n      <img class=\"Delete-red\" src=\"assets/common-consumption/images/Delete-red.svg\" alt=\"\" alt=\"delete\" width=\"14px\">\n    </div>\n  </div>\n  <div class=\"sb-notification-data d-flex flex-ai-center\">\n    <div class=\"logo\" *ngIf=\"notification?.data?.actionData?.thumbnail\">\n      <img [src]=\"notification?.data?.actionData?.thumbnail\" width=\"20px\">\n    </div>\n    <div class=\"ml-12 notification-content\">\n      <div class=\"title\" *ngIf=\"notification?.action?.template?.data?.title\" [ngClass]=\"{'active': notification?.status === NotificationStatus.UNREAD}\">{{notification?.action?.template?.data?.title}}</div>\n      <div class=\"sub-title py-8\" *ngIf=\"notification?.data?.actionData?.description\">{{notification?.data?.actionData?.description}}</div>\n    </div>\n  </div>\n</div> -->","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { NotificationViewConfig, NotificationFeedEntry, Notification } from './models';\nimport { SbNotificationService } from './notification.service';\nimport { notificationViewConfig } from './notification-data';\n\n@Component({\n  selector: 'sb-notification',\n  templateUrl: './notification.component.html',\n  styleUrls: ['./notification.component.scss']\n})\nexport class NotificationComponent implements OnInit, OnChanges {\n\n  @Input() notificationList: NotificationFeedEntry<Notification|any>[] = [];\n  @Input() inAppNotificationConfig: NotificationViewConfig = notificationViewConfig;\n  @Input() hideDeleteOption: boolean;\n\n  @Output() notificationClick: EventEmitter<any> = new EventEmitter();\n  @Output() deleteNotificationClick: EventEmitter<any> = new EventEmitter();\n  @Output() clearAllClick: EventEmitter<any> = new EventEmitter();\n  @Output() showMore: EventEmitter<any> = new EventEmitter();\n  @Output() showLess: EventEmitter<any> = new EventEmitter();\n  displayItemCount: number;\n\n  constructor(\n    @Inject('SB_NOTIFICATION_SERVICE') protected sbNotificationService: SbNotificationService\n  ) { }\n\n  ngOnInit() {\n    this.displayItemCount = this.inAppNotificationConfig.minNotificationViewCount;\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.notificationList) {\n      this.notificationList = changes.notificationList.currentValue;\n      this.notificationList.forEach((e: any)=> {\n       try {\n        if (e.action.template.type === 'JSON') {\n          e.action.template.data = JSON.parse(e.action.template.data) \n        }} catch (e) { \n           console.log('error', e);\n        }\n      });\n    }\n\n    if (changes.inAppNotificationConfig) {\n      this.inAppNotificationConfig = changes.inAppNotificationConfig.currentValue;\n    }\n  }\n\n  notificationClickHandler(eventData) {\n    this.notificationClick.emit(eventData);\n  }\n\n  notificationDeleteHandler(eventData) {\n    this.deleteNotificationClick.emit(eventData);\n  }\n\n  clearAllNotifications(event) {\n    const eventData = {\n      event,\n      data: this.notificationList\n    };\n    this.clearAllClick.emit(eventData);\n    this.sbNotificationService.clearAllNotifications(eventData);\n  }\n\n  onShowMore() {\n    this.showMore.emit(true);\n    if (this.notificationList.length) {\n      this.displayItemCount = this.notificationList.length;\n    }\n  }\n\n  onShowLess() {\n    this.showLess.emit(true);\n    this.displayItemCount = this.inAppNotificationConfig.minNotificationViewCount;\n  }\n\n}\n","<div class=\"sb-notification-container d-flex flex-dc\" tabindex=\"0\">\n  <div class=\"d-flex flex-ai-center flex-jc-space-between mb-8\">\n  <div class=\"sb-notification-header\">\n    <h4 class=\"mat-title mb-0 color-accent\" *ngIf=\"inAppNotificationConfig?.title\">{{inAppNotificationConfig?.title}}</h4>\n    <p class=\"mat-body-2 mb-0\" *ngIf=\"inAppNotificationConfig?.subTitle\">{{inAppNotificationConfig?.subTitle}} <a mat-button color=\"warn\" (click)=\"clearAllNotifications($event)\" *ngIf=\"inAppNotificationConfig.clearText\" tabindex=\"0\" class=\"ml-4\" aria-hidden=\"false\" role=\"link\" tabindex=\"0\">{{inAppNotificationConfig.clearText}}</a></p>\n  </div>\n</div>\n  <div class=\"sb-notification-list-items\">\n    <sb-notification-card *ngFor=\"let notification of notificationList | slice:0:displayItemCount; let i=index\" tabindex=\"0\" \n    [notification]=\"notification\"\n    [hideDeleteOption]=\"hideDeleteOption\"\n    (notificationClick)=\"notificationClickHandler($event)\"\n    (deleteNotificationClick)=\"notificationDeleteHandler($event)\">\n  </sb-notification-card>\n  </div>\n  <ng-container *ngIf=\"inAppNotificationConfig?.minNotificationViewCount < this.notificationList?.length\">\n    <a mat-button color=\"accent\" aria-hidden=\"false\" class=\"text-center\" *ngIf=\"displayItemCount < this.notificationList?.length\" tabindex=\"0\" (click)=\"onShowMore()\">{{inAppNotificationConfig?.moreText}}</a>\n    <a mat-button color=\"accent\" aria-hidden=\"false\" class=\"text-center\" *ngIf=\"displayItemCount === this.notificationList?.length\" tabindex=\"0\" (click)=\"onShowLess()\">{{inAppNotificationConfig?.lessText}}</a>\n  </ng-container>\n</div>","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NotificationComponent } from './notification.component';\nimport { NotificationCardComponent } from './notification-card/notification-card.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatIconModule} from '@angular/material/icon';\n\n@NgModule({\n  declarations: [\n    NotificationComponent,\n    NotificationCardComponent,\n  ],\n  imports: [\n    CommonModule,\n    MatButtonModule,\n    MatCardModule,\n    MatIconModule\n  ],\n  exports: [\n    NotificationComponent,\n    NotificationCardComponent\n  ]\n})\nexport class SbNotificationModule {\n  forRoot(sbNotificationService): ModuleWithProviders<any> {\n    return {\n      ngModule: sbNotificationService,\n      providers: [\n        { provide: 'SB_NOTIFICATION_SERVICE', useClass: sbNotificationService }\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of notification\n */\n\nexport * from './lib/notification.service';\nexport * from './lib/notification.component';\nexport * from './lib/notification.module';\nexport * from './lib/notification-card/notification-card.component';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.NotificationCardComponent"],"mappings":"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"}