Есть экран с заявками и связанный с ним контроллер ApplicationBrowse, в нем есть метод init:
@Override
public void init(Map<String, Object> params) {
super.init(params);
currentDate = DateUtils.truncate(timeSource.currentTimestamp(), Calendar.DAY_OF_MONTH);
daysToHighlightOverdue = -soesgUIConfig.getDaysToHighlightOverdueApplications();
applicationsTable.setStyleProvider((entity, property) -> {...};
String categoryName = (String) params.get("categoryName");
Date publishedDate = (Date) params.get("publishedDate");
//Set query for column chart
setQueryByCategoryAndDate(categoryName, publishedDate);
applicationsTableView = new EditAction(applicationsTable, WindowManager.OpenType.THIS_TAB, "view") {
@Override
public String getCaption() {
return getMessage("application.view.viewApplication");
}
@Override
public String getWindowId() {
return "soesg$Application.view";
}
};
applicationsTable.addAction(applicationsTableView);
applicationsTableEdit.setEditorCloseListener(entity -> updateSelectedItem());
applicationsTableView.setAfterCommitHandler(entity -> updateSelectedItem());
applicationsTable.setItemClickAction(applicationsTableView);
applicationsTable.addAction(new AbstractAction("history") {...};
applicationsTable.addAction(new AbstractAction("convert") {...}
applicationsTableCreate.setInitialValues(ParamsMap.of("receivedTs", timeSource.currentTimestamp(),
"status", ApplicationStatus.NEW));
applicationsTable.sortBy(applicationsTable.getDatasource().getMetaClass().getPropertyPath("number"), false);
this.dataSource.addItemChangeListener(e -> this.updateStartProcessAvailability((Application) e.getItem()));
this.dataSource.addItemChangeListener(e -> this.applicationsTable.refresh());
}
При добавлении сущности через рест апи обновление данных происходит только если нажать на часть экрана, автоматически данные не подтягиваются, пробовала добавлять applicationsTableView.setEditorCloseListener(e -> dataSource.refresh()), это тоже не помогло