Closed sedovalx closed 9 years ago
@sedovalx Уточни, пожалуйста, по каким полям поддерживается фильтрация на сервере? по роли вроде не поддерживается, а по остальным перечисленным поддерживается.
@Argelein фильтр роли нужно делать выпадающим списком и на сервер передавать значение роли (Administrator, Accountant и т.п.), а не русское наименование.
@sedovalx по-моему, совсем не работает, даже если я английское передаю. если я пытаюсь фильтровать по этому полю, то фильтр не работает и по другим полям
@Argelein напиши сюда строку запроса, которая уходит на сервер
@sedovalx я так понимаю, это request url? Request URL:http://localhost:9000/api/users?role=test при этом никаких ошибок и выводится полный список без фильтрации
@sedovalx все, я понял. Request URL:http://localhost:9000/api/users?role=Administrator так работает. т.е. если я сделаю выпадающий список, то будет работать
@sedovalx мне нужно значение role для фильтрации, которое бы отдало все роли.
сейчас такой запрос (фильтрация по логину, но без фильтрации по роли) http://localhost:9000/api/users?firstName=&lastName=&login=Test&middleName=&role= отдает весь список, т.е. сервер, как я понимаю, понимает только значение роли, которое уже существует, а ни пустое, ни null не понимает.
запроса без role, т.е. так: http://localhost:9000/api/users?firstName=&lastName=&login=Test&middleName= я не могу сделать. почему написано тут: http://guides.emberjs.com/v1.10.0/routing/query-params/ если я непонятно выразился, то давай по телефону поговорим :)
@Argelein посмотри, как я поправил разметку фильтра. Это тоже некруто, т.к. фильтр занимает дофига места. Нужно на одной строке размещать несколько полей ввода, по два к примеру. Для этого почитай про http://getbootstrap.com/css/#grid и посмотри наш компонент {{property-row}}. Наверное в нем нужно использовать не фиксированные ширины столбцов, а параметризуемые. Текущие значения можно оставить по-умолчанию.
Над списком пользователей должна быть панелька с полями для ввода параметров фильтрации:
Сбоку от панельки нужна кнопка Обновить, при нажатии на которую список должен перезагружаться с учетом введенных параметров фильтрации. Так же должна быть кнопка Очистить, которая очищает введенные параметры фильтрации и перезагружает список. Перезагрузка списка в принципе может быть сделана повторным переходом по маршруту к тому же списку пользователей (this.transitionToRoute('users', {...})). В метод перехода можно передать параметр, в котором будут указанные в фильтре поля. Данный параметр по идее придет в метод model у маршрута.
Чтобы поискать пользователей по параметрам фильтра нужно использовать метод store.find, куда передавать json с параметрами. В результате на сервер должен уйти как раз такой запрос, который нам нужен.