Demo Github
Hace poco salio el Reglamento de Protección de Datos, el cual obliga a todas las plataformas a que notifiquen sobre el uso de datos de los usuarios que usan y visitan una plataforma, esta información aun sigue en debate pero ya es obligatorio que todas las empresas la desplieguen a sus usuarios, vamos a trabajar con la versión de Angular 6 y Bootstrap 4 para la interface.
Trabajando con Angular 6
Abrimos la consola de comando de NodeJS (Command Prompt) Creamos un nuevo proyecto
ng new my-app
Paso seguido abrimos el archivo app.component.ts y agregamos:
import { Component, Output, EventEmitter, OnInit } from '@angular/core';
import { CookieService } from 'ngx-cookie-service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent implements OnInit {
nombre: string = 'Machu Pichu';
ubicacion: string = 'Lima - Peru, Cuzco';
cookieValue = 'UNKNOWN';
constructor( private cookieService: CookieService ) { }
ngOnInit(): void {
this.cookieService.set( 'Cookie', 'GDPR' );
this.cookieValue = this.cookieService.get('Cookie');
}
visible: boolean = true;
@Output() close: EventEmitter<any> = new EventEmitter();
onGRDP() {
this.visible = !this.visible;
if (this.visible) {
this.close.emit(null);
}
}
}
Trabajando con Bootstrap 4
Bien en mi vista voy a crear la notificación GDRP en la parte de abajo después de cerrar la etiqueta </footer> con el botón aceptar que llamará a la acción onGRDP con el evento para cerrar la notificación, esta acción la definimos en nuestro archivo app.component.ts :
<div class="alert alert-warning grdp" role="alert" [hidden]="!visible">
<p>
<strong>GDPR (General Data Protection Regulation - Reglamento General Protección de Datos)</strong>
<br>
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarte publicidad relacionada con tus preferencias mediante el análisis de tus hábitos de navegación.
Puede obtener más información en nuestra <a href="">Política de Cookies.</a>
Pulse el botón ACEPTAR, para confirmar que ha leído y aceptado la información presentada. Después de aceptar no volveremos a mostrar este mensaje.
</p>
<button type="button" class="btn btn-success bcgrdp" (click)="onGRDP()">Aceptar</button>
</div>Si ven le di el valor hidden]=”!visible” a la capa (div) para trabajar con la acción cerrar en mi componente app.component.ts .
En nuestro archivo app.component.css agregamos los estilos a los elementos de nuestra vista:
h1 {
color: #369;
font-family: Arial, Helvetica, sans-serif;
font-size: 250%;
}
#street-view {
height: 500px;
}
.grdp {
position: fixed;
top: 120px;
left: 40px;
width: 65%;
z-index: 100000;
border: 6px #dedddd solid;
text-align: justify;
}
.bcgrdp {
cursor: pointer;
}
Y la Cookie ?
No olvidemos que parte del desarrollo agíl de Software es apoyarnos en librerias para entregar a tiempo los proyectos. Usaremos la libreria de Cookies ngx-cookie-service y si vieron el archivo de nuestro componente app.component.ts pueden ver que estamos desplegando una Cookie personalizada en el navegador.
cookieValue = 'UNKNOWN';
constructor( private cookieService: CookieService ) { }
ngOnInit(): void {
this.cookieService.set( 'Cookie', 'GDPR' );
this.cookieValue = this.cookieService.get('Cookie');
}Entonces cada ves que abrimos nuestro navegador veremos que nos setea una cookie.

Gracias a esta Cookie podrás controlar que al usuario no se le vuelva a mostrar más la notificación GDPR, solo tienes que crear el código necesario para manipular dicho evento.
Te invitamos a seguirnos en nuestras Redes Sociales y suscribirte a nuestro canal de Youtube para que no te pierdas nuestros próximos contenidos.
