Skip to content

Commit

Permalink
MID-7293 operation result panel visibility fix when result is null
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Oct 6, 2021
1 parent 690252c commit af8b688
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,7 @@ public boolean isVisible() {
@Override
protected void populateItem(final ListItem<OpResult> item) {
Panel subresult = new OperationResultPanel("subresult", item.getModel());
subresult.add(new VisibleBehaviour(() -> item.getModel() != null && item.getModelObject() != null));
subresult.setOutputMarkupId(true);
item.add(subresult);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
import com.evolveum.midpoint.web.component.form.DropDownFormGroup;
import com.evolveum.midpoint.web.component.input.ListMultipleChoicePanel;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;
Expand All @@ -43,8 +45,10 @@ public OperationResultPopupPanel(String id, IModel<OperationResult> model){
protected void onInitialize(){
super.onInitialize();

IModel<OpResult> opResultModel = createResultModel();
OperationResultPanel operationResultPanel = new OperationResultPanel(ID_OPERATION_RESULTS_PANEL,
createResultModel());
opResultModel);
operationResultPanel.add(new VisibleBehaviour(() -> opResultModel.getObject() != null));
operationResultPanel.setOutputMarkupId(true);
add(operationResultPanel);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.result.OperationResultPopupPanel;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
Expand Down Expand Up @@ -85,22 +87,26 @@ public void onClick(Optional<AjaxRequestTarget> optionalTarget) {
return;
}
AjaxRequestTarget target = optionalTarget.get();
PrismObjectWrapper<TaskType> taskWrapper = TaskResultPanel.this.getObjectWrapper();
TaskType taskType = taskWrapper.getObject().asObjectable();
OperationResult opResult = OperationResult.createOperationResult(taskType.getResult());
OperationResultPopupPanel body = new OperationResultPopupPanel(
getPageBase().getMainPopupBodyId(),
new Model<>(opResult));
new Model<>(getTaskOperationResult()));
body.setOutputMarkupId(true);
getPageBase().showMainPopup(body, target);
}

};
showResult.add(new VisibleBehaviour(() -> getTaskOperationResult() != null));
showResult.setOutputMarkupId(true);
add(showResult);

}

private OperationResult getTaskOperationResult() {
PrismObjectWrapper<TaskType> taskWrapper = TaskResultPanel.this.getObjectWrapper();
TaskType taskType = taskWrapper.getObject().asObjectable();
return OperationResult.createOperationResult(taskType.getResult());
}

private List<OperationResult> createOperationResultList() {
PrismObject<TaskType> taskPrism = getObjectWrapper().getObject();
if (taskPrism == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

package com.evolveum.midpoint.web.component.message;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.feedback.FeedbackMessage;
Expand Down Expand Up @@ -55,14 +57,7 @@ protected void onAfterRender() {
super.onAfterRender();
}
};
panel.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

public boolean isVisible() {
return !opResult.isAlreadyShown();
}
});
panel.add(new VisibleBehaviour(() -> opResult != null && !opResult.isAlreadyShown()));

panel.setOutputMarkupId(true);
item.add(panel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.*;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Page;
import org.apache.wicket.markup.html.WebMarkupContainer;
Expand Down Expand Up @@ -146,6 +148,7 @@ protected void populateItem(ListItem<ConnectorStruct> item) {
public void initResultsPanel(RepeatingView resultView, List<OpResult> opresults, Page parentPage) {
for (OpResult result : opresults) {
OperationResultPanel resultPanel = new OperationResultPanel(resultView.newChildId(), new Model<>(result));
resultPanel.add(new VisibleBehaviour(() -> result != null));
resultPanel.setOutputMarkupId(true);
resultView.add(resultPanel);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.evolveum.midpoint.web.component.util.SelectableListDataProvider;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType;
import org.apache.wicket.Component;
Expand Down Expand Up @@ -82,9 +83,11 @@ public void onClick(Optional<AjaxRequestTarget> optionalTarget) {
PrismObjectWrapper<TaskType> taskWrapper = TaskResultTabPanel.this.getModelObject();
TaskType taskType = taskWrapper.getObject().asObjectable();
OperationResult opResult = OperationResult.createOperationResult(taskType.getResult());
OpResult result = opResult != null ? OpResult.getOpResult(getPageBase(), opResult) : null;
OperationResultPanel body = new OperationResultPanel(
getPageBase().getMainPopupBodyId(),
new Model<>(OpResult.getOpResult(getPageBase(), opResult)));
new Model<>(result));
body.add(new VisibleBehaviour(() -> opResult != null));
body.setOutputMarkupId(true);
getPageBase().showMainPopup(body, target);
}
Expand Down

0 comments on commit af8b688

Please sign in to comment.