Jmix version: 1.5.3
Jmix Studio plugin version: 2.0.3-232
IntelliJ version: IntelliJ IDEA 2023.2.2 (Ultimate Edition)
Добрый день!
Я хотел переопределить класс ParameterEditor, чтобы в отчете при создании параметра типа Entity при выборе полей через Browse экран передавалось значения в сам Browse экран, но не вижу реализацию entityLookup в контроллере.
protected void initDefaultValueField() {
defaultValueLabel.setVisible(false);
defaultValueBox.removeAll();
ReportInputParameter parameter = getEditedEntity();
if (canHaveDefaultValue()) {
Field<Object> field;
if (ParameterType.ENTITY.equals(parameter.getType()) && Boolean.TRUE.equals(parameter.getLookup())) {
ReportInputParameter entityParam = metadata.create(ReportInputParameter.class);
entityParam.setReport(parameter.getReport());
entityParam.setType(parameter.getType());
entityParam.setEntityMetaClass(parameter.getEntityMetaClass());
entityParam.setScreen(parameter.getScreen());
entityParam.setAlias(parameter.getAlias());
entityParam.setRequired(parameter.getRequired());
field = parameterFieldCreator.createField(entityParam);
} else {
field = parameterFieldCreator.createField(parameter);
}
field.addValueChangeListener(e -> {
if (e.getValue() != null) {
parameter.setDefaultValue(objectToStringConverter.convertToString(e.getValue().getClass(), e.getValue()));
} else {
parameter.setDefaultValue(null);
}
});
if (parameter.getParameterClass() != null) {
field.setValue(objectToStringConverter.convertFromString(parameter.getParameterClass(), parameter.getDefaultValue()));
}
field.setRequired(false);
defaultValueBox.add(field);
defaultValueLabel.setVisible(true);
}
defaultValueBox.setEnabled(secureOperations.isEntityUpdatePermitted(metadata.getClass(ReportInputParameter.class), policyStore));
}
Тут я вижу как работают с label, но реализации самого lookup нет. Можете подсказать?