Skip to content

Commit

Permalink
object type search item
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jan 11, 2022
1 parent 0ed41b1 commit 9028750
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,9 @@ private static <C extends Containerable> void createSearchItemWrapperList(Class<
if (config.getScopeConfiguration() != null) {
searchConfigWrapper.addSearchItem(new ScopeSearchItemWrapper(searchConfigWrapper));
}
// if (config.getObjectTypeConfiguration() != null) {
// searchConfigWrapper.addSearchItem(new ScopeSearchItemWrapper(searchConfigWrapper));
// }
if (config.getObjectTypeConfiguration() != null) {
searchConfigWrapper.addSearchItem(new ObjectTypeSearchItemWrapper(config.getObjectTypeConfiguration()));
}
if (config.getRelationConfiguration() != null) {
searchConfigWrapper.addSearchItem(new RelationSearchItemWrapper(searchConfigWrapper));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright (C) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.web.component.search.refactored;

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;

import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

public class ObjectTypeSearchItemPanel<T> extends AbstractSearchItemPanel<ObjectTypeSearchItemWrapper> {

public ObjectTypeSearchItemPanel(String id, IModel<ObjectTypeSearchItemWrapper> searchItem) {
super(id, searchItem);
}

@Override
protected Component initSearchItemField() {
return WebComponentUtil.createDropDownChoices(
ID_SEARCH_ITEM_FIELD, new PropertyModel(getModel(), ObjectTypeSearchItemWrapper.F_DISPLAYABLE_VALUE), Model.ofList(getModelObject().getAvailableValues()), true, getPageBase());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/*
* Copyright (C) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.web.component.search.refactored;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.web.component.search.SearchValue;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTypeSearchItemConfigurationType;

import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;

public class ObjectTypeSearchItemWrapper extends AbstractSearchItemWrapper<QName> {

ObjectTypeSearchItemConfigurationType config;

public ObjectTypeSearchItemWrapper(ObjectTypeSearchItemConfigurationType config) {
this.config = config;
}

public Class<ObjectTypeSearchItemPanel> getSearchItemPanelClass() {
return ObjectTypeSearchItemPanel.class;
}

public List<DisplayableValue<QName>> getAvailableValues() {
List<DisplayableValue<QName>> availableValues = new ArrayList<>();
config.getSupportedTypes().forEach(type -> availableValues.add(new SearchValue(type)));
return availableValues;
}

public DisplayableValue<QName> getDefaultValue() {
return new SearchValue();
}

@Override
public String getName() {
return "";
}

@Override
public String getHelp() {
return "";
}

@Override
public String getTitle() {
return ""; //todo
}

@Override
public boolean isApplyFilter() {
return true;
}

@Override
public ObjectFilter createFilter(PageBase pageBase, VariablesMap variables) {
return PrismContext.get().queryFor((Class<? extends Containerable>) WebComponentUtil.qnameToClass(PrismContext.get(), config.getDefaultValue()))
.buildFilter();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
</div>
</div>

<form class="form-inline pull-right search-form" style="width: 100%;" wicket:id="searchForm">
<form class="form-inline pull-right search-form" wicket:id="searchForm">

<!-- <div class="form-group" style="float: left; padding-right: 5px;" wicket:id="choiceContainer">-->
<!-- <label class="sr-only"><wicket:message key="pageDebugList.objectType"/></label>-->
Expand Down

0 comments on commit 9028750

Please sign in to comment.