OpenUI Фильтрация списков
Цель Сделать управление отбором курсов понятным: пользователь должен различать, открыта ли панель фильтров, есть ли применённые условия и что произойдёт при сбросе. Поиск считать частью условий отбора списка. Текущее поведение Поиск расположен рядом с кнопкой фильтров и обновляет список при вводе. Кнопка с иконкой воронки раскрывает и закрывает панель, но не показывает своё открытое состояние. Её выделение означает наличие применённых статуса или дат, при этом поисковый запрос не учитывается. В открытой панели есть ещё одна кнопка сворачивания. Действие «Очистить» сбрасывает статус и даты, но оставляет поиск. Требуемое поведение 1. Управление панелью. Кнопка «Фильтры» над списком открывает и закрывает панель. Визуальное состояние кнопки меняется при раскрытии, например за счёт направления стрелки. Для списка «Проводимые курсы» отдельную кнопку сворачивания внутри панели убрать. Закрытие панели не применяет и не сбрасывает значения полей. 2. Индикация применённых условий. Отдельно от раскрытого состояния показывать, что список ограничен условиями. Учитывать поисковый запрос, статус и обе даты. Индикатор должен оставаться видимым, когда панель закрыта. Изменения в полях, которые пользователь ещё не применил, не должны отображаться как применённые фильтры. 3. Действия формы. Использовать названия «Применить» и «Сбросить». «Применить» обновляет список по выбранным статусу и датам, сохраняя текущий поисковый запрос. Панель после применения остаётся открытой. 4. Общий сброс. «Сбросить» очищает поисковую строку, статус и обе даты, обновляет список и возвращает пагинацию на первую страницу. Выбранный размер страницы сохраняется. Сброс должен одним действием обновить и видимое поле поиска, и условия в URL; отложенное обновление поиска не должно восстанавливать прежний запрос. 5. Поиск. Оставить поле поиска постоянно видимым над списком. Его текущее поведение — обновление списка после короткой паузы при вводе — сохранить. При изменении запроса возвращаться на первую страницу. Критерии приёмки - Кнопка «Фильтры» явно показывает открытое и закрытое состояние панели; она доступна с клавиатуры, а её состояние передаётся через aria-expanded. - У панели списка нет второй кнопки сворачивания. - При одном только поисковом запросе виден индикатор применённых условий; при пустом поиске и пустых полях индикатора нет. - Закрытие и повторное открытие панели не сбрасывает введённые значения. - «Применить» использует значения полей и не очищает поиск. - «Сбросить» очищает и поиск, и поля фильтров, показывает полный список с первой страницы и сохраняет размер страницы. - Быстрое нажатие «Сбросить» сразу после ввода в поиск не возвращает прежний запрос. - Состояния проверены при пустом результате, на узком экране и при управлении с клавиатуры. Область изменений: список «Проводимые курсы» в новом интерфейсе. При изменении общих компонентов раскрытия проверить другие использующие их списки и отчёты, чтобы не изменить их поведение случайно.
Максим·about 4 hours ago