Tengo 4 cuadrículas que tienen habilitado el complemento de arrastrar y soltar. Su grilla inicial depende de un valor del db llamado state_id.Extjs sincronizar una tienda me da una URL es un error indefinido en condiciones específicas
Cuando dejo caer la fila seleccionada en una nueva grilla, actualizo el valor de state_id y luego digo que se sincronice con la base de datos y actualice el valor para el elemento en cuestión.
Esto funciona bien en su mayor parte. Me sale este error URL es indefinido cuando ocurre lo siguiente
- El usuario hace clic arrastra la fila A de la rejilla 1 a 2 rejilla
- usuario arrastra la fila A partir rejilla 2 de cuadrícula 1
- ERROR! Url undefined.
Este error solo parece ocurrir cuando el primer elemento que se agrega a la cuadrícula proviene originalmente de la misma cuadrícula.
- clics usuario arrastra la fila A de la rejilla 1 a la red 2
- clics usuario arrastra la fila B de la rejilla 2 a la red 1
- clics usuario arrastra la fila A de la rejilla 2 a la red 1
- Works como ¡destinado a!
gota controlador de eventos dentro de mi controlador:
dropit: function (node, data, dropRec, dropPosition) {
if (node.dragData.records[0].store.$className == "AM.store.BacklogCards")
{
data.records[0].set('state_id', 1);
this.getBacklogCardsStore().sync();
}
else if (node.dragData.records[0].store.$className == "AM.store.InprogressCards")
{
data.records[0].set('state_id', 2);
this.getInprogressCardsStore().sync();
}
else if (node.dragData.records[0].store.$className == "AM.store.ReviewCards")
{
data.records[0].set('state_id', 3);
this.getReviewCardsStore().sync();
}
else
{
data.records[0].set('state_id', 4);
this.getDoneCardsStore().sync();
}
//node.dragData.records[0].store.sync();
},
¿Alguna idea sobre lo que está causando esto y cómo solucionarlo?
Gracias
En su primer caso de prueba, ¿funcionan las cosas como se esperaba si "El usuario arrastra la fila A de la cuadrícula 2 a la cuadrícula 3"? –
Sí, funciona bien. El problema parece ser cuando vuelve a su ubicación "original" antes de que cualquier otra cosa se coloque en la misma ubicación (original). – Robodude
Si el error es "url indefinido", parece que el problema no está allí, sino en las definiciones de la tienda real. Tenga en cuenta que a veces este tipo de error puede ocurrir debido al uso de ID en las definiciones de clases, ya que los ID deben ser únicos y, por lo tanto, se producirán extraños errores al crear instancias de objetos. –