Skip to content

Commit

Permalink
supoport for inline menu..
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Apr 11, 2016
1 parent 61312fd commit ae58603
Show file tree
Hide file tree
Showing 8 changed files with 141 additions and 46 deletions.
Expand Up @@ -12,13 +12,13 @@
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.web.component.data.column.CheckBoxHeaderColumn;
import com.evolveum.midpoint.web.component.data.column.LinkColumn;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

public abstract class MainObjectListPanel<T extends ObjectType> extends ObjectListPanel<T> {

private static final long serialVersionUID = 1L;


public MainObjectListPanel(String id, Class<T> type, Collection<SelectorOptions<GetOperationOptions>> options, PageBase parentPage) {
super(id, type, options, parentPage);
Expand Down Expand Up @@ -48,6 +48,7 @@ public void onClick(AjaxRequestTarget target, IModel<SelectableBean<T>> rowModel
protected abstract void objectDetailsPerformed(AjaxRequestTarget target, T object);





}
Expand Up @@ -43,6 +43,7 @@
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.ColumnUtils;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.search.SearchFactory;
import com.evolveum.midpoint.web.component.search.SearchFormPanel;
Expand Down Expand Up @@ -122,6 +123,7 @@ public void setTableId(TableId tableId) {
this.tableId = tableId;
}


public List<T> getSelectedObjects() {
BaseSortableDataProvider<SelectableBean<T>> dataProvider = getDataProvider();
if (dataProvider instanceof ObjectDataProvider2) {
Expand All @@ -148,7 +150,7 @@ public Search load() {
PageStorage storage = getSession().getSessionStorage().getPageStorageMap()
.get(storageKey);
if (storage != null) {
search = storage.getSearch();
search = storage.getSearch();
}
}
if (search == null) {
Expand Down Expand Up @@ -177,10 +179,17 @@ protected void saveProviderPaging(ObjectQuery query, ObjectPaging paging) {
PageStorage storage = getSession().getSessionStorage().getPageStorageMap()
.get(storageKey);
if (storage != null) {
storage.setPaging(paging);
storage.setPaging(paging);
}
}
}

@Override
public SelectableBean<T> createDataObjectWrapper(T obj) {
SelectableBean<T> bean = super.createDataObjectWrapper(obj);
bean.getMenuItems().addAll(createInlineMenu());
return bean;
}
};
if (options != null) {
objProvider.setOptions(options);
Expand Down Expand Up @@ -217,10 +226,9 @@ protected void searchPerformed(ObjectQuery query, AjaxRequestTarget target) {
table.setOutputMarkupId(true);
String storageKey = storageMap.get(type);
if (StringUtils.isNotEmpty(storageKey)) {
PageStorage storage = getSession().getSessionStorage().getPageStorageMap()
.get(storageKey);
PageStorage storage = getSession().getSessionStorage().getPageStorageMap().get(storageKey);
if (storage != null) {
table.setCurrentPage(storage.getPaging());
table.setCurrentPage(storage.getPaging());
}
}

Expand All @@ -246,14 +254,13 @@ private void searchPerformed(ObjectQuery query, AjaxRequestTarget target) {
// RolesStorage storage = getSessionStorage().getRoles();
// storage.setRolesSearch(searchModel.getObject());
// storage.setRolesPaging(null);
// saveSearch(provider.getQuery().getPaging());
// saveSearch(provider.getQuery().getPaging());
String storageKey = storageMap.get(type);
if (StringUtils.isNotEmpty(storageKey)) {
PageStorage storage = getSession().getSessionStorage().getPageStorageMap()
.get(storageKey);
PageStorage storage = getSession().getSessionStorage().getPageStorageMap().get(storageKey);
if (storage != null) {
storage.setSearch(searchModel.getObject());
storage.setPaging(null);
storage.setSearch(searchModel.getObject());
storage.setPaging(null);
}
}

Expand All @@ -263,8 +270,8 @@ private void searchPerformed(ObjectQuery query, AjaxRequestTarget target) {
target.add(parentPage.getFeedbackPanel());

}
public void clearCache(){

public void clearCache() {
getDataProvider().clearCache();
}

Expand All @@ -276,8 +283,8 @@ public ObjectQuery getQuery() {

protected ObjectQuery createContentQuery() {
Search search = searchModel.getObject();
ObjectQuery query = search.createObjectQuery(parentPage.getPrismContext());
return query;
ObjectQuery query = search.createObjectQuery(parentPage.getPrismContext());
return query;
}

public StringResourceModel createStringResource(String resourceKey, Object... objects) {
Expand All @@ -293,8 +300,9 @@ protected void onCheckboxUpdate(AjaxRequestTarget target) {
protected abstract IColumn<SelectableBean<T>, String> createNameColumn();

protected abstract List<IColumn<SelectableBean<T>, String>> createColumns();
protected abstract List<InlineMenuItem> createInlineMenu();

// protected abstract void saveSearch(ObjectPaging paging);
// protected abstract void saveSearch(ObjectPaging paging);

protected List<IColumn<SelectableBean<T>, String>> initColumns() {
List<IColumn<SelectableBean<T>, String>> columns = new ArrayList<IColumn<SelectableBean<T>, String>>();
Expand Down
Expand Up @@ -12,6 +12,7 @@
import com.evolveum.midpoint.web.component.data.column.CheckBoxHeaderColumn;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.data.column.LinkColumn;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

Expand Down Expand Up @@ -61,5 +62,10 @@ protected List<IColumn<SelectableBean<T>, String>> createColumns() {
protected void onSelectPerformed(AjaxRequestTarget target, T object){

}

@Override
protected List<InlineMenuItem> createInlineMenu() {
return null;
}

}
Expand Up @@ -64,13 +64,14 @@ public class ObjectDataProvider2<W extends Serializable, T extends ObjectType>
private Collection<SelectorOptions<GetOperationOptions>> options;

public ObjectDataProvider2(Component component, Class<T> type) {
super(component, true, false);
super(component, true, true);

Validate.notNull(type);
this.type = type;
}

public List<T> getSelectedData() {
preprocessSelectedDataInternal();
for (Serializable s : super.getAvailableData()){
if (s instanceof SelectableBean){
SelectableBean<T> selectable = (SelectableBean<T>) s;
Expand All @@ -85,7 +86,12 @@ public List<T> getSelectedData() {
}

private void preprocessSelectedData(){
for (W available : getAvailableData()){

getAvailableData().clear();
}

private void preprocessSelectedDataInternal(){
for (W available : getAvailableData()){
if (available instanceof SelectableBean){
SelectableBean<T> selectableBean = (SelectableBean<T>) available;
if (selectableBean.isSelected()){
Expand All @@ -104,7 +110,6 @@ private void preprocessSelectedData(){
}
}
}
getAvailableData().clear();
}


Expand Down
Expand Up @@ -17,15 +17,22 @@
package com.evolveum.midpoint.web.component.util;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.evolveum.midpoint.web.component.data.column.InlineMenuable;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;

/**
* @author lazyman
*/
public class SelectableBean<T extends Serializable> extends Selectable {
public class SelectableBean<T extends Serializable> extends Selectable implements InlineMenuable{

public static final String F_VALUE = "value";

private T value;

private List<InlineMenuItem> menuItems;

public SelectableBean() {
}
Expand All @@ -41,4 +48,11 @@ public T getValue() {
public void setValue(T value) {
this.value = value;
}

public List<InlineMenuItem> getMenuItems() {
if (menuItems == null) {
menuItems = new ArrayList<InlineMenuItem>();
}
return menuItems;
}
}
Expand Up @@ -27,6 +27,7 @@
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.data.BaseSortableDataProvider;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.ListDataProvider2;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.page.admin.server.PageTaskEdit;
Expand Down Expand Up @@ -117,6 +118,12 @@ protected BaseSortableDataProvider<SelectableBean<TaskType>> getProvider() {
return new ListDataProvider2(pageBase, tasks);
}

@Override
protected List<InlineMenuItem> createInlineMenu() {
// TODO Auto-generated method stub
return null;
}


@Override
public void objectDetailsPerformed(AjaxRequestTarget target, TaskType task) {
Expand Down
Expand Up @@ -34,6 +34,7 @@
import com.evolveum.midpoint.web.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.search.SearchFactory;
import com.evolveum.midpoint.web.component.util.SelectableBean;
Expand Down Expand Up @@ -107,6 +108,12 @@ protected List<IColumn<SelectableBean<ServiceType>, String>> createColumns() {
return ColumnUtils.getDefaultServiceColumns();
}

@Override
protected List<InlineMenuItem> createInlineMenu() {
// TODO Auto-generated method stub
return null;
}


};
mainForm.add(servicePanel);
Expand Down

0 comments on commit ae58603

Please sign in to comment.