Сортируемый с несколькими массивами - как я могу получить их $ родительские контейнеры?
У меня есть несколько команд с игроками в командах. Я хочу отобразить список команд и позволить менеджеру перетаскивать игроков из одной команды в другую.
Когда происходит сбрасывание, мне нужно вызвать сервер, чтобы удалить игрока из первой команды, а затем вызвать сервер, чтобы добавить игрока во вторую команду (хорошо, я мог бы сделать это за один круг).
Моя модель данных представляет собой массив команд, и каждая команда содержит наблюдаемый массив членов команды. Я построил HTML, используя сортируемую привязку, и он работает правильно в пользовательском интерфейсе. Я могу перетащить игрока из команды 1 в команду 2, и он переместится из observableArray одной команды в observableArray другой команды.
И используя опцию AfterMove, я могу получить функцию, которая будет вызываться в команде назначения с входящим игроком и из какого массива observableArray получен игрок. Но что мне действительно нужно, так это объект Team, содержащий исходный массив observableArray.
есть ли в любом случае с сортировкой по нокауту присоединить такие данные к вызову afterMove?
Я надеялся, что beforeMove будет привязан к объекту sourceArray и что afterMove будет привязан к объекту destinationArray, но они оба связаны с объектом destinationArray.
Я думал о паре способов справиться с этим, но ни один из них не хорош:
- вызовите функцию afterMove для $ parent (класса, который содержит все команды), а затем выполните итерации по групповым объектам в поисках совпадений в исходном и целевом массивах. Я действительно ненавижу такой подход
- Я мог бы настроить подписку на каждый из наблюдаемых массивов, а затем использовать подписку для вызова сервера. Я подозреваю, что именно так я и собираюсь идти.
Есть ли лучший, более сфокусированный на нокауте способ сделать это?
Спасибо Грег