UNPKG

notifi-lib

Version:

Notificaciones sistema de comunicación Interna

239 lines (231 loc) 13.1 kB
import { ɵɵdefineInjectable, ɵɵinject, Injectable, Component, NgModule } from '@angular/core'; import { HttpHeaders, HttpClient } from '@angular/common/http'; import { A11yModule } from '@angular/cdk/a11y'; import { ClipboardModule } from '@angular/cdk/clipboard'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { PortalModule } from '@angular/cdk/portal'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { CdkStepperModule } from '@angular/cdk/stepper'; import { CdkTableModule } from '@angular/cdk/table'; import { CdkTreeModule } from '@angular/cdk/tree'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { MatBadgeModule } from '@angular/material/badge'; import { MatBottomSheetModule } from '@angular/material/bottom-sheet'; import { MatButtonModule } from '@angular/material/button'; import { MatButtonToggleModule } from '@angular/material/button-toggle'; import { MatCardModule } from '@angular/material/card'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatChipsModule } from '@angular/material/chips'; import { MatStepperModule } from '@angular/material/stepper'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatDialogModule } from '@angular/material/dialog'; import { MatDividerModule } from '@angular/material/divider'; import { MatExpansionModule } from '@angular/material/expansion'; import { MatGridListModule } from '@angular/material/grid-list'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatListModule } from '@angular/material/list'; import { MatMenuModule } from '@angular/material/menu'; import { MatNativeDateModule, MatRippleModule } from '@angular/material/core'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { MatRadioModule } from '@angular/material/radio'; import { MatSelectModule } from '@angular/material/select'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatSliderModule } from '@angular/material/slider'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { MatSortModule } from '@angular/material/sort'; import { MatTableModule } from '@angular/material/table'; import { MatTabsModule } from '@angular/material/tabs'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MatTreeModule } from '@angular/material/tree'; import { OverlayModule } from '@angular/cdk/overlay'; import { CommonModule } from '@angular/common'; class NotifiLibService { constructor(http) { this.http = http; this._url = 'https://titulaciones.siaan.ucb.edu.bo/titulos/api/'; //_url ='https://sci.siaan.ucb.edu.bo/be/api/'; //_url = 'https://localhost:44320/api/'; this.authUrl = 'https://backend.cba.ucb.edu.bo/Authentication/api/v1/'; } getFull(idCRyp) { return this.http.get(this._url + 'Notificaciones/GetNotificacion?cadena=' + idCRyp); } getPerfil() { const headers = { 'token': localStorage.getItem('tokenDeAcceso'), 'uniqueCode': localStorage.getItem('UCB_UNIQUE_CODE') }; const httpOptions = { headers: new HttpHeaders(headers) }; return this.http.get(this.authUrl + 'General/ParametrosDesdeToken', httpOptions); } cofirmarlectura(idcryp, idN) { let data = { idPublicacion: idN, idPersona: 0, estado: 1 }; return this.http.post(this._url + "Notificaciones/AddLectura?cadena=" + idcryp, data); } } NotifiLibService.ɵprov = ɵɵdefineInjectable({ factory: function NotifiLibService_Factory() { return new NotifiLibService(ɵɵinject(HttpClient)); }, token: NotifiLibService, providedIn: "root" }); NotifiLibService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; NotifiLibService.ctorParameters = () => [ { type: HttpClient } ]; class NotifiLibComponent { constructor(serv) { this.serv = serv; this.badge = 0; } ngOnInit() { const info = { UCBLIB: 'ucb-libs : notificaciones', Version: 'v. 0.1.1', Desc: 'Notificaciones sistema de comunicación Interna' }; console.log(info); this.getid(); } getid() { console.log("Obteniendo datos desde token"); this.serv.getPerfil().subscribe(d => { if (Object.entries(d).length > 0) { this.persona = d; this.idPersona = this.persona.datos.idPersona; this.getTodo(); } else { console.log("No, data"); } }); } getTodo() { this.serv.getFull(this.idPersona).subscribe(data => { // if(Object.entries(data).length > 0){ this.fullData = data; if (this.fullData.count > 0) { this.fullData = data; console.log(this.fullData); this.porLeer = this.fullData.result; this.badge = this.fullData.count; this.NumEventos = this.fullData.eventos; } else { console.log("No, data"); this.badge = 0; } }); } verNoticia(noticia) { this.serv.cofirmarlectura(this.idPersona, noticia.id).subscribe(n => { if (n) { console.log(n); this.getTodo(); window.open("https://sci.siaan.ucb.edu.bo/ucb-noticia/" + noticia.id, "_blank"); } }); } vercalendario() { window.open("https://sci.siaan.ucb.edu.bo", "_blank"); } } NotifiLibComponent.decorators = [ { type: Component, args: [{ selector: 'ucb-notifi-lib', template: "\r\n<div class=\"notifi-div\">\r\n <div style=\"border: none; background-color: none;\">\r\n <label for=\"check\">\r\n <mat-icon class=\"bagde-icon\" matBadge=\"{{badge}}\" matBadgePosition=\"after\" matBadgeColor=\"accent\" >\r\n feedback\r\n </mat-icon>\r\n </label>\r\n </div>\r\n <input id=\"check\" #check type=\"checkbox\">\r\n <div class=\"div-notifi\">\r\n <div class=\"notifi-contet\" >\r\n <div style=\"background-color: #075eaf;\" class=\"cabecera-Notifi\">\r\n <div style=\"float: left;\">\r\n <h3 style=\"color: #ffffff\" class=\"tit-secc\">Notificaciones: </h3>\r\n </div>\r\n <div style=\"float: right; margin-right: 3%; color:#FFA482; font-size: large;\">\r\n <label for=\"check\" style=\"cursor: pointer; font-size: large;\">\r\n <mat-icon >cancel</mat-icon>\r\n </label>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n </div>\r\n <label for=\"check\">\r\n <div class=\"numeventos\" (click)=\"vercalendario()\"> &nbsp; &nbsp;\r\n <mat-icon class=\"bagde-icon-event\" matBadge=\"{{NumEventos}}\" matBadgePosition=\"after\" matBadgeColor=\"accent\" style=\"color:rgb(8, 71, 243); margin-top: 3%;\" > event </mat-icon>\r\n &nbsp; &nbsp;<span style=\"font-size: small;\"> Este mes <span *ngIf=\"NumEventos<1\">No</span> hay <span *ngIf=\"NumEventos>0\">{{NumEventos}}</span> eventos.</span>\r\n </div>\r\n </label>\r\n <!---\r\n <div class=\"load\">\r\n <div style=\"color: #053e61;\"><mat-spinner style=\"margin: auto; width: 50%;\" [diameter]=\"35\" ></mat-spinner></div>\r\n <div style=\"color: #053e61; margin: auto; width: 50%;\" *ngIf=\"spinner\" ><h4>Cargando...</h4></div>\r\n </div>\r\n -->\r\n <mat-divider></mat-divider>\r\n <h5 style=\"color: #053e61; margin-left: 1%;\" class=\"tit-secc\">Publicaciones:</h5>\r\n <div style=\"color: #053e61;\" class=\"n-titulo\" *ngIf=\"badge<1\" style=\"font-size: medium; width: 80%; margin: auto; text-align: center;\" >\r\n No hay nuevas notificaciones\r\n </div>\r\n <div *ngIf=\"badge>0\">\r\n <div class=\"publi-por-leer\" *ngFor=\"let notifi of porLeer\" mat-menu-item>\r\n <label class=\"publi-por-leer\" for=\"check\" (click)=\"verNoticia(notifi)\">\r\n <mat-icon style=\"color:#09CEBC;\" *ngIf=\"notifi.tipo===1\">newspaper</mat-icon>\r\n <mat-icon style=\"color:#5CA505;\" *ngIf=\"notifi.tipo===2\">receipt_long</mat-icon>\r\n <mat-icon style=\"color:#A505A0;\" *ngIf=\"notifi.tipo===3\">notifications_active</mat-icon>\r\n <mat-icon style=\"color:#6d0369;\" *ngIf=\"notifi.tipo===4\">church</mat-icon>\r\n {{notifi.titulo | slice:0:30}}...\r\n <i style=\"font-size: x-small;\">{{notifi.fechaModificacion | date : 'dd, MMMM' }}</i>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".notifi-div{height:max-content;line-height:40px;margin-left:10px;margin-top:1%;width:20%;z-index:1000}.bagde-icon{border-radius:100%;color:#fff;cursor:pointer;font-size:20px;padding:5px;text-align:center}h3{padding-left:10px;padding-top:10px}.publi-por-leer{padding-bottom:1%;padding-top:1%;text-align:justify}.n-titulo{font-style:italic;margin-left:10px;width:70%}input{display:none}.div-notifi{background-color:#fff;left:99%;overflow:hidden;position:absolute;transition:1s;width:0;z-index:1000}.notifi-contet{width:320px;z-index:1000}input:checked+.div-notifi{border-radius:5px;box-shadow:1px 1px 1px 1px rgba(136,135,135,.726);left:calc(99% - 330px);width:320px}.numeventos{color:#075eaf;cursor:pointer;margin-left:3%;margin-top:1%}.numeventos:hover{background-color:hsla(0,0%,96.9%,.863)}"] },] } ]; NotifiLibComponent.ctorParameters = () => [ { type: NotifiLibService } ]; class MaterialModule { } MaterialModule.decorators = [ { type: NgModule, args: [{ exports: [ A11yModule, ClipboardModule, CdkStepperModule, CdkTableModule, CdkTreeModule, DragDropModule, MatAutocompleteModule, MatBadgeModule, MatBottomSheetModule, MatButtonModule, MatButtonToggleModule, MatCardModule, MatCheckboxModule, MatChipsModule, MatStepperModule, MatDatepickerModule, MatDialogModule, MatDividerModule, MatExpansionModule, MatGridListModule, MatIconModule, MatInputModule, MatListModule, MatMenuModule, MatNativeDateModule, MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatRadioModule, MatRippleModule, MatSelectModule, MatSidenavModule, MatSliderModule, MatSlideToggleModule, MatSnackBarModule, MatSortModule, MatTableModule, MatTabsModule, MatToolbarModule, MatTooltipModule, MatTreeModule, OverlayModule, PortalModule, ScrollingModule, ] },] } ]; /** Copyright 2020 Google LLC. All Rights Reserved. Use of this source code is governed by an MIT-style license that can be found in the LICENSE file at http://angular.io/license */ class NotifiLibModule { } NotifiLibModule.decorators = [ { type: NgModule, args: [{ declarations: [ NotifiLibComponent ], imports: [ CommonModule, MaterialModule ], exports: [ NotifiLibComponent ] },] } ]; /* * Public API Surface of notifi-lib */ /** * Generated bundle index. Do not edit. */ export { NotifiLibComponent, NotifiLibModule, NotifiLibService, MaterialModule as ɵa }; //# sourceMappingURL=notifi-lib.js.map