Feat: Agregar botón de reiniciar formulario
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Nuevo botón "Reiniciar" en el footer junto a Cancelar y Guardar - Solo aparece cuando hay cambios pendientes (v-if="hasChanges") - Color warning con variant soft para indicar acción destructiva - Ícono de arrow-path (flecha circular) - Función resetForm() que: - Pide confirmación al usuario - Restaura todos los campos a valores originales - Limpia la cookie de borrador - Muestra toast informativo - Ubicado entre botones Cancelar y Guardar cambios El botón permite descartar todos los cambios y volver al estado original sin tener que recargar la página.
This commit is contained in:
@@ -267,6 +267,19 @@
|
|||||||
>
|
>
|
||||||
Cancelar
|
Cancelar
|
||||||
</UButton>
|
</UButton>
|
||||||
|
|
||||||
|
<UButton
|
||||||
|
v-if="hasChanges"
|
||||||
|
color="warning"
|
||||||
|
variant="soft"
|
||||||
|
size="lg"
|
||||||
|
@click="resetForm"
|
||||||
|
:disabled="isSubmitting"
|
||||||
|
>
|
||||||
|
<UIcon name="i-heroicons-arrow-path" class="w-5 h-5" />
|
||||||
|
Reiniciar
|
||||||
|
</UButton>
|
||||||
|
|
||||||
<UButton
|
<UButton
|
||||||
color="primary"
|
color="primary"
|
||||||
size="lg"
|
size="lg"
|
||||||
@@ -523,6 +536,36 @@ const handleAvatarCapture = async (imageBlob: Blob) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reiniciar formulario a valores originales
|
||||||
|
const resetForm = () => {
|
||||||
|
if (!confirm('¿Estás seguro de descartar todos los cambios?\n\nSe restaurarán los valores originales y se eliminará el borrador guardado.')) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restaurar valores originales
|
||||||
|
formData.value = {
|
||||||
|
name: originalData.value.name,
|
||||||
|
email: originalData.value.email,
|
||||||
|
avatar: originalData.value.avatar,
|
||||||
|
phone: originalData.value.phone,
|
||||||
|
cedula: originalData.value.cedula,
|
||||||
|
birthdate: originalData.value.birthdate,
|
||||||
|
nfc: originalData.value.nfc,
|
||||||
|
pin: originalData.value.pin,
|
||||||
|
nucleoCode: originalData.value.nucleoCode
|
||||||
|
}
|
||||||
|
|
||||||
|
// Limpiar cookie de borrador
|
||||||
|
formCookie.value = {}
|
||||||
|
|
||||||
|
toast.add({
|
||||||
|
title: 'Formulario reiniciado',
|
||||||
|
description: 'Se restauraron los valores originales y se eliminó el borrador',
|
||||||
|
color: 'info',
|
||||||
|
icon: 'i-heroicons-arrow-path'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// Eliminar avatar personalizado
|
// Eliminar avatar personalizado
|
||||||
const removeAvatar = async () => {
|
const removeAvatar = async () => {
|
||||||
if (!confirm('¿Estás seguro de que quieres eliminar tu foto de perfil?')) {
|
if (!confirm('¿Estás seguro de que quieres eliminar tu foto de perfil?')) {
|
||||||
|
|||||||
Reference in New Issue
Block a user