Notificaciones con TOASTR - Uso de Jquery, Laravel y Vuejs

En este video vamos a culminar el proceso de eliminación de un registro, haciéndole saber al usuario que la acción se ha realizado con éxito! para esto implementaremos el sistema de notificaciones Toastr y Jquery en nuestro proyecto de Laravel y Vue.

Navega en las lecciones

Inicia sesión para poder registrar las lecciones que has completado Login

Comparte en

Repasando un poco lo visto en el video anterior.. recordemos que hicimos toda la configuración necesaria para que el botón eliminar a través de axios se conecte al Api que fue creada en videos anteriores y poder realizar la acción de borrar el registro de la base de datos.

Ahora, como es de conocimiento, siempre es importante hacerle saber al usuario que la acción solicitada ha sido ejecutada correctamente, es decir presentar un mensaje con algo como "Se ha eliminado correctamente el registro" y poder así confirmarle al usuario lo realizado.

Para esto vamos a utilizar algunas tecnologías conocidas como Bootstrap para las mejoras del diseño y Jquery para el dinamismo, otra tecnología que posiblemente sea nueva para ti es Toastr.

Toastr: es un sistema básico de javascript dedicado única y exclusivamente al tema de las notificaciones, toastr depende de jquery con lo cual podremos darnos cuenta si jquery puede trabajar junto a vue.

Añadir archivos al proyecto

Primero que nada, tenemos que agregar de forma local a nuestro proyecto ordenadamente todas estas tecnologías de la siguiente manera:

  1. De la página oficial de bootstrap (enlace) realizamos un guardar como, del código de su .js y guardamos el nuevo archivo en la ruta resources\assets\js\bootstrap.js de nuestro proyecto.
  2. De la misma manera lo hacemos con su archivo .css (enlace) lo guardamos en la siguiente ruta resources\assets\css\bootstrap.css.
  3. En la página de Jquery (enlace) guardamos su código de la misma manera, en la siguiente ruta resources\assets\js\jquery.js.
  4. Para descargarnos el sistema de notificaciones nos dirigimos a la página de Toastr (enlace) y guardamos el archivo en la siguiente ruta resources\assets\js\toastr.js.
  5. Así mismo realizamos el proceso de guardar su archivo de estilos (enlace) pero en cambio lo guardamos en esta ruta resources\assets\css\toastr.css.

Una vez que hayamos terminado de agregar todos estos archivos, tenemos que dirigirnos al webpack.min.js para registrarlos y compilarlos en solo dos archivos, como lo indicamos en el video 1 de esta serie. Esto nos quedaría de la siguiente forma.

<script>
    mix.scripts([
        'resources/assets/js/jquery.js',
        'resources/assets/js/bootstrap.js',
        'resources/assets/js/toastr.js',
        'resources/assets/js/vue.js',
        'resources/assets/js/axios.js',
        'resources/assets/js/app.js',
    ], 'public/js/app.js').styles([
        resources/assets/css/bootstrap.css',
        'resources/assets/css/toastr.css',
    ], 'public/css/app.css');
</script>

No debemos olvidar que cuando modifiquemos el archivo webpack.min.js, hay que realizar por consola una nueva compilación del mismo con el siguiente comando npm run dev.

Configuración del mensaje

Para proceder con la implementación del mensaje tenemos previamente que modificar nuestro archivo o vista plantilla resources\views\app.blade.php al cual tenemos que agregarle las referencias a los archivos creados con la compilación del webpack.

Dentro de las etiquetas <head></head> añadimos la línea de referencia al archivo compilado de estilos.

<link rel="stylesheet" href="{{ asset('css/app.css') }}">

Además, dentro de las etiquetas <body></body> añadimos la línea de referencia al archivo compilado de scripts.

<script src="{{ asset('js/app.js') }}"></script>

Finalmente, en el anterior video habíamos creado con código vue el método deleteKeep() dentro del archivo resources\assets\js\app.js, pues aquí es donde sucederá la magia de esta práctica.

El método se conectaba por axios a una ruta de nuestra Api, luego realizaba la eliminación del registro con el id indicado y terminaba con la llamada al método getKeeps() para volver a listar o actualizar de nuevo los registros.

Después de listar los registros es donde vamos a implementar un mensaje con Toastr, de la siguiente manera:

<script>
deleteKeep: function(keep) {
    var url = 'tasks/' + keep.id;
    axios.delete(url).then(response => { //eliminamos
        this.getKeeps(); //listamos
        toastr.success('Eliminado correctamente'); //mensaje
    });
}
</script>

Con esto ya podríamos dirigirnos al navegador para probar el mensaje de confirmación al eliminar un registro dándonos cuenta lo vistoso y dinámico de su presentación.

Como podemos apreciar, el uso o la implementación de estos mensajes es sencillamente fácil, simplemente necesitamos de agregar los archivos necesarios al proyecto ya sea localmente o vía cdn, luego agregar sus referencias a la vista en la que deseemos usarlas, configurar su sintaxis y listo! Ya contamos con un sistema más amigable al usuario.

Comparte en

Creado por: Venezuela Italo Morales

CEO & Founder de Rimorsoft Online

Más información


Preventa 2018 Rimorsoft Online

Este 2017 ha sido maravilloso, en Youtube logramos cargar mas de 100 videos prácticos de acuerdo a lo que iba necesitando la audiencia, el feedback fue y es increible. Estamos poco a poco subiendo todo el material a este sitio web para que tengas centralizada toda la información y puedas marcar las lecciones estudiadas.. Con mucha frecuencia tenemos funciones nuevas y para este 2018 este portal contará con un módulo para examenes, certificados y un sistema de discusión. Todo disponible para ti.

Resumen del tutorial de VUEjs - Proyecto Workshop

Javascript VUE.js 2 0 comentarios

Con este video nos despedimos de la serie Workshop desarrollado con el framework Vuejs, te mostramos el dinamismo del proyecto realizado y te explicamos el porqué de usar esta tecnología tan sencilla y útil para la parte del frontend de nuestros aplicaciones.

Instalar Laravel 5.x en hosting compartido

Laravel 3 comentarios

Podemos trabajar en un servidor compartido si estamos hablando de un pequeño proyecto, si es un sistema como Rimorsoft es preocupante, ya que la mayoría de servidores compartidos no se pueden personalizar.

Laravel vs Symfony

Laravel PHP Symfony 3 comentarios

…o ¿Laravel o Symfony? Esta es una pregunta que me hice cuando en su momento usaba CodeIgniter de EllisLab. Symfony era el ¡buuum! en ese momento, “saber Symfony o al menos saber instalarlo era de grandes”.