User Story #2079 Создание новой системы фильтрации.

Должна быть создана новая система фильтрации, позволяющая применять несколько фильтров одновременно или последовательно, и сохраняющая выбранные значения фильтров после применения.
Система должна быть универсальной, предназначенной для использования в таблицах, например, таблице задач, таблице представителей, таблице рейтингов, таблице организаций.
User Story #2055 Создать страницу "Представители" в цикле мониторинга.

Создать в цикле мониторинга страницу "Представители" для отображения контактных данных представителей, привязанных к организациям в цикле мониторинга.
Функционал:
В меню навигации по циклу мониторинга для эксперта А между "Организации" и "Назначение задач" поместить пункт "Представители"
Страница представителей доступна только экспертам А.
В список представителей попадают те пользователи, которые привязаны к организациям в данном цикле.
Список представителей выводится в таблице.
Строки таблицы группируются по организациям. Каждая группа должна иметь отдельный заголовок, состоящий из названия организации, который является ссылкой, ведущей к списку задач по данной организации в цикле (открывается в том же окне).
Группы сортируются по названию организации по алфавиту
Строки внутри групп сортируются по ФИО. Заголовки столбцов не кликабельны.
В таблице выводится:
Полное имя пользователя
адрес емейла
телефон
должность
количество комментариев, оставленных пользователем в данном цикле мониторинга
Таблица должна иметь фильтрацию:
Текстовый фильтр отбирает пользователей по вхождению подстроки в полное имя или емейл.
Фильтр по организации предлагает выбор из тех организаций, которые в данный момент представлены на странице.
Фильтры должны применяться после нажатия на кнопку. После фильтрации состояние фильтров должно сохраняться, обеспечивая возможность применить сначала один, затем другой фильтр, или оба сразу.
Нужно использовать фильтр, созданный в #2079
Верстка:
Заголовок "Представители" стиля h2.
Форма фильтрации представителей на странице:
Однострочное поле ввода. По умолчанию содержит текст "ФИО или электронная почта" цвета 999999. Текст пропадает при фокусе на поле.
Выпадающий список для выбора организации. По умолчанию выбран вариант "организация не выбрана". Остальные варианты соответствую организациям к которым привязаны представители.
Кнопка "Найти", шириной 70px. При нажатии обрабатывает фильтр.
Все элементы формы находятся на одной строке. Расстояние между элементами 5px.
Тестовое поле и выпадающий список равны по ширине и растягиваются при увеличении ширины контента, но в пределах ширины окна.
Отступ 20px от заголовка страницы.
Таблица с представителями:
Таблица разбита на представителей по организациям. Представители каждой организации имеют заголовок h3 в виде названия организации. Заголовок является ссылкой, которая ведет на страницу задач по организации.
Таблица содержит пять столбцов:
"ФИО"
"Эл. почта"
"Телефон"
"Должность"
"Коммент.", в столбце отображается количество комментариев оставленных представителем в цикле мониторинга. Выравнивание в столбце по правому краю.
Заголовки таблицы показываются только вверху, в начале таблицы. Оформлены как полужирный текст.
Ширина таблиц равна ширине контента в них, но не более ширины окна.
Отступ блока таблицы - 20px от фильтра.
Отступ заголовка таблицы от соответствующей таблицы - 10px. От таблицы сверху 20px.