Actualizar Rodada
Clase 17 de 38 • Curso de Desarrollo de APIs con Sails.js
Contenido del curso
- 10

Entendiendo operaciones CRUD
05:09 - 11

Crear modelo de rodada
07:43 - 12

Crear app de Ionic
11:42 - 13

Obtener todas las Rodadas: preparando la aplicación para mostrar datos
14:52 - 14

Obtener todas las Rodadas: mostrando los datos
14:25 - 15

Crear Rodada: recibiendo parámetros desde la URL
12:29 - 16

Crear Rodada: enviando información desde el formulario
12:41 - 17

Actualizar Rodada
12:17 - 18

Eliminar Rodadas
04:55
- 26

Uso de JSON Web Token
10:23 - 27

Policies: verificar si usuario está loggeado
11:53 - 28

Agregar usuario a Ride
09:48 - 29

Preparando la App para implementar el Login y Sign up
11:01 - 30

Implementando Login
15:04 - 31

Implementando Sign up
09:35 - 32

Agregar puntos de Rodada
15:20 - 33
Obtener API Keys para Clima y Distancias
00:56 - 34

Integración Google Geocoding: definiendo la lógica
14:57 - 35

Integración Google Geocoding: probando la funcionalidad
06:14 - 36

Integración Weather API
13:05 - 37

Desplegar clima, distancia y tiempo en cada punto de Rodada
06:08
¿Cómo facilitar que un usuario edite sus rodadas?
Es crucial ofrecer a tus usuarios la capacidad de editar sus entradas, especialmente en aplicaciones que involucran planificación de eventos o rutas como en nuestro caso. Modificar detalles como la fecha o el destino es vital para asegurarse de que todos los participantes estén en sintonía con los cambios. Vamos a ver cómo se puede implementar esta funcionalidad en una aplicación Angular.
¿Cómo implementar el enlace de edición?
Para hacer que un usuario pueda editar su rodada al hacer clic en un botón, vamos a agregar un nuevo botón en cada tarjeta de nuestro módulo .html.
<ion-item>
<ion-label (click)="editRide(ride.id)">Editar</ion-label>
<ion-icon name="create-outline"></ion-icon>
</ion-item>
- Ubicación del botón: Colócala dentro de la sección del contenido de la tarjeta, asegurándote de que quede intuitivamente accesible para el usuario.
- RouterLink: Utiliza
[routerLink]para redirigir al usuario a la pantalla de edición, pasando el ID del ride como parámetro en la URL. - Estilización: Agrega un ícono e utiliza estilos CSS adecuados para asegurar que el botón de edición sea visualmente atractivo.
¿Qué sucede cuando se presiona el botón de editar?
Cuando el usuario presiona el botón, se debe cargar la información actual de la rodada para permitirle editar los datos necesarios sin tener que ingresar todo nuevamente.
Implementación del llamado al backend
En el servicio de Angular, vamos a añadir dos métodos: uno para obtener la información existente y otro para actualizarla.
// Obtener información del ride
getRideById(id: string): Observable<Ride> {
return this.http.get<Ride>(`${this.apiUrl}/rides/${id}`);
}
// Actualizar la información del ride
updateRide(ride: Ride): Observable<any> {
return this.http.put(`${this.apiUrl}/rides/${ride.id}`, ride);
}
¿Cómo cargar la información en el formulario?
Dentro del componente de edición, asegúrate de cargar los datos del ride cuando el componente se inicialice:
- Suscribir: Usa el método
getRideByIdpara suscribirte y recibir los datos. - Rellenar el formulario: Asigna esos datos al modelo de formulario que contiene los campos de entrada.
¿Cómo manejar la actualización de datos?
Una vez que el usuario modifica los datos y los guarda, debes asegurarte de que los cambios se envíen y se reflejen adecuadamente:
saveRide(): void {
this.rideService.updateRide(this.ride).subscribe(
response => {
alert('Rodada actualizada exitosamente');
this.router.navigate(['/rides']);
},
error => {
alert('Error actualizando la rodada');
}
);
}
¿Cómo mejorar la interfaz de usuario?
Finalmente, para mejorar la experiencia del usuario, es importante permitir que el usuario regrese al listado sin aplicar cambios. Para ello, podemos añadir un botón de "Volver":
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
</ion-toolbar>
- Funcionalidad de retorno: Utiliza
ion-back-buttonpara gestionar el retroceso en el historial de navegación. - Estilo coherente: Selecciona colores y estilos que se alineen con la apariencia general de tu aplicación, asegurando una experiencia de usuario atractiva.
Al aplicar estos principios, lograrás una interface de usuario más intuitiva y funcional, aumentando así el valor de la aplicación para tus usuarios. ¡Sigue explorando y mejorando!