Этап
Готова
Тип
Задача
Приоритет
Повышенный
Трудоемкость
Эпичная
Создана
Дата создания
4 года назад
Назначена
Обновлена
год и 4 месяца назад

Уже сильно не хватает. Минимально необходимо по дефолту фильтровать закрытые задачи, а если они не отфильтрованы, сортировать по is_closed. Здесь бы надо подумать как

  • сначала закрытые, потом остальные - Когда их наберется много, они будут мешать, зато соответствует дате.
  • сначала открытые, потом остальные - Не так мешают, но они будут теряться за свеже созданным беклогом
  • направление зависит от сортировки по дате - А если сортируются не по дате? Какая-то сложная логика выходит

Связана tndt-32 - если получится быстро её решить, можно в рамках этой сделать. А может вобще пока убрать эти поля, смысла в них нет и не будет еще долгие месяцы пока я один автор и работник в проекте

upd В дашборде проекта отображать закрытые задачи. сделано в tndt-13

upd Сразу сделать dto с фильтрами и сортировкой и сохранять в сессию пользователя

upd Еще не редактировавшиеся задачи не имеют даты редактирования и поэтому не сортируются корректно в списке задач сделано в tndt-65

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

На данный момент план видится таким.

  1. Добавляем:
    1.1. Model/Table/TableQuery, FilterQuery, SortQuery, PageQuery, - готово, хотя пока до сих пор сомнительно что нужны все три 1.2 Service/Table/SpecByTableQueryBuilder - обошлись без него …Query классы сами строят запросы
  2. Добавляем Service/Table/TableQueryByRequestBuilder,
    2.1. TableQueryByRequestBuilder так же разбит на отдельные конкретные билдеры внутри, здесь надо определить как он находит какие из них запускать, так как тут будут конкретные билдеы вида UserSortByRequest, TaskTypeFilterByRequest. - Пока все делается единым методом в фабрике TableQuery, когда будет много разных фильтров, надо попытаться имплементировать в них
  3. Добавляем систему рендера Table в виде набора шаблонов, их пока хватает. Для генерации ссылок из TableView использую набор twig-функций {{ table_filter_link(TableView $tableView) }} (сейчас фактически просто линк на текущий набор фильтров), {{ table_sort_link(TableView $tableView) }}, {{ table_page_link(TableView $tableView) }}
    3.1 Уходим от текущего пагинатора в пользу своего, написанного выше - готово
    3.2 Фильтры в виде vue-компонентов. С целью того, чтобы по работе с формами, сразу обновлялась ссылка на примменения фильтров. вот это самая сложная часть, на которой зависли - примерно готово
  4. *Сериализация/Десериализация TableQuery в json. Сохранение выгрузка его из сессии. Пункт не обязательный, так как нас часто разлогинивает.

Панель управления