вьюшке? серверная пагинация не подходит, т.к. сортировка от datatables, там вообще ужасный server side какой-то. + есть сторонние фильтры которые придется обратно севреру передавать что неудобно
Загрузить то ты загрузишь, но вот клиент от такого количества записей повиснет хорошо и надолго. Так что в твоем случае выход один - серверная генерация. А вот собственная или от datatables решать тебе.
собственная пагинация от лары хорошо работает, но тогда сортировка от datatables работает только на загруженной странице(
ну так перенеси сортировку на сервер
Там только фулл server side( спасибо, оставлю наверное как есть, с отдельными фильтрами я думаю не будет много записей, а при первой загрузке можно ограничить количество...
я вообще перешел на livewire и ссусь кипятком от того, что не надо тащить кучу левых библиотек, а всё нужное на нем пишется в пару строк
да, крутая штука, жаль не использую. А вот в теории, есть ли возможность легко передать GET параметры фильтрации при пагинации и сортировке? в livewire же вроде нет доступа к телу запроса ajax..
так там и не надо передавать их постоянно. Один раз передал нужный параметр и его состояние хранится в компоненте. Если я правильно понял тебя.
ну да, на странице есть форма с селектами и своей js логикой - фильтрует записи. Эти параметры в GET лежат
объявляешь переменную в компоненте, при выборе селекта отправляется запрос на сохранение нового состояния этого селекта. js логики нет вообще или самый минимум. Но если очень нужно, то объявляешь protected $queryString с массивом нужных GET параметров и Livewire и в адресной строке все вставляет при обновлении состояния
https://laravel-livewire.com/docs/2.x/properties
ну и тут немного о реализации поиска и GET параметров https://laravel-livewire.com/docs/2.x/query-string
демка есть посмотреть🤔
https://laravel.demiart.ru/livewire-and-laravel-interactive-search/
в целом решает почти все задачи, да.. а в контексте работы с таблицами, пакет какой-нибудь? https://github.com/rappasoft/laravel-livewire-tables такое вот нашел
у меня сложный поиск в таблицах плюс не устраивает верстка из пакетов, потому всё сам пишу
вот из последнего на скрине. Тут, правда, без поиска (но может быть и попросят в будущем прикрутить). Есть два фильтра, в одной из колонок collapse список, в другой открытие модалки на редактирование записи. С помощью готовых пакетов такое не сделаешь.
прикольно) огромный нюанс в том что проект очень большой, и просто так встраивать livewire ради одной страницы не вариант + версия лары очень старая. Прихожу к такому выводу - целая таблица без фильтров не сильно полезна, её можно ограничить условно до 1-5к записей. А фильтры достаточно подробные, с ними никогда не будет много записей. Ну и в целом проект не публичный, поэтому быстродействие не так важно, думаю не страшно)
О, спс. А я уже React хотел учить ))
у livewire есть и большие минусы. Например доступность лишних данных на фронте
вот тут обсудили немного https://qna.habr.com/q/845301
Ага, спс. Как раз мой случай, простенький круд без нагрузки. В любом случае поставлю, попробовать.
например если ты передал модель, то будь готов к тому, что она полностью будет видна на фронте, в том числе и те данные, которые ты не выводишь явно. Livewire её сериализует и добавит в data-атрибут html-элемента
мне не критично, приложение в интранете крутиться.
сегодня не критично, а завтра окажется, что оно из Инета тоже будет доступно ... livewire требует внимательности с данными в любом случае
тогда добавлю api и буду учить что-нибудь рекативное и фронт писать... Ну а что делать )
Реально спасибо!! Я теперь говнопроекты буду в три раза быстрей делать ))))
Обсуждают сегодня