Para poder mostrar un Dialog con angular material o también conocido como Modal, venta emergente, esos PopUp que salen de la nada en la pantalla y muestran algún mensaje o promociones, de forma automática al cargar el sitio, tenemos que seguir los pasos que ponemos a continuación.
ng add @angular/material
Para este paso necesitamos ir a la página oficial de Angular material en el siguiente enlace:
https://material.angular.io/components/dialog/examples
En este ejemplo añadimos el que dice "Dialog elements" y damos clic en el icono que se muestra en la parte derecha "<>" para ver lo que vamos a necesitar, primero que nada nos vamos a la pestaña API e importamos el MatDialog de Angular Material en el archivo app.module.ts
import {MatDialogModule} from '@angular/material/dialog';
imports: [
MatDialogModule
],
import {MatDialog} from '@angular/material/dialog';
Ejecutamos el siguiente comando para creamos un Dialog el cual será mostrado al cargar por primera vez el sitio en la página principal sin ejecutar ningún botón.
Ng g c Dialog
Una vez creado lo importamos en el mismo archivo app.component.ts o en el componente que lo necesites.
import { DialogComponent } from 'src/app/dialog/dialog.component';
Para poder ejecutar el dialog automáticamente al cargar la página principal, necesitamos hacerlo dentro del metodo ngOninit como se muestra a continuación.
constructor(public dialog: MatDialog) {}
ngOnInit() {
this.dialog.open(DialogComponent);
}
ngOnInit(){Te dejo estas posiciones para que lo posiciones en cualquier parte del proyecto
const AbrirDialog = {
position: {right:'10px'} ,
panelClass: ['slide-in-right']
};
this.dialog.open(DialogComponent, AbrirDialog);
}
{top: '0px', right:'0px'} {top: '0px', left:'0px'} {bottom: '0px', right:'0px'} {bottom: '0px', left:'0px'} {top:'0px'} {bottom:'0px'} {right:'0px'} {left:'0px'}
Paso 7 - Añadir codigo css
Solo queda Añadir el codigo css en el archivo styles.css..
.rotate-scale-up {
-webkit-animation: rotate-scale-up 0.65s linear both;
animation: rotate-scale-up 0.65s linear both;
}
/* ---------------------------------------------- * Generated by Animista on 2022-12-30 16:40:15 * Licensed under FreeBSD License. * See http://animista.net/license for more info. * w: http://animista.net, t: @cssanimista * ---------------------------------------------- */
/**
* ----------------------------------------
* animation rotate-scale-up
* ----------------------------------------
*/
@-webkit-keyframes rotate-scale-up {
0% {
-webkit-transform: scale(1) rotateZ(0);
transform: scale(1) rotateZ(0);
}
50% {
-webkit-transform: scale(2) rotateZ(180deg);
transform: scale(2) rotateZ(180deg);
}
100% {
-webkit-transform: scale(1) rotateZ(360deg);
transform: scale(1) rotateZ(360deg);
}
}
@keyframes rotate-scale-up {
0% {
-webkit-transform: scale(1) rotateZ(0);
transform: scale(1) rotateZ(0);
}
50% {
-webkit-transform: scale(2) rotateZ(180deg);
transform: scale(2) rotateZ(180deg);
}
100% {
-webkit-transform: scale(1) rotateZ(360deg);
transform: scale(1) rotateZ(360deg);
}
}
Etiquetas:
Gusto por las motos Harley Davidson, el rock n roll y la informática, creador de este blog para difusión del conocimiento libre, interesado en el mundo open source.
Como enviar correos en Angular haciendo uso de Laravel
No se pudo completar la operación (error 0x00000709) en Windows
Como editar las rutas de autenticacion en Laravel Jetsream
Como crear un NavBar y SideNav menu Responsive en Angular
Como instalar el paquete intervention/image en Php Laravel
How to config Enlace Punto a punto con antenas Ubiquiti