Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
Conflicts:
	gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java
	gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnUtils.java
	gui/admin-gui/src/main/resources/localization/Midpoint.properties
  • Loading branch information
katkav committed Apr 14, 2016
2 parents 2f21697 + 5becb2b commit c8aa998
Show file tree
Hide file tree
Showing 277 changed files with 9,731 additions and 20,258 deletions.
5 changes: 4 additions & 1 deletion build-system/pom.xml
Expand Up @@ -82,7 +82,7 @@
<connid.version>1.4.3.0-SNAPSHOT</connid.version>
<jasper.version>6.1.1</jasper.version>
<derby.version>10.11.1.1</derby.version>
<wro4j.version>1.7.1</wro4j.version>
<wro4j.version>1.8.0</wro4j.version>
<jackson.version>2.3.3</jackson.version>
<surefire.version>2.19</surefire.version>
</properties>
Expand Down Expand Up @@ -1396,6 +1396,9 @@
<ignoredUnusedDeclaredDependency>org.testng:testng</ignoredUnusedDeclaredDependency>
<ignoredUnusedDeclaredDependency>commons-lang:commons-lang</ignoredUnusedDeclaredDependency>

<!-- Declared, but not used if building only with the "default" profile -->
<ignoredUnusedDeclaredDependency>org.aspectj:aspectjweaver</ignoredUnusedDeclaredDependency>

<!-- There is some kind of conflict between these. TODO: clean up -->
<ignoredUnusedDeclaredDependency>xml-apis:xml-apis</ignoredUnusedDeclaredDependency>
<ignoredUnusedDeclaredDependency>stax:stax-api</ignoredUnusedDeclaredDependency>
Expand Down
6 changes: 3 additions & 3 deletions gui/admin-gui/.gitignore
@@ -1,3 +1,3 @@
/target
/target/
/target/
target

AdminLTE-2.3.0
19 changes: 19 additions & 0 deletions gui/admin-gui/pom.xml
Expand Up @@ -140,11 +140,21 @@
<artifactId>webjars-locator</artifactId>
<scope>runtime</scope> <!-- used for loading js/css from webjars -->
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>less</artifactId>
<version>2.5.3</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-extensions</artifactId>
<scope>runtime</scope> <!-- used to compile less files -->
<exclusions>
<exclusion>
<groupId>org.webjars</groupId>
<artifactId>less</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
Expand All @@ -158,6 +168,11 @@
<groupId>org.jruby</groupId>
<artifactId>jruby-core</artifactId>
</exclusion>
<exclusion>
<!-- unused library -->
<groupId>org.jruby</groupId>
<artifactId>jruby-stdlib</artifactId>
</exclusion>
<exclusion>
<!-- unused library (500kb) -->
<groupId>me.n4u.sass</groupId>
Expand Down Expand Up @@ -208,6 +223,10 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
<exclusion>
<groupId>com.darrinholst</groupId>
<artifactId>sass-java-gems</artifactId>
</exclusion>
</exclusions>
</dependency>

