Собственно вопрос практически из этой темы:
https://www.cuba-platform.ru/discuss/t/lookuppickerfield-lookup-validator/914/2
За исключением того, что провалидировтаь дополнительно нужно выбор в таблицу (многие-ко-многим).
Подскажите, пожалуйста, как?
План был следующий: во фрейме с таблицей переопределить действие addAction для передачи мапы параметров в окно выбора. Попробовал так - не получилось. Мапа не принимается со стороны окна выбора:
@Override
public void init(Map<String, Object> params) {
super.init(params);
unitsTable.addAction(new AddAction(unitsTable){
@Override
public void setWindowParams(Map<String, Object> windowParams) {
super.setWindowParams(windowParams);
windowParams.put("unitStatusAllowed", Enum_UnitStatus.Ready);
}
});
}
В окне выбора:
@Override
public void initLookupLayout() {
super.initLookupLayout();
setLookupValidator(() -> {
if (unitsDs.getItem().getStatus() == Enum_UnitStatus.Installed) {
showNotification("is`n valid", NotificationType.WARNING);
return false;
}
else return true;
});
}
С этим проблем нет, работает.
Подскажите, как корректно передать параметры.