diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/MultivalueContainerListPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/MultivalueContainerListPanel.java index c71f708c07b..2925d09c954 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/MultivalueContainerListPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/MultivalueContainerListPanel.java @@ -287,7 +287,7 @@ protected void buttonClickPerformed(AjaxRequestTarget target, AssignmentObjectRe } @Override - protected boolean isMainButtonVisible(){ + protected boolean isDefaultButtonVisible(){ return getNewObjectGenericButtonVisibility(); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/MultiCompositedButtonPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/MultiCompositedButtonPanel.java index a24fa3effb9..c15b57573af 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/MultiCompositedButtonPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/MultiCompositedButtonPanel.java @@ -44,7 +44,6 @@ private void initLayout(){ DisplayType defaultObjectButtonDisplayType = fixDisplayTypeIfNeeded(getDefaultObjectButtonDisplayType()); DisplayType mainButtonDisplayType = fixDisplayTypeIfNeeded(getMainButtonDisplayType()); RepeatingView buttonsPanel = new RepeatingView(ID_BUTTON_PANEL); - buttonsPanel.add(new VisibleBehaviour(() -> additionalButtonsExist())); add(buttonsPanel); if (additionalButtonsExist()){ @@ -65,27 +64,27 @@ public void onClick(AjaxRequestTarget target) { additionalButton.add(AttributeAppender.append("class", DEFAULT_BUTTON_STYLE)); buttonsPanel.add(additionalButton); }); + } + //we set main button icon class if no other is defined + if (StringUtils.isEmpty(defaultObjectButtonDisplayType.getIcon().getCssClass())) { + defaultObjectButtonDisplayType.getIcon().setCssClass(mainButtonDisplayType.getIcon().getCssClass()); + } - //we set main button icon class if no other is defined - if (StringUtils.isEmpty(defaultObjectButtonDisplayType.getIcon().getCssClass())){ - defaultObjectButtonDisplayType.getIcon().setCssClass(mainButtonDisplayType.getIcon().getCssClass()); - } + AjaxCompositedIconButton defaultButton = new AjaxCompositedIconButton(buttonsPanel.newChildId(), + getAdditionalIconBuilder(defaultObjectButtonDisplayType).build(), + Model.of(WebComponentUtil.getDisplayTypeTitle(defaultObjectButtonDisplayType))) { - AjaxCompositedIconButton defaultButton = new AjaxCompositedIconButton(buttonsPanel.newChildId(), - getAdditionalIconBuilder(defaultObjectButtonDisplayType).build(), - Model.of(WebComponentUtil.getDisplayTypeTitle(defaultObjectButtonDisplayType))){ + private static final long serialVersionUID = 1L; - private static final long serialVersionUID = 1L; + @Override + public void onClick(AjaxRequestTarget target) { + buttonClickPerformed(target, null, null); + } + }; + defaultButton.add(AttributeAppender.append("class", DEFAULT_BUTTON_STYLE)); + defaultButton.add(new VisibleBehaviour(this::isDefaultButtonVisible)); + buttonsPanel.add(defaultButton); - @Override - public void onClick(AjaxRequestTarget target) { - buttonClickPerformed(target, null, null); - } - }; - defaultButton.add(AttributeAppender.append("class", DEFAULT_BUTTON_STYLE)); - defaultButton.add(new VisibleBehaviour(this::isMainButtonVisible)); - buttonsPanel.add(defaultButton); - } } private CompositedIcon getCompositedIcon(MultiFunctinalButtonDto additionalButtonObject) { @@ -131,11 +130,11 @@ private DisplayType fixDisplayTypeIfNeeded(DisplayType displayType){ protected void buttonClickPerformed(AjaxRequestTarget target, AssignmentObjectRelation relationSepc, CompiledObjectCollectionView collectionViews){ } - private boolean additionalButtonsExist() { + protected boolean additionalButtonsExist() { return CollectionUtils.isNotEmpty(buttonDtos); } - protected boolean isMainButtonVisible(){ + protected boolean isDefaultButtonVisible(){ return true; } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/AssignmentPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/AssignmentPanel.java index 25d8247c57a..0482d457c73 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/AssignmentPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/AssignmentPanel.java @@ -155,6 +155,7 @@ protected void newItemPerformed(AjaxRequestTarget target, AssignmentObjectRelati @Override protected List createNewButtonDescription() { + List buttonDtoList = new ArrayList<>(); if (AssignmentPanel.this.getModelObject() == null) { return null; } @@ -168,7 +169,6 @@ protected List createNewButtonDescription() { return null; } - List buttonDtoList = new ArrayList<>(); relations.forEach(relation -> { MultiFunctinalButtonDto buttonDto = new MultiFunctinalButtonDto();