@clavisco/notification-center
v0.0.3
Published
**Token**: `Notification-Center` > Permite mostrar un panel de notificaciones en tiempo real.
Downloads
63
Readme
Acerca de @clavisco/notification-center
Token: Notification-Center
Permite mostrar un panel de notificaciones en tiempo real.
¿Qué resuelve?
Habilita un entorno general que permite mostrar una lista de eventos o notificaciones en tiempo real.
Dependencias
Resumen de version
Correcciones (Fixes)
- Error ExpressionChangedAfterItHasBeenCheckedError
Servicio de notificaciones
Métodos disponibles
- Push(_args: { guid?: string, type: CLNotificationType, title: string, message: string, date?: Date, read?: boolean, notified?: boolean, data?: any }): Devuelve una notificación ICLNotification y recibe un objeto como parámetro.
- guid: Identificador único para la notificación, es opcional, si no se asigna se genera un UUID aleatorio.
- type: Define el tipo de la notificación, se especifica como parte del enum CLNotificationType.
- title: Título de la alerta, se recomienda utilizar un título corto.
- message: Mensaje sobre el error, notificacion o indicaciones, no posee un tamaño maximo, sin embargo el componente lo truncara de manera visual en dos lineas.
- date: Fecha y hora de la notificacion, si no se asignar se genera automaticamente con el dia y la hora actual.
- read: Define si la notificación ya fue leída, por defecto se asigna en false
- notified: Define si la notificación ya fue mostrada en la lista del componente de notificaciones, esto tiene efecto directamente sobre el contador de notificaciones del boton del panel.
- data: Puede almacenar otro tipo de data que sean de utilidad para notificacion, errores, objetos o definir un texto mas amplio sobre el mensaje.
- priority: Nivel de prioridad de la notificacion es utlizado para definir si se aumenta el contador de notificaiones, puede ser high o low, esta ultima opcion por defecto
- Pop(): Elimina y retorna la última notificación agregada como un ICLNotification o undefined si la pila esta vacía.
- Remove(_notification: ICLNotification): Elimina y retorna la notificación especificada como un ICLNotification o undefined si la pila esta vacía o no encuentra el guid.
- _notification: Notificación a eliminar, se utlizar el atributo guid para seleccionar al notificación correcta.
- Get(_guid: string): Retorna la notificación especificada como un ICLNotification o undefined si la pila esta vacía o no encuentra el guid.
- _guid: Identificador único para la notificación a buscar.
- Select(_args: { types?: CLNotificationType[], read?: boolean, titleContains?: string, messageContains?: string, dateRange?: { from?: Date, to?: Date } }): Devuelve una lista de notificaciones ICLNotification y recibe un objeto como parámetro.
- types: Lista de los tipos que desea filtrar basados en el enum CLNotificationType
- read: Filtrar por ya leidos
- titleContains: Texto para buscar dentro del título de la notificación
- messageContains: Texto para buscar dentro del mensaje de la notificación
- dateRange: Objeto compuesto de dos sun atributos from fecha y hora desde la que se inicia el filtro y to fecha y hora en la que finaliza el filtro, se puede omitir from o to para crear filtros de rango abierto.
- All(): Retorna una lista de ICLNotification, con todas la notificaciones existentes en la pila.
- Flush(): Elimina todas la notificaciones de la pila y retorna una lista de ICLNotification con los elementos eliminados.
¿Cómo lo uso?
- Primero debemos cumplir las depencias mencionadas al inicio de este documento
- Ejecutar el comando
npm i @clavisco/notification-center
en el directorio root del proyecto- Importalo en el app.module.ts o en el modulo donde desee utilizarlo.
- Inyectar el servicio en el controlador donde queremos lanzar notificaciones
constructor(private notificationCenterService: NotificationCenterService)
- Ejemplo de implementación del componente en el template html
<cl-notification-center></cl-notification-center>
- Ejemplo de llamado de una modal
this.notificationCenterService.Push({ type: CLNotificationType.ERROR, title: "Título del mensaje", message: "Mensaje o error a mostrar" });
- Puede agregar la siguiente configuración para definir el número máximo de notificaciones a almacenar, si no la agrega el valor por defecto son 100
Repository.Behavior.SetTokenConfiguration({ token: 'NotificationCenter', setting: 'max', value: '5' });
- Ya con esto tenemos una implementación básica con el uso del centro de notificaciones
ClavisCo ©