Closed GardiHuts closed 6 years ago
Hola, he migrado a la versión 3.5.0 y he aplicado el cambio que habéis realizado para solucionar la incidencia, para poder utilizar la solución antes de que liberéis la 3.6.0 y solo se ha solucionado una parte de la incidencia. Ahora, cuando selecciono el combo de manera programática, con setRupValue, ya no me realiza 2 llamadas. Esto esta correcto.
El problema sigue siendo cuando selecciono el combo, de forma programática o manual, se sigue lanzando el evento change del hijo 3 veces. No se ha solucionado.
Os pongo un ejemplo de como lo tengo implementado y como se lanza el evento del hijo 3 veces:
// Combo Titulacion
$("#idTitulacion_detail_table").rup_combo({
rowStriping: true,
loadFromSelect: true
});
// Combo Grado
$("#idGradoTitulacion_detail_table").rup_combo({
parent: ["idTitulacion_detail_table"],
source: $.rup.CTX_PATH + "titulacionesProf/combo/titulacionGrado",
sourceParam: {label:"desc", value:"idGradoTitulacion"},
rowStriping: true,
blank: ""
});
$("#idGradoTitulacion_detail_table").on("change", function(){
console.log("change HIJO");
});
Uno de los problemas derivado de esta incidencia, es que si tenemos un mantenimiento de UDA en el que en el detalle tenemos 2 combos anidados, al acceder en modo edición, no se selecciona el combo hijo. Al entrar por primera vez en un detalle (el combo padre esta vacío), el populateForm informa el valor a los campos. El primer combo se carga correctamente pero el segundo se carga sin valor, aparentemente por que se lanza 3 veces el evento change del hijo.
En cambio, si cerramos el dialogo de detalle y volvemos a abrir el mismo registro, (el combo no se ha vaciado y tiene aun el valor), el populateForm informa los valores y al no cambiar el valor del padre, no se lanza 3 veces el evento change del hijo, solo se lanza una vez, no se realiza la recarga del hijo y se informa correctamente.
Por si os puede servir para reproducir el error.
Se ha subido una corrección con respecto al error en los changes.
Un saludo.
Estamos experimentando problemas con los combos anidados desde que hemos migrado a la versión 3.3.0. Parece que el evento change se invoca multiples veces lo que hace que se descontrolen las llamadas.
Tenemos estos 2 combos:
Al seleccionar de forma manual el combo padre, se realiza una unica vez la llamada para recarga rel hijo pero se lanza el "change" 3 veces:
Si por el contrario seleccionamos el combo de manera progamatica:
Se realizan 2 llamadas para recargar el hijo y se invoca el "change" 6 veces:
Este comportamiento se multiplica y agrava en el caso de tener mas combos anidados, hasta el punto de realizar mas de 100 llamadas en un mantenimiento de una localizacion con Nora por ejemplo: