Skip to content

Commit

Permalink
MID-8147: disabled header check box on schema step when configuration…
Browse files Browse the repository at this point in the history
… is from template
  • Loading branch information
skublik committed Oct 7, 2022
1 parent 337d02b commit 6833bed
Showing 1 changed file with 15 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.evolveum.midpoint.web.component.data.BoxedTablePanel;
import com.evolveum.midpoint.web.component.data.column.CheckBoxHeaderColumn;

import com.evolveum.midpoint.web.component.data.column.IsolatedCheckBoxPanel;
import com.evolveum.midpoint.web.component.form.MidpointForm;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
Expand All @@ -46,6 +47,7 @@
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.jetbrains.annotations.NotNull;

Expand Down Expand Up @@ -211,6 +213,16 @@ private List<IColumn<SelectableBean<ObjectClassWrapper>, String>> createColumns(
List<IColumn<SelectableBean<ObjectClassWrapper>, String>> columns = new ArrayList<>();

columns.add(new CheckBoxHeaderColumn<>() {

@Override
public Component getHeader(String componentId) {
IsolatedCheckBoxPanel header = (IsolatedCheckBoxPanel) super.getHeader(componentId);
if (selectedItems.getObject().size() == getResourceModel().getObjectClassesModel().getObject().size()) {
header.getPanelComponent().setModelObject(true);
}
return header;
}

@Override
protected void onUpdateRow(AjaxRequestTarget target, DataTable table, IModel<SelectableBean<ObjectClassWrapper>> rowModel, IModel<Boolean> selected) {
super.onUpdateRow(target, table, rowModel, selected);
Expand Down Expand Up @@ -244,6 +256,9 @@ protected void onUpdateHeader(AjaxRequestTarget target, boolean selected, DataTa
@Override
protected IModel<Boolean> getEnabled(IModel<SelectableBean<ObjectClassWrapper>> rowModel) {
if (rowModel == null) {
if (selectedItems.getObject().size() == getResourceModel().getObjectClassesModel().getObject().size()) {
return Model.of(selectedItems.getObject().values().stream().allMatch(enabled -> !enabled));
}
return super.getEnabled(rowModel);
}
return new PropertyModel<>(rowModel, "value.enabled");
Expand Down

0 comments on commit 6833bed

Please sign in to comment.