Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Jul 12, 2022
2 parents ba0a0bb + 5f52920 commit 24659cb
Show file tree
Hide file tree
Showing 21 changed files with 298 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ protected List<IColumn<SelectableBean<O>, String>> createDefaultColumns() {
}

@Override
protected void onUpdateCheckbox(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel, DataTable table) {
updatePreselectedObjects(rowModel);
onSelectionPerformed(target, rowModel, table);
protected void onUpdateCheckbox(AjaxRequestTarget target, List<IModel<SelectableBean<O>>> rowModelList, DataTable table) {
updatePreselectedObjects(rowModelList);
onSelectionPerformed(target, rowModelList, table);
}

@Override
Expand Down Expand Up @@ -150,20 +150,22 @@ protected <T extends ObjectType> PopupObjectListPanel<T> getObjectListPanel() {
return (PopupObjectListPanel<T>) get(ID_OBJECT_LIST_PANEL);
}

protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel, DataTable dataTable) {
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<O>>> rowModelList, DataTable dataTable) {
}

private void updatePreselectedObjects(IModel<SelectableBean<O>> rowModel) {
if (rowModel == null) {
private void updatePreselectedObjects(List<IModel<SelectableBean<O>>> rowModelList) {
if (CollectionUtils.isEmpty(rowModelList)) {
return;
}
SelectableBean<O> selectableBean = rowModel.getObject();
O selectedObject = selectableBean.getValue();
if (selectableBean.isSelected()) {
preselectedObjects.add(selectedObject);
} else {
preselectedObjects.removeIf(o -> selectedObject.getOid().equals(o.getOid()));
}
rowModelList.forEach(rowModel -> {
SelectableBean<O> selectableBean = rowModel.getObject();
O selectedObject = selectableBean.getValue();
if (selectableBean.isSelected()) {
preselectedObjects.add(selectedObject);
} else {
preselectedObjects.removeIf(o -> selectedObject.getOid().equals(o.getOid()));
}
});
}

protected IModel<Boolean> getObjectSelectCheckBoxEnableModel(IModel<SelectableBean<O>> rowModel) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<RoleType>> rowModel, DataTable dataTable) {
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<RoleType>>> rowModelList, DataTable dataTable) {
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -318,8 +318,8 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel, DataTable dataTable) {
selectedOrgsListUpdate(rowModel);
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<OrgType>>> rowModelList, DataTable dataTable) {
selectedOrgsListUpdate(rowModelList);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -363,8 +363,8 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel, DataTable dataTable) {
selectedOrgsListUpdate(rowModel);
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<OrgType>>> rowModelList, DataTable dataTable) {
selectedOrgsListUpdate(rowModelList);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -410,7 +410,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<ServiceType>> rowModel, DataTable dataTable) {
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<ServiceType>>> rowModelList, DataTable dataTable) {
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -442,8 +442,8 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<ResourceType>> rowModel, DataTable dataTable) {
super.onSelectionPerformed(target, rowModel, dataTable);
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<ResourceType>>> rowModelList, DataTable dataTable) {
super.onSelectionPerformed(target, rowModelList, dataTable);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -536,15 +536,17 @@ protected void tabLabelPanelUpdate(AjaxRequestTarget target) {
target.add(get(ID_FORM).get(ID_ASSIGN_BUTTON));
}

private void selectedOrgsListUpdate(IModel<SelectableBean<OrgType>> rowModel) {
if (rowModel == null) {
private void selectedOrgsListUpdate(List<IModel<SelectableBean<OrgType>>> selectedOrgs){
if (CollectionUtils.isEmpty(selectedOrgs)){
return;
}
if (rowModel.getObject().isSelected()) {
selectedOrgsList.add(rowModel.getObject().getValue());
} else {
selectedOrgsList.removeIf((OrgType org) -> org.getOid().equals(rowModel.getObject().getValue().getOid()));
}
selectedOrgs.forEach(selectedOrg -> {
if (selectedOrg.getObject().isSelected()){
selectedOrgsList.add(selectedOrg.getObject().getValue());
} else {
selectedOrgsList.removeIf((OrgType org) -> org.getOid().equals(selectedOrg.getObject().getValue().getOid()));
}
});
}

private TabbedPanel getTabbedPanel() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel, DataTable dataTable){
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<O>>> rowModelList, DataTable dataTable){
tabLabelPanelUpdate(target);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<UserType>> rowModel, DataTable dataTable){
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<UserType>>> rowModelList, DataTable dataTable){
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -215,7 +215,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<RoleType>> rowModel, DataTable dataTable){
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<RoleType>>> rowModelList, DataTable dataTable){
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -249,8 +249,8 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel, DataTable dataTable){
selectedOrgsListUpdate(rowModel);
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<OrgType>>> rowModelList, DataTable dataTable){
selectedOrgsListUpdate(rowModelList);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -295,8 +295,8 @@ protected T getAbstractRoleTypeObject() {
}

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel, DataTable dataTable) {
selectedOrgsListUpdate(rowModel);
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<OrgType>>> rowModelList, DataTable dataTable) {
selectedOrgsListUpdate(rowModelList);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -336,7 +336,7 @@ protected ObjectTypes getObjectType(){
}

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<ServiceType>> rowModel, DataTable dataTable){
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<ServiceType>>> rowModelList, DataTable dataTable){
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -386,15 +386,17 @@ protected ObjectQuery createInOidQuery(List<ObjectType> selectedObjectsList){
return getPrismContext().queryFactory().createQuery(getPrismContext().queryFactory().createInOid(oids));
}

private void selectedOrgsListUpdate(IModel<SelectableBean<OrgType>> rowModel){
if (rowModel == null){
private void selectedOrgsListUpdate(List<IModel<SelectableBean<OrgType>>> selectedOrgs){
if (CollectionUtils.isEmpty(selectedOrgs)){
return;
}
if (rowModel.getObject().isSelected()){
selectedOrgsList.add(rowModel.getObject().getValue());
} else {
selectedOrgsList.removeIf((OrgType org) -> org.getOid().equals(rowModel.getObject().getValue().getOid()));
}
selectedOrgs.forEach(selectedOrg -> {
if (selectedOrg.getObject().isSelected()){
selectedOrgsList.add(selectedOrg.getObject().getValue());
} else {
selectedOrgsList.removeIf((OrgType org) -> org.getOid().equals(selectedOrg.getObject().getValue().getOid()));
}
});
}

private IModel<String> getAddButtonTitleModel(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public WebMarkupContainer createPanel(String panelId) {
private static final long serialVersionUID = 1L;

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel, DataTable dataTable){
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<O>>> rowModelList, DataTable dataTable){
tabLabelPanelUpdate(target);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;

import java.util.Arrays;
import java.util.List;

/**
Expand All @@ -39,7 +40,7 @@ protected void onInitialize() {

@Override
protected void onOrgTreeCheckBoxSelectionPerformed(AjaxRequestTarget target, IModel<TreeSelectableBean<OrgType>> rowModel) {
onSelectionPerformed(target, (IModel) rowModel, null);
onSelectionPerformed(target, Arrays.asList((IModel) rowModel), null);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;

import java.util.Arrays;
import java.util.List;

/**
Expand All @@ -39,7 +40,7 @@ protected void onInitialize() {

@Override
protected void onOrgTreeCheckBoxSelectionPerformed(AjaxRequestTarget target, IModel<TreeSelectableBean<OrgType>> rowModel) {
onSelectionPerformed(target, (IModel) rowModel, null);
onSelectionPerformed(target, Arrays.asList((IModel) rowModel), null);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
package com.evolveum.midpoint.gui.api.component;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import com.evolveum.midpoint.gui.impl.util.TableUtil;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.web.component.data.ISelectableDataProvider;

Expand Down Expand Up @@ -63,13 +65,13 @@ protected IColumn<SelectableBean<O>, String> createCheckboxColumn() {
@Override
protected void onUpdateRow(AjaxRequestTarget target, DataTable table, IModel<SelectableBean<O>> rowModel, IModel<Boolean> selected) {
super.onUpdateRow(target, table, rowModel, selected);
onUpdateCheckbox(target, rowModel, table);
onUpdateCheckbox(target, Arrays.asList(rowModel), table);
}

@Override
protected void onUpdateHeader(AjaxRequestTarget target, boolean selected, DataTable table) {
super.onUpdateHeader(target, selected, table);
onUpdateCheckbox(target, null, table);
onUpdateCheckbox(target, TableUtil.getAvailableData(table), table);
}

@Override
Expand Down Expand Up @@ -117,7 +119,7 @@ protected List<InlineMenuItem> createInlineMenu() {
protected void addCustomActions(@NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends O>> objectsSupplier) {
}

protected void onUpdateCheckbox(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel, DataTable table) {
protected void onUpdateCheckbox(AjaxRequestTarget target, List<IModel<SelectableBean<O>>> rowModel, DataTable table) {
}

protected IModel<Boolean> getCheckBoxEnableModel(IModel<SelectableBean<O>> rowModel) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ protected ObjectTypes getObjectType() {
}

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<ResourceType>> rowModel, DataTable dataTable) {
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<ResourceType>>> rowModelList, DataTable dataTable) {
TableUtil.updateRows(dataTable, target);
target.add(getKindDropDown());
target.add(getIntentDropDown());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ private PopupObjectListPanel<T> createObjectListPanel(String id, final String co
private static final long serialVersionUID = 1L;

@Override
protected void onUpdateCheckbox(AjaxRequestTarget target, IModel<SelectableBean<T>> rowModel, DataTable table) {
protected void onUpdateCheckbox(AjaxRequestTarget target, List<IModel<SelectableBean<T>>> rowModelList, DataTable table) {
if (type.equals(ObjectTypes.RESOURCE)) {
target.add(TypedAssignablePanel.this);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<i class="fa-4x text-lightblue mt-5" wicket:id="icon"></i>
<span class="mt-4 text-secondary" wicket:id="title"/>
<span class="mt-4 text-secondary text-capitalize" wicket:id="title"/>
</wicket:panel>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ protected List<QName> getSupportedRelations() {
}

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<ArchetypeType>> rowModel, DataTable dataTable) {
protected void onSelectionPerformed(AjaxRequestTarget target, List<IModel<SelectableBean<ArchetypeType>>> rowModelList, DataTable dataTable) {
target.add(getObjectListPanel());
tabLabelPanelUpdate(target);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.evolveum.midpoint.gui.impl.component.tile.TilePanel;
import com.evolveum.midpoint.model.api.authentication.CompiledGuiProfile;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.web.component.util.EnableBehaviour;
Expand Down Expand Up @@ -63,8 +64,15 @@ private void initModels() {
@Override
protected List<Tile<QName>> load() {
RelationSelectionType config = getRelationConfiguration();
QName defaultRelation = null;
if (config != null) {
defaultRelation = config.getDefaultRelation();
}

if (defaultRelation == null) {
defaultRelation = SchemaConstants.ORG_DEFAULT;
}

QName defaultRelation = config.getDefaultRelation();
getModelObject().setRelation(defaultRelation);

List<Tile<QName>> tiles = new ArrayList<>();
Expand Down

0 comments on commit 24659cb

Please sign in to comment.