Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Поправить сортировку опечаток #205

Closed
bazilval opened this issue Sep 22, 2023 · 12 comments
Closed

Comments

@bazilval
Copy link
Collaborator

bazilval commented Sep 22, 2023

Problem description

  1. Стрелочки у заголовков столбца отображаются постоянно, хотя должны быть только тогда, когда по конкретному столбцу необходима сортировка
    image

  2. Вынести разметку заголовков с сортировкой в отдельный фрагмент, чтобы можно было прописать только что-то такое:
    <th th:replace="fragments/sorting :: sorting('id','Id')"></th>
    Это приведёт к снижению однотипной разметки, а также позволит переиспользовать её во всех таблицах (пользователей, воркспейсов)

Proposed solution

  1. Прописать в span содержащий стрелочку th:if="${sortProp == 'columnName'}", а внутри оставить только проверку на направление сортировки.
    В итоге как-то так:
    <span th:if="${sortProp == 'modifiedBy'}">[[${sortDir.isAscending() ? '&uArr;' : '&dArr;'}]]</span>

Как должно выглядеть:
image

  1. Пример подобного решения:
    Вставка фрагмента
    Сам фрагмент
@bazilval
Copy link
Collaborator Author

Если необходимо, то готов реализовать

@fey
Copy link
Collaborator

fey commented Sep 23, 2023

Мне кажется, тут должно как-то сложнее быть, точнее без рукопашки. Я пока не знаю как реализовано, я бы предложил посмотреть, есть ли библиотечки для удобной сортировки данных. Плюс сортировка по дефолту должна быть такая - сверху старые записи, внизу свежие

@bazilval
Copy link
Collaborator Author

bazilval commented Sep 23, 2023

@fey Ну стрелочка как минимум точно не должна быть показана до тех пор, пока по конкретному критерию не происходит сортировка, а сейчас она показывается вообще у всех пунктов, что путает

Ну и это никак не конфликтует с сортировкой по умолчанию, наоборот, помогает её визуально сразу увидеть

@fey
Copy link
Collaborator

fey commented Sep 26, 2023

@bazilval некоторые задачи могут иметь разные решения. например в Хекслете когда-то в топе пользователей было больше 100 юзеров, была пагинация, которая сильно медленно работали. Вместо оптимизации кода тупо выключили пагинацию и оставили топ 100 юзеров.

В целом можно посмотреть штуку с сортировкой, но тут есть некоторые нюансы

  1. по идее мы переедем на api + react, отказавшись от шаблонизатора (но хз когда)
  2. пока сервисом мало пользуются и фидбека не так много) Поэтому не выглядит сильно приоритетно
  3. я бы еще изучил готовые решения, которые есть. Наверняка похожая задача кем-то решалась (а еще стрелочку бы заменил, чет она страшная)

@bazilval
Copy link
Collaborator Author

@fey
Ну я просто предлагаю сейчас хотя бы убрать лишние стрелочки)

Кстати, по поводу перехода на Реакт, хотел обсудить - может попробуем что-нибудь типа HTMX использовать? У нас несложный фронтенд, зато больше практики для джавистов, в том числе и в фуллстек направлении

@fey
Copy link
Collaborator

fey commented Sep 26, 2023

тут штука в том, что htmx не изучается в профессиях. По идее можно, но, если есть реакт, то зачем?)
Сделайте пулл реквест, посмотрим, что там со стрелчоками получится =)

@bazilval
Copy link
Collaborator Author

@fey чтобы у джавистов было больше разнообразной практики, я думал этот проект тут для этого. У фронтендеров такой возможности и так полно, кажется. Кстати, Thymeleaf теперь тоже нет в профессии :)

Пулл-реквест со стрелками сделаю, но после мержа предыдущего, потому что там те же строчки редактируются

@fey
Copy link
Collaborator

fey commented Sep 26, 2023

@fey да, по идее надо проект обновлять под новые технологии. Например и мавена нет - надо на градл переходить.
Просто вопрос целесообразности - зачем нам зоопарк :_)

@bazilval
Copy link
Collaborator Author

@fey ну как попытка оставаться в той же экосистеме, которая уже написана, просто добавить интерактивности с помощью HTMX. Особенно до того момента, пока нет ничего другого.

Ведь добавление фронта на React - это как раз создание отдельной кодовой базы, полная переработка существующего представления и так далее. Как-будто более многодельное что-то получается

Но опять же, если стоит задача добавить практики фронтам, то могу понять :)

@fey
Copy link
Collaborator

fey commented Sep 26, 2023

Ну тут такая штука, что java это больше работа с апи, чем с шаблонизатором. Просто в начале было проще сделать на шаблонизаторе все, чтобы было с чем работать.
htmx можно добавить но...пока нет причин. Он может остаться, а на реакт будем переходить не скоро и в итоге нужно будет поддерживать это добро. В общем на такие вещи просто так не переходят.

@bazilval
Copy link
Collaborator Author

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

Некоторые наоборот с реакта на это добро переходят :)

Возможно сделаю на своём форке, чтобы было на что посмотреть и пообсуждаем

@fey
Copy link
Collaborator

fey commented Sep 26, 2023

да, в некоторых проектах нет реакта, точнее он есть, но точечно. Например хекслет на 99% - это классический бекенд.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants