Skip to content

Commit 453281c

Browse files
committed
Fix issue with stale Fragment from previous popup
1 parent 54bfbc3 commit 453281c

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,8 +522,12 @@ public void showMainPopup(Popupable popupable, AjaxRequestTarget target) {
522522
dialog.setContent(popupable.getContent());
523523
dialog.setFooter(popupable.getFooter());
524524

525-
if (popupable.getTitleComponent() != null) {
526-
dialog.setTitleComponent(popupable.getTitleComponent());
525+
Component titleComponent = popupable.getTitleComponent();
526+
if (titleComponent != null) {
527+
dialog.setTitleComponent(titleComponent);
528+
} else {
529+
// Reset to default title component so we don't keep stale Fragment from previous popup
530+
dialog.setTitleComponent(dialog.createDefaultTitleComponent());
527531
}
528532

529533
dialog.setTitle(popupable.getTitle());

gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/MainPopupDialog.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,12 @@ public void setTitleComponent(@NotNull Component titleComponent) {
136136
getDialogComponent().addOrReplace(titleComponent);
137137
}
138138

139+
public Component createDefaultTitleComponent() {
140+
Label titleLabel = new Label("title", () -> title != null ? title.getObject() : null);
141+
titleLabel.add(new VisibleBehaviour(this::isTitleVisible));
142+
return titleLabel;
143+
}
144+
139145
@Override
140146
protected WebMarkupContainer newDialog(String dialogId) {
141147
return new MidpointForm<>(dialogId);

0 commit comments

Comments
 (0)