Сортируемый с несколькими массивами - как я могу получить их $ родительские контейнеры?

У меня есть несколько команд с игроками в командах. Я хочу отобразить список команд и позволить менеджеру перетаскивать игроков из одной команды в другую.

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

Моя модель данных представляет собой массив команд, и каждая команда содержит наблюдаемый массив членов команды. Я построил HTML, используя сортируемую привязку, и он работает правильно в пользовательском интерфейсе. Я могу перетащить игрока из команды 1 в команду 2, и он переместится из observableArray одной команды в observableArray другой команды.

И используя опцию AfterMove, я могу получить функцию, которая будет вызываться в команде назначения с входящим игроком и из какого массива observableArray получен игрок. Но что мне действительно нужно, так это объект Team, содержащий исходный массив observableArray.

есть ли в любом случае с сортировкой по нокауту присоединить такие данные к вызову afterMove?

Я надеялся, что beforeMove будет привязан к объекту sourceArray и что afterMove будет привязан к объекту destinationArray, но они оба связаны с объектом destinationArray.

Я думал о паре способов справиться с этим, но ни один из них не хорош:

  • вызовите функцию afterMove для $ parent (класса, который содержит все команды), а затем выполните итерации по групповым объектам в поисках совпадений в исходном и целевом массивах. Я действительно ненавижу такой подход
  • Я мог бы настроить подписку на каждый из наблюдаемых массивов, а затем использовать подписку для вызова сервера. Я подозреваю, что именно так я и собираюсь идти.

Есть ли лучший, более сфокусированный на нокауте способ сделать это?

Спасибо Грег

0 ответов

Другие вопросы по тегам