Доброго дня!
Подскажите пожалуйста как реализовать сохранение пользовательских настроек компонента?
В CUBA мы добавляли композитный компонент помечали его интерфейсом HasSettings и реализовывали его методы applySettings(Element element) , saveSettings(Element element) и isSettingsEnabled.
Благодаря этому, вызовы методов контроллера saveSettings() и applySettings(), где размещался композитный компонент, сохраняли и применяли его настройки, без лишнего кода на стороне экранов.
Немного посёрфив не нашел похожего механизма, чтобы компонент экрана сам заботился о своих настройках без написания обработчиков событий ScreenSettingsFacet на всех экранах, где он расположен.
реализация компонента
import com.haulmont.cuba.gui.components.HasSettings
public class CompositeComponentExample extends CompositeComponent<HBoxLayout>
implements CompositeWithCaption, CompositeWithDescription, CompositeWithIcon, CompositeWithContextHelp, HasSettings {
@Override
public void applySettings(Element element) {
//some code
}
@Override
public boolean saveSettings(Element element) {
//some code
}
Обстановка:
- студия Jmix 2.1.3-233
- версия Jmix 1.5.4
- IntelliJ IDEA 2023.3.3 (Community Edition)