Проблема DataGridEditor и кастомного компонента

Jmix 2.3.3 plugin 2.3.3-233
Хотелось бы использовать собственный LocalizedTextField компонент в инлайн-едиторе

DataGridEditor<BuildingFloor> editor = dataGrid.getEditor();
editor.setColumnEditorComponent("description", context -> {
			LocalizedTextField localizedTextField = new LocalizedTextField();
			localizedTextField.setValueSource(context.getValueSourceProvider().getValueSource("description"));
			localizedTextField.setWidthFull();
			localizedTextField.setRequired(true);
			localizedTextField.setStatusChangeHandler(((Consumer) context.getStatusHandler()));
			return localizedTextField;
		});

Но при выставлении значения возникает ошибка:
бин LocalizedConverter, используемый в компоненте не инициализирован, потому что не был вызван loader

localizedConverter is null

public class LocalizedTextField extends JmixValuePicker<String> {

	private LocalizedConverter localizedConverter;

	public void setLocalizedConverter(LocalizedConverter localizedConverter) {
		this.localizedConverter = localizedConverter;
	}
public class LocalizedTextFieldLoader extends ValuePickerLoader {

	@Override
	protected LocalizedTextField createComponent() {
		LocalizedTextField localizedTextField = factory.create(LocalizedTextField.class);
		localizedTextField.setLocalizedConverter(applicationContext.getBean(LocalizedConverter.class));

Можно ли как то вызвать loader в setColumnEditorComponent или другие способы решения?
Инициализация компонента очень обширная, не хотелось бы использовать весь код инициализации в текущем view.

При использовании компонента в xml проблем не возникает:

<app:localizedTextField id="titleField" property="title"/>

Я бы посоветовал вам посмотреть как создаются компоненты в JMIX. И по их примеру все делать.

  1. Обычно компоненты имплементируют ApplicationContextAware и InitializingBean, таким образом у вас будут методы setApplicationContext в котором проставится ApplicationContext в ваш компонент и afterPropertiesSet, в котором вы сможете получить все нужные вам бины для этого компонента.
    То есть не нужно проставлять бины в LocalizedTextFieldLoader. Когда вы вызовете factory.create, ваш localizedConverter уже будет в компоненте.
  2. Вместо того чтоб в экране создавать компонент через new, лучше испоьзовать UiComponents (его вы и используете в загрузчике) Он проставляет ApplicationContext в компонент (на скок я понимаю, но не уверен)

На самом деле я использлвала uiComponents.create, просто эксперементировала и в итоге в форум попал другой кусок кода )

Спасибо помогло, переопределила метод afterPropertiesSet и перенесла туда почти все из Loadera, в том числе выставление бинов