Программная обработка ComboBox

Коллеги!
Подскажите, пожалуйста. Не могу найти, как задать программно htmlEnabled=true для опций ComboBox?
Храню в БД сроку описания опции + HEX-код цвета. Задача - отразить эти цвета в выпадающем списке опций.

Добрый день.

Опции компонента ComboBox не поддерживают HTML разметку, но можно задать style provider и возвращать предопределенные стили, посмотреть демо можно тут.

Глеб

Глеб, спасибо. Про предопределенные стили понятно. В данном случае цвет Hex - произвольный…

Как вариант можно заэкстендить ComboBox MyComboBoxImpl<V> extends ComboBoxImpl<V>

В конфигурации добавить

    @Bean
    open fun myComboBoxImplComponent(): ComponentRegistration {
        return ComponentRegistrationBuilder.create(ComboBox.NAME)
            .withComponentClass(MyComboBoxImpl::class.java)
            .withComponentLoaderClass(ComboBoxLoader::class.java)
            .build()
    }

Там поставить OptionStyleProvider внутри которого вы будите создавать стили и при помощи

        Page.getCurrent().getJavaScript().execute(
                "var s = document.createElement('style'); " +
                        "s.type = 'text/css'; " +
                        "s.innerText = ' " + styleString + "'; " +
                        "document.getElementsByTagName('head')[0].appendChild(s);");

Пушить их на страницу.