- * todo rewrite
+ * @author honchar
+ * @author Viliam Repan (lazyman)
*/
public class MenuMultiButtonPanel
- * todo rewrite, Overcomplicated code.
+ * Created by Viliam Repan (lazyman).
*/
-@Deprecated
public class MultiButtonPanel
+ * TODO Still needs more cleanup. Why button column has to understand activation, focus objects or handle modal windows? That should not be here definitely.
*/
-public class InlineMenuButtonColumn
Specifies the set of pages that are used for displaying lists of objects
such as Users, Roles, Orgs, ...
+ Note: name of this element is wrong. It should be objectViews or objectListViews.
+ > menuItemsModel) {
- super(id, buttonsCount, model, menuItemsModel);
+ private static final String ID_INLINE_MENU_PANEL = "inlineMenuPanel";
+
+ private IModel
> menuItems;
+
+ public MenuMultiButtonPanel(String id, IModel
> menuItems) {
+ super(id, model, numberOfButtons);
+
+ this.menuItems = menuItems;
}
@Override
- protected void initLayout() {
- super.initLayout();
-
+ protected void onInitialize() {
+ super.onInitialize();
+
+ initLayout();
+ }
+
+ private void initLayout() {
DropdownButtonPanel inlineMenu = new DropdownButtonPanel(ID_INLINE_MENU_PANEL,
- new DropdownButtonDto(null, null, null, menuItemsModel.getObject())) {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected String getSpecialButtonClass() {
- return "btn-xs btn-default";
- }
-
- };
+ new DropdownButtonDto(null, null, null, menuItems.getObject())) {
- inlineMenu.add(new VisibleEnableBehaviour() {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Override
- public boolean isVisible() {
- return !(numberOfButtons <= 2) || menuItemsModel.getObject().size() > 2;
+ @Override
+ protected String getSpecialButtonClass() {
+ return "btn-xs btn-default";
}
- });
+
+ };
add(inlineMenu);
+ inlineMenu.add(new VisibleBehaviour(() -> !(getNumberOfButtons() <= 2) || menuItems.getObject().size() > 2));
}
}
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/MultiButtonPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/MultiButtonPanel.java
index 9890fa52fca..9ec557cbc8f 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/MultiButtonPanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/MultiButtonPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2017 Evolveum
+ * Copyright (c) 2010-2018 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,160 +17,73 @@
package com.evolveum.midpoint.web.component.data;
import com.evolveum.midpoint.gui.api.component.BasePanel;
-import com.evolveum.midpoint.util.logging.Trace;
-import com.evolveum.midpoint.util.logging.TraceManager;
-import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.AjaxIconButton;
-import com.evolveum.midpoint.web.component.data.column.DoubleButtonColumn;
-import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
-import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.repeater.RepeatingView;
-import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-
-import java.util.List;
/**
- * @author shood
- * @author mederly
- *
> menuItemsModel = null;
- protected int numberOfButtons;
+ private int numberOfButtons;
- public MultiButtonPanel(String id, int numberOfButtons, IModel
> menuItemsModel) {
+ public MultiButtonPanel(String id, IModel
> createMenuModel(final IModel