Mam 4 siatki, które mają włączone plugin drag and drop. Ich początkowa siatka zależy od wartości z bazy danych o nazwie state_id.Extjs synchronizowanie sklepu daje mi url jest niezdefiniowany błąd w określonych warunkach
Po upuszczeniu zaznaczonego wiersza na nową siatkę aktualizuję wartość state_id, a następnie powiadamam ją, aby zsynchronizowała się z bazą danych i zaktualizowała wartość dla danego elementu.
Działa to dobrze dla większości. Mam ten adres URL jest niezdefiniowany błąd, gdy dodaje się dzieje
- kliknięć użytkownik przeciąga rzędzie A z siatki 1 do siatki 2
- użytkownik przeciąga wiersza A z siatki 2 do siatki 1
- Błąd! Url niezdefiniowany.
Ten błąd pojawia się tylko wtedy, gdy pierwszy element dodawany do siatki pochodzi z tej samej siatki.
- kliknięcia użytkownik przeciąga wierszy A z siatki 1 do siatki 2
- kliknięcia użytkownik przeciąga rzędzie B z siatki 2 do siatki 1
- kliknięcia użytkownik przeciąga wierszy A z siatki 2 do siatki 1
- pracuje jako zamierzony!
spadek obsługi zdarzeń w moim kontrolera:
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();
},
Wszelkie pomysły na to, co jest tego przyczyną i jak to naprawić?
Dzięki
W swoim pierwszym przypadku testowym, czy rzeczy działają zgodnie z oczekiwaniami, jeśli "Użytkownik przeciąga wiersz A z siatki 2 do siatki 3"? –
Tak, działa dobrze. Wydaje się, że problem powraca do pierwotnej lokalizacji, zanim cokolwiek innego znajdzie się w tej samej (oryginalnej) lokalizacji. – Robodude
Jeśli błąd to "nieokreślony adres URL", wydaje się, że problemu nie ma, ale w rzeczywistych definicjach sklepu. Zauważ, że czasami ten rodzaj błędu może wystąpić z powodu używania identyfikatorów w definicjach klas, ponieważ identyfikatory muszą być unikatowe i podczas wykonywania wystąpień będą występować dziwne awarie. –