Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2018, 16:55
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Pagination + sortable list
Здравствуйте.

Как правильно реализовать сортировку списка перетаскиванием элементов с учетом того, что список выводится постранично?

Элементам списка собираюсь добавить свойство int _index, по которому сортировка и будет осуществляться.
С сортировкой данных в пределах одной страницы никаких проблем нет, но как реализовать её с учетом пагинации - не знаю.

Пока что думаю отслеживать позицию перетаскиваемого элемента и подгружать следующую/предыдущую страницу списка и скрывать "старые" страницы, чтобы не насиловать клиент.
Реализация кажется довольно геморойной.

Есть ли более простые решения?
(отказ от пагинации - не вариант, т.к. элементом может быть ну очень много).
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2018, 17:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А как понять "с учетом постранчиной навигации"? Перетаскивание в пределах то какой либо страницы, и без всего списка, в пределах его всего отсортировать не получится. Постраничный вывод уже подразумевает сортировку по какому либо параметру.
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2018, 17:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Сообщение от laimas
Перетаскивание в пределах то какой либо страницы, и без всего списка, в пределах его всего отсортировать не получится.
Вот именно отсортировать в пределах всего списка и нужно.
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2018, 17:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
Вот именно отсортировать в пределах всего списка и нужно.
Ну не имея его как, а тем более перетаскиванием? Пусть это к примеру будет пользовательская сортировка по значению от 0 до макс. Если знаем макс. значение и руками вводим нужную позицию текущему элементу, то даже в этом случае, как ни крути, визуально будем видеть только представление части всего списка, все остальное в уме.
Ответить с цитированием
  #5 (permalink)  
Старый 25.04.2018, 17:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Nexus,

согласен с laimas, либо задача невыполнима, либо вы что-то не договариваите.
Ответить с цитированием
  #6 (permalink)  
Старый 25.04.2018, 17:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

laimas, в шапке в 4-м абзаце описал предполагаемый способ решения задачи.
Если подгружать недостающие элементы на пути drag'а, то задача вполне себе решаемая.
Ответить с цитированием
  #7 (permalink)  
Старый 25.04.2018, 17:30
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

рони, что невыполнимого я описал в 4-м абзаце в шапке?)
Ответить с цитированием
  #8 (permalink)  
Старый 25.04.2018, 17:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Nexus,
мне сложно представить перетаскивание элемента со страницы на страницу.(не хочу вам мешать)
Ответить с цитированием
  #9 (permalink)  
Старый 25.04.2018, 17:45
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

рони, вы мне не мешаете.
Если бы я желал, чтобы мне не "мешали", то не создал бы эту тему)

Попытаюсь визуализировать описанное в шапке.
Есть условный список:
List
	Page-1
		Elem-0
		Elem-1
		Elem-2
		Elem-3
		Elem-4
	Page-2
		Elem-5
		Elem-6
		Elem-7
		Elem-8
		Elem-9
Находясь на странице 2 я желаю "элемент 8" перенести на позицию "элемента 2". Элементов со страницы 1 я не вижу, т.к. текущая страницы = 2. Как только я передвину "элемент 8" на позицию "элемента 7", в начало текущего документа асинхронно подгрузятся элементы со страницы 1. После завершения асинхронного запроса я смогу передвинуть "элемент 8" на вожделенное место "элемента 2".
Вроде бы вполне реализуемая задумка.
Ответить с цитированием
  #10 (permalink)  
Старый 25.04.2018, 17:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
Как только я передвину "элемент 8" на позицию "элемента 7" в начало текущего документа асинхронно подгрузятся элементы со страницы 1.
Это как? Было

List
    Page-1
        Elem-0
        Elem-1
        Elem-2
        Elem-3
        Elem-4
    Page-2
        Elem-5
        Elem-6
        Elem-7
        Elem-8
        Elem-9


станет

List
    Page-1
        Elem-0
        Elem-1
        Elem-2
        Elem-3
        Elem-4
    Page-2
        Elem-5
        Elem-6
        Elem-8
        Elem-7
        Elem-9


Что при этом изменится, что заставит подгрузится элементы с первой страницы?

Я еще понимаю, если тянуть вверх и выйти за пределы списка, что инициалиузирует запрос и загрузит первую страницу и в ней опустить элемент с индексом 8, перед индексом 2, это будет инициализацией обновления в базе. Но чтобы 8 на позицию 7 и показалось нечто с первой страницы ..., этого я не понимаю.

Последний раз редактировалось laimas, 25.04.2018 в 17:55.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery DOM Sortable, Droppable и Draggable Infinity178 jQuery 5 26.12.2016 18:28
Div с overflow-y: scroll, jquery ui droppable и sortable yevgeniyche jQuery 1 29.09.2014 08:08
Не сохраняются настройки grid Fubu_By ExtJS 1 09.07.2013 21:49
Проблема в работе с тегами html zeraid Общие вопросы Javascript 16 11.05.2011 18:23
jquery ui sortable + draggable giGnet jQuery 1 08.03.2011 19:37