У меня есть таблица (которая представляет очередь элементов), строки которой можно переупорядочить, используя сортируемый плагин jQuery. Пользователь может изменить порядок своей очереди, и обновленный заказ прекрасно сохраняется на сервере.
Проблема, с которой я сталкиваюсь, заключается в том, что сервер периодически вытаскивает элемент из верхней части очереди, обрабатывает его, а затем перемещает в нижнюю часть очереди. Когда это происходит, порядок, который пользователь видит в браузере, устарел, а когда они пытаются изменить порядок, индексы портятся.
Я придумал пару решений для решения этой проблемы, но я не совсем уверен, какое взаимодействие имело бы смысл с точки зрения удобства использования. Я рассмотрел обнаружение события перетаскивания в пользовательском интерфейсе и сначала проверял наличие обновлений на сервере, но если я обновлю страницу, перетаскивание, в котором находился пользователь, будет прервано.
Я знаю, когда сервер обновит очередь, поэтому я рассмотрел опрос этой информации, затем заблокировал функцию перетаскивания за несколько секунд до обновления, затем обновил порядок и разблокировал функцию перетаскивания.
Мне любопытно, если кто-нибудь решал подобную проблему раньше. Любые идеи или рекомендации будут с благодарностью.