Expand Down
Expand Up @@ -21,22 +21,41 @@
*/
public class GuiStyleConstants {

public static final String STYLES_OBJECT_USER_ICON = "fa fa-user";
public static final String STYLES_OBJECT_USER_ICON_COLORED = STYLES_OBJECT_USER_ICON + " object-user-color";
public static final String CLASS_OBJECT_USER_ICON = "fa fa-user";
public static final String CLASS_OBJECT_USER_ICON_COLORED = CLASS_OBJECT_USER_ICON + " object-user-color";
public static final String CLASS_OBJECT_USER_BOX_CSS_CLASSES = "box object-user-box";

public static final String STYLES_OBJECT_ROLE_ICON = "fa fa-street-view";
public static final String STYLES_OBJECT_ROLE_ICON_COLORED = STYLES_OBJECT_ROLE_ICON + " object-role-color";
public static final String CLASS_OBJECT_ROLE_ICON = "fa fa-street-view";
public static final String CLASS_OBJECT_ROLE_ICON_COLORED = CLASS_OBJECT_ROLE_ICON + " object-role-color";
public static final String CLASS_OBJECT_ROLE_BOX_CSS_CLASSES = "box object-role-box";

public static final String STYLES_OBJECT_ORG_ICON = "fa fa-building";
public static final String STYLES_OBJECT_ORG_ICON_COLORED = STYLES_OBJECT_ORG_ICON + " object-org-color";
public static final String CLASS_OBJECT_ORG_ICON = "fa fa-building";
public static final String CLASS_OBJECT_ORG_ICON_COLORED = CLASS_OBJECT_ORG_ICON + " object-org-color";
public static final String CLASS_OBJECT_ORG_BOX_CSS_CLASSES = "box object-org-box";

public static final String STYLES_OBJECT_SERVICE_ICON = "fa fa-cloud";
public static final String STYLES_OBJECT_SERVICE_ICON_COLORED = STYLES_OBJECT_SERVICE_ICON + " object-service-color";
public static final String CLASS_OBJECT_SERVICE_ICON = "fa fa-cloud";
public static final String CLASS_OBJECT_SERVICE_ICON_COLORED = CLASS_OBJECT_SERVICE_ICON + " object-service-color";
public static final String CLASS_OBJECT_SERVICE_BOX_CSS_CLASSES = "box object-service-box";

public static final String STYLES_OBJECT_RESOURCE_ICON = "fa fa-laptop";
public static final String STYLES_OBJECT_RESOURCE_ICON_COLORED = STYLES_OBJECT_RESOURCE_ICON + " object-resource-color";
public static final String CLASS_OBJECT_RESOURCE_ICON = "fa fa-database";
public static final String CLASS_OBJECT_RESOURCE_ICON_COLORED = CLASS_OBJECT_RESOURCE_ICON + " object-resource-color";
public static final String CLASS_OBJECT_RESOURCE_BOX_CSS_CLASSES = "box object-resource-box";

public static final String STYLES_OBJECT_TASK_ICON = "fa fa-tasks";
public static final String STYLES_OBJECT_TASK_ICON_COLORED = STYLES_OBJECT_TASK_ICON;
public static final String CLASS_OBJECT_TASK_ICON = "fa fa-tasks";
public static final String CLASS_OBJECT_TASK_ICON_COLORED = CLASS_OBJECT_TASK_ICON;
public static final String CLASS_OBJECT_TASK_BOX_CSS_CLASSES = "box object-task-box";

public static final String CLASS_ICON_STYLE_NORMAL = "icon-style-normal";
public static final String CLASS_ICON_STYLE_DISABLED = "icon-style-disabled";
public static final String CLASS_ICON_STYLE_PRIVILEGED = "icon-style-privileged";
public static final String CLASS_ICON_STYLE_WARNING = "icon-style-warning";
public static final String CLASS_ICON_STYLE_UP = "icon-style-up";
public static final String CLASS_ICON_STYLE_DOWN = "icon-style-down";

public static final String CLASS_SHADOW_ICON_ACCOUNT = "fa fa-male";
public static final String CLASS_SHADOW_ICON_ENTITLEMENT = "fa fa-group";
public static final String CLASS_SHADOW_ICON_GENERIC = "fa fa-circle-o";
public static final String CLASS_SHADOW_ICON_PROTECTED = "fa fa-shield";
public static final String CLASS_SHADOW_ICON_UNKNOWN = "fa fa-eye";

}
Expand Up @@ -15,15 +15,14 @@
-->

<wicket:panel xmlns:wicket="http://wicket.apache.org">
<div>
<span wicket:id="refresh"/><span wicket:id="newObject"/><span wicket:id="importObject"/>
</div>
<wicket:child/>
<form class="clearfix" wicket:id="mainForm" style="margin: 5px;">
<div wicket:id="table"/>
<wicket:child/>
<form class="clearfix" wicket:id="mainForm" style="margin: 5px;">
<div wicket:id="table"/>
</form>

