Size: a a a

2020 July 31

VK

Vyacheslav Konovalov in pro.elixir
кто что использует для pagination, sorting и filtering? (rummage уже попробовал, это бляцкая поганка)
источник

VK

Vyacheslav Konovalov in pro.elixir
на awesome-elixir несколько вариантов
источник

AL

Anton Lapshin in pro.elixir
мы в итоге к паре модулей внутри проекта пришли на основе вот этого:
https://snippets.aktagon.com/snippets/776-pagination-with-elixir-and-ecto


rummage тоже в своё время пробовал - там чёртте что - то ли работает оно с третьим экто, то ли не работает - ничё не понял
источник

AL

Anton Lapshin in pro.elixir
т.е. по большому счёту всё сводится к хэлперу для запрос в базу с лимит-оффсет, и к хэлперу на вьюшки с рендерингом по результатам этого хэлпера к запросам
источник

AL

Anton Lapshin in pro.elixir
а вот короткого универсального решения а-ля kaminari так и не нашлось
источник

IK

Ihor Katkov in pro.elixir
А есть че для курсорной пагинации в экосистеме?
источник

PG

Pig Greenest in pro.elixir
Vyacheslav Konovalov
кто что использует для pagination, sorting и filtering? (rummage уже попробовал, это бляцкая поганка)
scrivener для страничек использовал, остальное через чистый ecto
источник

AL

Anton Lapshin in pro.elixir
скривенер я в другом проекте интегрировал - норм, но есть нюансы. в итоге на мой вкус вот эта схема с хэлперами более простой показалась
источник

PG

Pig Greenest in pro.elixir
один раз его использовал, завелось с полпинка, так что не стал мудрствовать
источник

AL

Anton Lapshin in pro.elixir
а так да, можно и его
{:scrivener_ecto, "~> 2.0"},
{:scrivener_html, "~> 1.8"},
источник

VK

Vyacheslav Konovalov in pro.elixir
Ihor Katkov
А есть че для курсорной пагинации в экосистеме?
ecto_paging, но древнота (ecto 2.2)
источник

VK

Vyacheslav Konovalov in pro.elixir
Pig Greenest
scrivener для страничек использовал, остальное через чистый ecto
🙏
источник

МБ

Максим Барулин... in pro.elixir
Vyacheslav Konovalov
кто что использует для pagination, sorting и filtering? (rummage уже попробовал, это бляцкая поганка)
scrivener. бывают сложности с количествами, но можно хакнуть его немножко через параметры и передавать готовые цифры из кэша, чтобы не было лишних каунтов в базу
источник

AL

Anton Lapshin in pro.elixir
это как раз один из нюансов, о кторых выше писал :)
источник

IM

Ivan Mironov in pro.elixir
Anton Lapshin
т.е. по большому счёту всё сводится к хэлперу для запрос в базу с лимит-оффсет, и к хэлперу на вьюшки с рендерингом по результатам этого хэлпера к запросам
не рекомендую использовать offset для пагинации, по крайней мере если под капотом postgres
https://use-the-index-luke.com/no-offset
источник

AL

Anton Lapshin in pro.elixir
для ui пользователя да, чревато. для внутренних админок вообще накласть
источник

IM

Ivan Mironov in pro.elixir
хозяин-барин, но зачем внутренним пользователям страдать, когда с курсорной пагинацией можно не страдать?!! ну и потом это влияет не только на UX конкретной странички с пагинацией, но и на производительность самой базы в целом
источник

AL

Anton Lapshin in pro.elixir
слушай, тут вопрос в целесообразности скорее. у нас внутренние админки такого рода скорее номинальные, минимально работоспособные. если для каких-то мелких улучшений чтобы условные два-три запроса из базы не потерять в момент нажатия кнопки нужно прикладывать больше усилий, чем просто подключением скривенер, скорее всего никто этого не будет делать
источник

AL

Anton Lapshin in pro.elixir
если есть время и потребность - безусловно, я за. но часто все эти внутренние интерфейсы уже скорее по остаточному принципу пилятся у нас
источник

IM

Ivan Mironov in pro.elixir
я понимаю, и не осуждаю))) просто надо держать в голове, что если количество сущностоей вырастет, это может обернуться проблемой
источник