Добрый день,
В SettingsFacet возникает ошибка NullPointerException в случае, если экран содержит dataGrid, в котором есть колонки без ключа.
Шаги для воспроизведения проблемы:
- Добавить settings facet в list view (например, user-list-view.xml).
- Добавить editorActionsColumn в dataGrid, не указывая ключ колонки (как в примере из документации).
- Открыть view два раза.
Результат - NullPointerException.
Stacktrace:
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:209)
at io.jmix.flowui.facet.settings.component.binder.AbstractGridSettingsBinder.applySettings(AbstractGridSettingsBinder.java:59)
at io.jmix.flowui.facet.settings.component.binder.AbstractGridSettingsBinder.applySettings(AbstractGridSettingsBinder.java:37)
at io.jmix.flowuidata.settings.ViewSettingsComponentManagerImpl.applySettings(ViewSettingsComponentManagerImpl.java:68)
at io.jmix.flowui.facet.impl.SettingsFacetImpl.applyViewSettings(SettingsFacetImpl.java:305)
at io.jmix.flowui.facet.impl.SettingsFacetImpl.applySettings(SettingsFacetImpl.java:105)
at io.jmix.flowui.facet.impl.SettingsFacetImpl.onViewReady(SettingsFacetImpl.java:283)
at io.jmix.flowui.facet.impl.SettingsFacetImpl$ViewEventListener.lambda$subscribe$9b1b5227$1(SettingsFacetImpl.java:401)
at com.vaadin.flow.component.ComponentEventBus.fireEventForListener(ComponentEventBus.java:233)
at com.vaadin.flow.component.ComponentEventBus.fireEvent(ComponentEventBus.java:222)
at com.vaadin.flow.component.Component.fireEvent(Component.java:411)
at io.jmix.flowui.view.View.afterNavigation(View.java:98)
...
Для исправления проблемы нужно добавить атрибут key
для editorActionsColumn
. Возможно в SettingsFacet стоит реализовать корректную обработку такой ситуации (колонок без ключа).