Представляет собой функционал создания UI Dropdown. HTML, CSS, JavaScript. 0 зависимостей, 9 полифиллов.
Демо: https://vk-test-dropdown.vercel.app
Реализовать UI дропдаун, который в зависимости от параметров инициализации позволяет: — выбирать только один пункт из списка; — выбирать несколько пунктов из списка (multiselect); – использовать autocomplete для фильтрации пунктов списка по набранному префиксу (при этом фильтрация должна учитывать все варианты неправильной раскладки, т.е. Андрей Рогозов должен подсказываться по любой из четырех подстрок "рого", "hjuj", "rogo", кщпщ''); – выполнять запрос на сервер для расширенного поиска в режиме реального времени (например, хотим искать не только по именам пользователя, но и по домену, при этом имена и фамилии есть в дропдауне на клиенте, а домен лежит только на сервере); – отображать или нет аватарки пользователей в списке.
Все параметры могут указываться независимо друг от друга. Для запроса на сервер необходимо реализовать простой API, который по подстроке возвращает необходимые данные также с учетом неправильных раскладок.
Требования к реализации: javascript, желательно без зависимостей, код должен быть кроссбраузерным и работать во всех современных браузерах, а также msie8+ и opera 12.16. Нужно учесть, что таких дропдаунов может быть несколько на странице.
Андрей Рогозов, Екатерина Копылова, Павел Дуров, Лев Левиев, Иван Смирнов, Людмила Романченко, Андрей Смирнов, Андрей Чернышев
Поиск по домену (screen_name – короткое имя) осуществляется с выполнением запроса на сервер. Пример домена для Павла Дурова: iddurov, для Льва Левиева: idleviev. Исключения для Ивана Смирнова и Андрея Смирнова: idismirnov и idasmirnov соответственно.
Требует Vercel. Находясь в корневой папке, выполнить vercel dev
.