Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Sep 20, 2019
2 parents 6b4de79 + 3dfef6d commit 0aeedd6
Show file tree
Hide file tree
Showing 46 changed files with 394 additions and 3,494 deletions.
17 changes: 13 additions & 4 deletions build-system/pom.xml
Expand Up @@ -93,6 +93,7 @@
<geronimo-ws-metadata_2.0_spec.version>1.1.3</geronimo-ws-metadata_2.0_spec.version>
<activation.version>1.2.0</activation.version>
<jetty.version>9.4.20.v20190813</jetty.version>
<maven.api.version>3.6.2</maven.api.version>
</properties>
<dependencyManagement>
<dependencies>
Expand Down Expand Up @@ -259,6 +260,11 @@
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.25.0-GA</version> <!-- Version compatible with JDK 11. Transitive dependency from hibernate. Hibernate has older version. -->
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
Expand Down Expand Up @@ -1113,7 +1119,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.6.2</version>
<version>${maven.api.version}</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
Expand All @@ -1128,17 +1134,17 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.6.2</version>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.6.2</version>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.6.2</version>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
Expand Down Expand Up @@ -1610,6 +1616,9 @@
<id>enforce</id>
<configuration>
<rules>
<requireMavenVersion>
<version>3.6</version>
</requireMavenVersion>
<dependencyConvergence />
</rules>
</configuration>
Expand Down
Expand Up @@ -17,18 +17,20 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div style="position: relative; display: grid;">
<button wicket:id="buttonContainer" class="btn dropdown-toggle" type="button" data-toggle="dropdown">
<span class="badge bg-teal" wicket:id="info"></span>
<i class="fa " wicket:id="icon"></i>
<wicket:enclosure child="label">
<label wicket:id="label"></label>&nbsp;
</wicket:enclosure>
<span class="caret"/>
<span wicket:id="caret" class="caret"/>
</button>
<ul class="dropdown-menu" role="menu" wicket:id="dropDownMenu">
<li wicket:id="menuItem">
<div wicket:id="menuItemBody"/>
</li>
</ul>
</div>
</wicket:panel>
</html>
Expand Up @@ -38,6 +38,7 @@ public class DropdownButtonPanel extends BasePanel<DropdownButtonDto> {
private static final String ID_BUTTON_CONTAINER = "buttonContainer";
private static final String ID_INFO = "info";
private static final String ID_ICON = "icon";
private static final String ID_CARET = "caret";
private static final String ID_LABEL = "label";

private static final String ID_DROPDOWN_MENU = "dropDownMenu";
Expand Down Expand Up @@ -86,6 +87,16 @@ public boolean isVisible() {
}
});
buttonContainer.add(icon);

WebMarkupContainer caret = new WebMarkupContainer(ID_CARET);
caret.add(new VisibleEnableBehaviour() {
private static final long serialVersionUID = 1L;
@Override
public boolean isVisible() {
return visibleCaret();
}
});
buttonContainer.add(caret);

