Добрый день, уважаемые коллеги.
Стоит передо мной задача, после закрытия формы ввода задать вопрос “Создать новую запись путем копирования текущих данных”.
После создания формы не могу скопировать данные в новую форму. Вот кусочек кода:
@Subscribe
public void onAfterClose(AfterCloseEvent event) {
dialogs.createOptionDialog()
.withCaption(“Внимание”)
.withMessage(“Создать новую запись?”)
.withActions(
new DialogAction(DialogAction.Type.YES, Action.Status.PRIMARY)
.withHandler(e -> {
createNewField(this.getEditedEntity());
}),
new DialogAction(DialogAction.Type.NO)
).show();
}
// создать новый экран
private void createNewField(IteractionList entity) {
JobCandidate setJobCandidate = getEditedEntity().getCandidate();
OpenPosition vacansy = entity.getVacancy();
Project project = entity.getProject();
String communicationMethod = entity.getCommunicationMethod();
Iteraction itercation = entity.getIteractionType();
IteractionList newItercation = metadata.create(IteractionList.class);
screenBuilders.editor(IteractionList.class, this)
.editEntity(newItercation)
.withInitializer( iteractionList -> {
getEditedEntity().setCandidate(setJobCandidate);
newItercation.setVacancy(vacansy);
newItercation.setProject(project);
newItercation.setCommunicationMethod(communicationMethod);
newItercation.setCompanyDepartment(departament);
iteractionListEditDataManager.commit(newItercation);
} )
.withScreenClass(IteractionListEdit.class)
.build()
.show();
}