Extjs, синхронизирующий хранилище, дает мне url is undefined error при определенных условиях

У меня есть 4 сетки, в которых включен плагин перетаскивания. Их начальная сетка зависит от значения из базы данных, называемого state_id.

Когда я перетаскиваю выбранную строку в новую сетку, я обновляю значение state_id, а затем приказываю ей синхронизироваться с базой данных и обновлять значение для элемента под вопросом.

enter image description here

По большей части это работает нормально. Я получаю, что этот URL-адрес является неопределенной ошибкой, когда происходит следующее

  1. Пользователь нажимает и перетаскивает строку A из сетки 1 в сетку 2
  2. Пользователь перетаскивает строку A из от сетки 2 к сетке 1
  3. ОШИБКА! URL undefined.

Эта ошибка возникает только тогда, когда первый элемент, добавляемый в сетку, изначально был взят из той же самой сетки.

  1. Пользователь щелкает мышью, перетаскивает строку A из сетки 1 в сетку 2
  2. Пользователь щелкает, перетаскивает строку B из сетка 2 в сетку 1
  3. Пользователь щелкает, перетаскивает строку A из сетки 2 в сетку 1
  4. Работает как задумано!

перетаскивает обработчик событий внутри моего контроллера:

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();
},

Любые идеи о том, что вызывает это, и как исправить это?

Спасибо

10
задан RoboKozo 8 July 2011 в 18:10
поделиться