function validarForm(id_modal){
if(id_modal.indexOf("#") === -1){
id_modal = "#" + id_modal;
}
if($(id_modal + " .valid").length > 0 && $(id_modal + " .error").length === 0){
console.log("valido");
return true;
}else{
console.log("valido");
return false;
}
}
function getRandomInt(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function modalRegistro(){
$.ajax({
url: '/modal/registro.php', // Asegúrate de que la ruta sea correcta
method: 'GET', success: function(formHtml){
// Mostrar el formulario en un modal con jQuery Confirm
$.confirm({
title: 'Registro de Usuario', content: formHtml, buttons: {
formSubmit: {
text: 'Registrarse', btnClass: 'btn-blue', action: function(){
var name = this.$content.find('.name').val();
var email = this.$content.find('.email').val();
var phone = this.$content.find('.phone').val();
var password = this.$content.find('.password').val();
if(!name || !email || !phone || !password){
$.alert('Por favor complete todos los campos');
return false;
}
// Aquí agregaría el código para procesar el formulario (ej. AJAX)
$.alert('Registro completado con éxito: ' + name);
}
}, cancelar: function(){
// cierra el modal
},
}, onContentReady: function(){
// Vincular eventos de formulario
var jc = this;
this.$content.find('form').on('submit', function(e){
e.preventDefault();
jc.$$formSubmit.trigger('click'); // referencia al botón y clic en él
});
}
});
}, error: function(){
$.alert('Error al cargar el formulario de registro');
}
});
}
function modalNuevoMovimiento(){
$.ajax({
url: '/modal/nuevo-movimiento.php', // Asegúrate de que la ruta sea correcta
method: 'GET',
success: function(formHtml){
// Mostrar el formulario en un modal con jQuery Confirm
$.confirm({
title: 'Nuevo Movimiento',
content: formHtml,
buttons: {
formSubmit: {
text: 'Guardar movimiento',
btnClass: 'btn-blue',
action: function(){
var cuenta = this.$content.find('.cuenta').val();
var divisa = this.$content.find('.divisa').val();
var fecha = this.$content.find('.fecha').val();
var monto = this.$content.find('.monto').val();
var tipoMovimiento = this.$content.find('.tipoMovimiento').val();
var comentario = this.$content.find('.comentario').val();
if(!cuenta || !divisa || !fecha || !monto || !tipoMovimiento){
$.alert('Por favor complete todos los campos obligatorios');
return false;
}
// Aquí agregaría el código para procesar el formulario (ej. AJAX)
$.alert('Movimiento guardado con éxito');
}
},
cancelar: function(){
// cierra el modal
},
},
onContentReady: function(){
// Vincular eventos de formulario
var jc = this;
// Inicializar el datepicker
this.$content.find('.fecha').datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
yearRange: '2000:2050'
});
this.$content.find('form').on('submit', function(e){
e.preventDefault();
jc.$$formSubmit.trigger('click'); // referencia al botón y clic en él
});
}
});
},
error: function(){
$.alert('Error al cargar el formulario de nuevo movimiento');
}
});
}
function modalCategorizarEntrada($id_movimiento){
let id_modal = "#modal_" + getRandomInt(10000, 99999);
$.confirm({
animationSpeed: 200,
title: 'Categorizar gasto para ',
content: "url:/modal/categorizar_gasto.php",
type: "red",
typeAnimated: true,
boxWidth: "",
useBootstrap: true,
columnClass: 'col-12 col-md-8 col-lg-6',
buttons: {
boton1: {
text: 'Guardar categoría para este comercio',
btnClass: 'btn-black',
action: function(){
if(validarForm(id_modal)){
postearModal(id_modal, true);
}else{
return false;
}
}
}, boton2: {
text: 'Cancelar', btnClass: 'btn-default', action: function(){
void (0);
}
}
}, onContentReady: function(){
var self = this;
setTimeout(function(){
self.setContentAppend(' ');
}, 500);
}, contentLoaded: function(){
var self = this;
setTimeout(function(){
self.setContentAppend(' ');
}, 500);
}
});
return false;
}
function modalCategorizarSalida($id_movimiento){
let id_modal = "#modal_" + getRandomInt(10000, 99999);
$.confirm({
animationSpeed: 200,
title: 'Categorizar gasto para ',
content: "url:/modal/categorizar_gasto.php",
type: "red",
typeAnimated: true,
boxWidth: "",
useBootstrap: true,
columnClass: 'col-12 col-md-8 col-lg-6',
buttons: {
boton1: {
text: 'Guardar categoría para este comercio',
btnClass: 'btn-black',
action: function(){
if(validarForm(id_modal)){
postearModal(id_modal, true);
}else{
return false;
}
}
}, boton2: {
text: 'Cancelar', btnClass: 'btn-default', action: function(){
void (0);
}
}
}, onContentReady: function(){
var self = this;
setTimeout(function(){
self.setContentAppend(' ');
}, 500);
}, contentLoaded: function(){
var self = this;
setTimeout(function(){
self.setContentAppend(' ');
}, 500);
}
});
return false;
}