diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java index 76ce26f442d..11bb9361264 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java @@ -52,6 +52,7 @@ import com.evolveum.midpoint.web.component.AjaxButton; import com.evolveum.midpoint.web.component.AjaxSubmitButton; import com.evolveum.midpoint.web.component.DateLabelComponent; +import com.evolveum.midpoint.web.component.data.BaseSortableDataProvider; import com.evolveum.midpoint.web.component.data.BoxedTablePanel; import com.evolveum.midpoint.web.component.data.Table; import com.evolveum.midpoint.web.component.data.column.*; @@ -273,6 +274,7 @@ protected TaskDto load() { TaskDto taskDto = null; try { taskDto = new TaskDto(taskType.asObjectable(), null, getModel(), getTaskService(), getModelInteractionService(), getTaskManager(), getWorkflowManager(), options, task, result, PageTasks.this); + taskDto.setSelected(object.isSelected()); } catch (SchemaException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -538,7 +540,26 @@ public IModel getConfirmationMessageModel(){ private List> initTaskColumns() { List> columns = new ArrayList>(); - IColumn column = new CheckBoxHeaderColumn<>(); + IColumn column = new CheckBoxHeaderColumn() + { + private static final long serialVersionUID = 1L; + + @Override + protected void onUpdateRow(AjaxRequestTarget target, DataTable table, IModel rowModel) { + TaskDtoProvider taskTableProvider = (TaskDtoProvider) table.getDataProvider(); + List objects = taskTableProvider.getAvailableData(); + if (objects == null || objects.isEmpty()) { + return; + } + objects.forEach(taskDto -> { + if (taskDto.getOid().equals(rowModel.getObject().getOid())){ + boolean selected = rowModel.getObject().isSelected(); + taskDto.setSelected(selected); + } + }); + super.onUpdateRow(target, table, rowModel); + } + }; columns.add(column); column = createTaskNameColumn(this, "pageTasks.task.name");