WebMarkupContainer dropdownMenuContainer = new WebMarkupContainer(ID_DROPDOWN_MENU);
dropdownMenuContainer.setOutputMarkupId(true);
Expand All @@ -107,8 +118,12 @@ protected void populateItem(ListItem<InlineMenuItem> item) {
public WebMarkupContainer getButtonContainer() {
return (WebMarkupContainer)get(ID_BUTTON_CONTAINER);
}

protected boolean visibleCaret() {
return true;
}

private void initMenuItem(ListItem<InlineMenuItem> menuItem) {
private void initMenuItem(ListItem<InlineMenuItem> menuItem) {
MenuLinkPanel menuItemBody = new MenuLinkPanel(ID_MENU_ITEM_BODY, menuItem.getModel());
menuItemBody.add(new VisibleBehaviour(() -> menuItem.getModelObject().getVisible().getObject()));
menuItemBody.setRenderBodyOnly(true);
Expand Down
Expand Up @@ -99,7 +99,7 @@ protected void populateItem(ListItem<VW> item) {
.findValuePanelFactory(ItemPanel.this.getModelObject());

Component panel = createValuePanel(item, componentFactory, getVisibilityHandler());
panel.add(new EnableBehaviour(() -> !ItemPanel.this.getModelObject().isReadOnly()));
panel.add(getEnableBehaviourOfValuePanel(ItemPanel.this.getModelObject()));
createButtons(item);
}

Expand All @@ -109,6 +109,10 @@ protected void populateItem(ListItem<VW> item) {
customValuesPanel(values);
return values;
}

protected EnableBehaviour getEnableBehaviourOfValuePanel(IW iw) {
return new EnableBehaviour(() -> !iw.isReadOnly());
}

protected void customValuesPanel(ListView<VW> values) {
}
Expand Down
Expand Up @@ -24,6 +24,7 @@
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;

/**
* @author katka
Expand Down Expand Up @@ -52,7 +53,20 @@ public void onClick(AjaxRequestTarget target) {
addValue(target);
}
};
addButton.add(new VisibleBehaviour(() -> isAddButtonVisible()));
addButton.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

@Override
public boolean isEnabled() {
return isAddButtonEnable();
}

@Override
public boolean isVisible() {
return isAddButtonVisible();
}
});
add(addButton);


Expand All @@ -79,6 +93,10 @@ private void addValue(AjaxRequestTarget target) {
private boolean isAddButtonVisible() {
return getModelObject() != null && getModelObject().isExpanded() && getModelObject().isMultiValue();
}

private boolean isAddButtonEnable() {
return getModelObject() != null && !getModelObject().isReadOnly();
}

@Override
protected Component createTitle(IModel<String> label) {
Expand Down
Expand Up @@ -105,6 +105,11 @@ protected Component createValuePanel(ListItem<PrismContainerValueWrapper<C>> ite

}

@Override
protected EnableBehaviour getEnableBehaviourOfValuePanel(PrismContainerWrapper<C> iw) {
return new EnableBehaviour(() -> true);
}

@Override
protected void customValuesPanel(ListView<PrismContainerValueWrapper<C>> values) {
values.add(new VisibleBehaviour(() -> getModelObject() != null && (getModelObject().isExpanded() || getModelObject().isSingleValue())));
Expand All @@ -114,5 +119,7 @@ protected void customValuesPanel(ListView<PrismContainerValueWrapper<C>> values)
protected void createButtons(ListItem<PrismContainerValueWrapper<C>> item) {
//nothing to do.. buttons are in the prism container panel header/ prism container value header
}



}
Expand Up @@ -48,6 +48,7 @@
import com.evolveum.midpoint.util.exception.SystemException;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.util.EnableBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.util.InfoTooltipBehavior;
Expand Down Expand Up @@ -406,7 +407,27 @@ public void onClick(AjaxRequestTarget target) {
}
};

addChildContainerButton.add(new VisibleBehaviour(() -> shouldBeButtonsShown() && getModelObject()!= null && getModelObject().isHeterogenous()));
addChildContainerButton.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

@Override
public boolean isEnabled() {
if (getModelObject() != null) {
if(getModelObject().getParent() != null) {
return !getModelObject().getParent().isReadOnly();
} else {
return !getModelObject().isReadOnly();
}
}
return false;
}

@Override
public boolean isVisible() {
return shouldBeButtonsShown() && getModelObject()!= null && getModelObject().isHeterogenous();
}
});
addChildContainerButton.setOutputMarkupId(true);
addChildContainerButton.setOutputMarkupPlaceholderTag(true);
add(addChildContainerButton);
Expand Down Expand Up @@ -461,7 +482,27 @@ public void onClick(AjaxRequestTarget target) {
}
};

removeContainerButton.add(new VisibleBehaviour(() -> shouldBeButtonsShown()));
removeContainerButton.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

@Override
public boolean isEnabled() {
if (getModelObject() != null) {
if(getModelObject().getParent() != null) {
return !getModelObject().getParent().isReadOnly();
} else {
return !getModelObject().isReadOnly();
}
}
return false;
}

@Override
public boolean isVisible() {
return shouldBeButtonsShown();
}
});
add(removeContainerButton);

}
Expand Down
Expand Up @@ -25,7 +25,7 @@
<input type="checkbox" wicket:id="assignmentsCheckAll" />
<h3><span wicket:id="assignmentsHeader" /></h3>
</div>
<div class="col-xs-2 cog" wicket:id="assignmentsMenu" />
<div class="col-xs-2 cog cog-xs pull-right" wicket:id="assignmentsMenu" />
</div>

<div wicket:id="assignmentList">
Expand Down
Expand Up @@ -30,6 +30,8 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.TypedAssignablePanel;
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonDto;
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonPanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.ItemDefinition;
Expand Down Expand Up @@ -98,8 +100,17 @@ protected void onInitialize() {
Label label = new Label(ID_HEADER, getLabel());
assignments.add(label);

InlineMenu assignmentMenu = new InlineMenu(ID_MENU, new Model((Serializable) createAssignmentMenu()));
assignmentMenu.setVisible(getAssignmentMenuVisibility());
// InlineMenu assignmentMenu = new InlineMenu(ID_MENU, new Model((Serializable) createAssignmentMenu()));
DropdownButtonDto model = new DropdownButtonDto(null, null, null, createAssignmentMenu());
DropdownButtonPanel assignmentMenu = new DropdownButtonPanel(ID_MENU, model) {
private static final long serialVersionUID = 1L;

@Override
protected String getSpecialButtonClass() {
return "btn-xs btn-default";
}
};
assignmentMenu.setVisible(getAssignmentMenuVisibility());
assignments.add(assignmentMenu);

ListView<AssignmentEditorDto> list = new ListView<AssignmentEditorDto>(ID_LIST, getModel()) {
Expand Down
Expand Up @@ -7,6 +7,8 @@

package com.evolveum.midpoint.web.component.data.column;

import com.evolveum.midpoint.gui.api.component.button.DropdownButtonDto;
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonPanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenu;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
Expand All @@ -32,8 +34,17 @@ public InlineMenuColumn(IModel<String> displayModel) {
public void populateItem(Item<ICellPopulator<T>> cellItem, String componentId,
IModel<T> rowModel) {

InlineMenu inlineMenu = new com.evolveum.midpoint.web.component.menu.cog.InlineMenu(componentId,
createMenuModel(rowModel));
// InlineMenu inlineMenu = new com.evolveum.midpoint.web.component.menu.cog.InlineMenu(componentId,
// createMenuModel(rowModel));
DropdownButtonDto model = new DropdownButtonDto(null, null, null, createMenuModel(rowModel).getObject());
DropdownButtonPanel inlineMenu = new DropdownButtonPanel(componentId, model) {
private static final long serialVersionUID = 1L;

@Override
protected String getSpecialButtonClass() {
return "btn-xs btn-default";
}
};
inlineMenu.setOutputMarkupId(true);
inlineMenu.setOutputMarkupPlaceholderTag(true);
cellItem.add(inlineMenu);
Expand Down Expand Up @@ -69,6 +80,6 @@ public List<InlineMenuItem> load() {

@Override
public String getCssClass() {
return "cog";
return "cog-xs";
}
}
Expand Up @@ -7,6 +7,8 @@

package com.evolveum.midpoint.web.component.data.column;

import com.evolveum.midpoint.gui.api.component.button.DropdownButtonDto;
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonPanel;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenu;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import org.apache.wicket.Component;
Expand All @@ -30,9 +32,23 @@ public InlineMenuHeaderColumn(List<InlineMenuItem> menuItems) {

@Override
public Component getHeader(String componentId) {
InlineMenu inlineMenu = new com.evolveum.midpoint.web.component.menu.cog.InlineMenu(componentId, menuItems);
// InlineMenu inlineMenu = new com.evolveum.midpoint.web.component.menu.cog.InlineMenu(componentId, menuItems);
DropdownButtonDto model = new DropdownButtonDto(null, null, null, menuItems.getObject());
DropdownButtonPanel inlineMenu = new DropdownButtonPanel(componentId, model) {
private static final long serialVersionUID = 1L;

@Override
protected String getSpecialButtonClass() {
return "btn-xs btn-default";
}
};
inlineMenu.setOutputMarkupPlaceholderTag(true);
inlineMenu.setOutputMarkupId(true);
return inlineMenu;
}

@Override
public String getCssClass() {
return "cog-xs";
}
}
Expand Up @@ -17,7 +17,10 @@
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:panel>
<div wicket:id="start"/><div wicket:id="pause"/><div wicket:id="refreshNow"/><div wicket:id="status"/>
<div wicket:id="start" style="float: left; padding-right: 5px;"/>
<div wicket:id="pause" style="float: left; padding-right: 5px;"/>
<div wicket:id="refreshNow" style="float: left; padding-right: 5px;"/>
<div wicket:id="status" style="float: left;"/>
</wicket:panel>
</body>
</html>

0 comments on commit 0aeedd6

Please sign in to comment.