Files
ventas_php/javascript/atributos-valores.js
nickpons666 ccfa01fa0e feat(atributos): Mejora la funcionalidad de la página de atributos
- Deshabilita la paginación para mostrar todos los atributos por defecto.
- Corrige un error de renderizado en 'atributos-valores.tpl' añadiendo etiquetas de cierre faltantes.
- Cambia el orden de los atributos a 'atributoId' en 'atributo.class.php'.
- Corrige un bug en 'atributoValor.class.php' descomentando una condición.
- Asegura que las acciones AJAX (añadir, editar, eliminar) refresquen la lista correctamente sin paginación.
2026-01-08 01:06:11 -06:00

148 lines
3.6 KiB
JavaScript
Executable File

function AddValorDiv(id){
grayOut(true);
if(id == 0){
$('fview').hide();
grayOut(false);
return;
}
$('fview').show();
new Ajax.Request(WEB_ROOT+'/ajax/atributos-valores.php',{
method:'post',
parameters: {type: "addValor", atributoId:id},
onSuccess: function(transport){
var response = transport.responseText || "no response text";
FViewOffSet(response);
Event.observe($('btnSave'), "click", AddValor);
Event.observe($('fviewclose'), "click", function(){ HideFview(); });
},
onFailure: function(){ alert('Something went wrong...') }
});
}//AddValorDiv
function AddValor(){
var id = 0;
var formData = $('frmAgregarValor').serialize();
console.log('DEBUG: Enviando formulario:', formData);
new Ajax.Request(WEB_ROOT+'/ajax/atributos-valores.php',
{
method:'post',
parameters: formData,
onSuccess: function(transport){
var response = transport.responseText || "no response text";
console.log('DEBUG: Respuesta AJAX:', response);
var splitResponse = response.split("[#]");
if(splitResponse[0] != "ok"){
ShowStatusPopUp(splitResponse[1]);
}else{
ShowStatusPopUp(splitResponse[1]);
id = splitResponse[2];
console.log('DEBUG: Actualizando contValores_'+id);
console.log('DEBUG: Elemento existe?', !!$('contValores_'+id));
console.log('DEBUG: Nuevo contenido:', splitResponse[3]);
if($('contValores_'+id)) {
console.log('DEBUG: Actualizando innerHTML...');
$('contValores_'+id).innerHTML = splitResponse[3];
} else {
console.log('DEBUG: ERROR - No existe elemento contValores_'+id);
}
HideFview();
}
},
onFailure: function(){ alert('Something went wrong...') }
});
}//AddValor
function EditValorPopup(id){
grayOut(true);
$('fview').show();
if(id == 0){
$('fview').hide();
grayOut(false);
return;
}
new Ajax.Request(WEB_ROOT+'/ajax/atributos-valores.php',{
method:'post',
parameters: {type: "editValor", atribValId:id},
onSuccess: function(transport){
var response = transport.responseText || "no response text";
FViewOffSet(response);
Event.observe($('closePopUpDiv'), "click", function(){ HideFview(); });
Event.observe($('btnUpdate'), "click", EditValor);
},
onFailure: function(){ alert('Something went wrong...') }
});
}//EditValorPopup
function EditValor(){
new Ajax.Request(WEB_ROOT+'/ajax/atributos-valores.php', {
method:'post',
parameters: $('frmEditarValor').serialize(),
onSuccess: function(transport){
var response = transport.responseText || "no response text";
var splitResponse = response.split("[#]");
if(splitResponse[0] != "ok")
{
ShowStatusPopUp(splitResponse[1]);
}
else
{
ShowStatusPopUp(splitResponse[1]);
id = splitResponse[2];
$('contValores_'+id).innerHTML = splitResponse[3];
HideFview();
}
},
onFailure: function(){ alert('Something went wrong...') }
});
}//EditValor
function DeleteValorPopup(id){
var message = "Realmente deseas eliminar este valor?";
if(!confirm(message)){
return;
}
new Ajax.Request(WEB_ROOT+'/ajax/atributos-valores.php',{
method:'post',
parameters: {type: "deleteValor", atribValId: id},
onSuccess: function(transport){
var response = transport.responseText || "no response text";
var splitResponse = response.split("[#]");
ShowStatus(splitResponse[1]);
id = splitResponse[2];
$('contValores_'+id).innerHTML = splitResponse[3];
HideFview();
},
onFailure: function(){ alert('Something went wrong...') }
});
}//DeleteValorPopup