<!-- <p align="right"> -->
<!-- <a class="btn btn-sm btn-default" wicket:id="cancelButton"/> -->
<!-- </p> -->
</form>
<wicket:fragment wicket:id="buttonBar">
<a wicket:id="newObject" class="btn btn-success btn-sm"/>
<a wicket:id="refresh" class="btn btn-default btn-sm"/>
<a wicket:id="importObject" class="btn btn-primary btn-sm"/>
</wicket:fragment>
</wicket:panel>
@@ -1,11 +1,28 @@
/*
* Copyright (c) 2016 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.evolveum.midpoint.gui.api.component;

import java.util.Collection;
import java.util.List;

import com.evolveum.midpoint.web.component.AjaxIconButton;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

Expand All @@ -15,78 +32,94 @@
import com.evolveum.midpoint.web.component.data.Table;
import com.evolveum.midpoint.web.component.data.column.CheckBoxHeaderColumn;
import com.evolveum.midpoint.web.component.data.column.LinkColumn;
import com.evolveum.midpoint.web.component.data.column.LinkIconPanel;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.page.admin.configuration.PageImportObject;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

/**
* @author katkav
*/
public abstract class MainObjectListPanel<T extends ObjectType> extends ObjectListPanel<T> {

private static final long serialVersionUID = 1L;

private static final String ID_REFRESH = "refresh";
private static final String ID_NEW_OBJECT = "newObject";
private static final String ID_IMPORT_OBJECT = "importObject";

public MainObjectListPanel(String id, Class<T> type, Collection<SelectorOptions<GetOperationOptions>> options, PageBase parentPage) {
super(id, type, options, parentPage);

LinkIconPanel refreshIcon = new LinkIconPanel(ID_REFRESH, new Model<String>("fa fa-refresh")){

@Override
protected void onClickPerformed(AjaxRequestTarget target) {
Table table = getTable();
target.add((Component) table);
}
};
add(refreshIcon);

LinkIconPanel newObjectIcon = new LinkIconPanel(ID_NEW_OBJECT, new Model<String>("fa fa-edit")){

@Override
protected void onClickPerformed(AjaxRequestTarget target) {
newObjectPerformed(target);
}
};
add(newObjectIcon);

LinkIconPanel importObject = new LinkIconPanel(ID_IMPORT_OBJECT, new Model<String>("fa fa-download")){

@Override
protected void onClickPerformed(AjaxRequestTarget target) {
setResponsePage(PageImportObject.class);
}
};
add(importObject);
}

@Override
protected IColumn<SelectableBean<T>, String> createCheckboxColumn() {
return new CheckBoxHeaderColumn<SelectableBean<T>>();
}

@Override
protected IColumn<SelectableBean<T>, String> createNameColumn() {
return new LinkColumn<SelectableBean<T>>(createStringResource("ObjectType.name"),
ObjectType.F_NAME.getLocalPart(), SelectableBean.F_VALUE + ".name") {

private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target, IModel<SelectableBean<T>> rowModel) {
T object = rowModel.getObject().getValue();
MainObjectListPanel.this.objectDetailsPerformed(target, object);
};

};
}

protected abstract void objectDetailsPerformed(AjaxRequestTarget target, T object);

protected abstract void newObjectPerformed(AjaxRequestTarget target);


private static final long serialVersionUID = 1L;

private static final String ID_REFRESH = "refresh";
private static final String ID_NEW_OBJECT = "newObject";
private static final String ID_IMPORT_OBJECT = "importObject";
private static final String ID_BUTTON_BAR = "buttonBar";

public MainObjectListPanel(String id, Class<T> type, Collection<SelectorOptions<GetOperationOptions>> options, PageBase parentPage) {
super(id, type, options, parentPage);
}

@Override
protected IColumn<SelectableBean<T>, String> createCheckboxColumn() {
return new CheckBoxHeaderColumn<>();
}

@Override
protected IColumn<SelectableBean<T>, String> createNameColumn() {
return new LinkColumn<SelectableBean<T>>(createStringResource("ObjectType.name"),
ObjectType.F_NAME.getLocalPart(), SelectableBean.F_VALUE + ".name") {

private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target, IModel<SelectableBean<T>> rowModel) {
T object = rowModel.getObject().getValue();
MainObjectListPanel.this.objectDetailsPerformed(target, object);
}
};
}

protected abstract void objectDetailsPerformed(AjaxRequestTarget target, T object);

protected abstract void newObjectPerformed(AjaxRequestTarget target);

@Override
protected WebMarkupContainer createTableButtonToolbar(String id) {
return new ButtonBar(id, ID_BUTTON_BAR, this);
}

private static class ButtonBar extends Fragment {

public ButtonBar(String id, String markupId, MainObjectListPanel markupProvider) {
super(id, markupId, markupProvider);

initLayout(markupProvider);
}

private void initLayout(final MainObjectListPanel mainObjectListPanel) {
AjaxIconButton refreshIcon = new AjaxIconButton(ID_REFRESH, new Model<>("fa fa-refresh"),
mainObjectListPanel.createStringResource("MainObjectListPanel.refresh")) {

@Override
public void onClick(AjaxRequestTarget target) {
Table table = mainObjectListPanel.getTable();
target.add((Component) table);
}
};
add(refreshIcon);

AjaxIconButton newObjectIcon = new AjaxIconButton(ID_NEW_OBJECT, new Model<>("fa fa-edit"),
mainObjectListPanel.createStringResource("MainObjectListPanel.newObject")) {

@Override
public void onClick(AjaxRequestTarget target) {
mainObjectListPanel.newObjectPerformed(target);
}
};
add(newObjectIcon);

AjaxIconButton importObject = new AjaxIconButton(ID_IMPORT_OBJECT, new Model<>("fa fa-download"),
mainObjectListPanel.createStringResource("MainObjectListPanel.import")) {

@Override
public void onClick(AjaxRequestTarget target) {
setResponsePage(PageImportObject.class);
}
};
add(importObject);
}
}
}

0 comments on commit c8aa998

Please sign in to comment.