Нужно реализовать классический контрол ArrangeBox. Обычно он представляет собой два поля, расположенных на одном горизонтальном уровне, и позволяет выбрать несколько значений из списка.
Приблизительный пример можно увидеть тут: https://primeng.org/picklist
- Левое поле контрола определяет список возможных значений, правое поле - список выбранных значений;
- Возможность выбора и сортировки значений пользователем;
- Пользовательский поиск.
- Писать код необходимо без использования фреймворков;
- В html-коде определён только тег-контейнер, куда контрол будет добавлен после загрузки страницы;
- В глобальной области видимости должен остаться только конструктор контрола и объект, соответствующий экземпляру контрола;
- Реализовать программные возможности:
- Изменение списка возможных значений,
- Установка списка выбранных значений,
- Получение текущего значения контрола,
- Сброс значения к начальному состоянию;
- Разместить на странице дополнительные элементы управления, позволяющие протестировать программные возможности контрола;
- Кнопка для создания на текущей странице новых экземпляров контролов с рандомными начальными значениям.
Реализовать простейший web-сервер на чистом Python, обеспечивающий работу формы с ArrangeBox-ом.