use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.
the class ExampleLayout method getContainerFilter.
@Override
protected Filter getContainerFilter(String filterText, boolean advancedSearchActive) {
Filter filter = null;
String[] searchFields = new String[] { "name" };
for (String property : searchFields) {
if (filter == null) {
filter = new SimpleStringFilter(property, filterText, true, false);
}
filter = new Or(new SimpleStringFilter(property, filterText, true, false), filter);
}
return filter;
}
use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.
the class TwinColumnSearchableSelect method refreshSelected.
private void refreshSelected() {
final List<Long> selectedIds = beans.getItemIds();
if (selectedIds.size() == 1) {
selectedFilter = new Not(new Compare.Equal(beanIdField.getName(), selectedIds.get(0)));
availableTable.triggerFilter();
return;
}
final Vector<Filter> filters = new Vector<>();
for (Long id : selectedIds) {
filters.add(new Compare.Equal(beanIdField.getName(), id));
}
selectedFilter = new Not(new Or(filters.toArray(new Filter[filters.size()])));
availableTable.triggerFilter();
}
use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.
the class TwinColumnSelect method refreshSelected.
private void refreshSelected() {
final List<Long> selectedIds = selectedBeans.getItemIds();
if (selectedIds.size() == 1) {
selectedFilter = new Not(new Compare.Equal(beanIdField.getName(), selectedIds.get(0)));
availableGrid.triggerFilter();
return;
}
final Vector<Filter> filters = new Vector<>();
for (Long id : selectedIds) {
filters.add(new Compare.Equal(beanIdField.getName(), id));
}
selectedFilter = new Not(new Or(filters.toArray(new Filter[filters.size()])));
availableGrid.triggerFilter();
}
use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.
the class ReportParameterDependantTable method applyParentFilters.
private void applyParentFilters(Collection<Long> selectedIds) {
super.removeAllContainerFilters();
boolean filtersAdded = false;
if (selectedIds.size() > 0) {
Filter filter = null;
Set<Long> ids = new HashSet<>();
for (Long parentId : selectedIds) {
for (Long id : mapParentIdToPrimaryKey(parentId)) {
if (id != null) {
ids.add(id);
}
}
}
// set filters on de-duped id list
for (Long id : ids) {
filtersAdded = true;
if (filter == null) {
filter = new Compare.Equal(getPrimaryKeyFieldName(), id);
} else {
filter = new Or(filter, new Compare.Equal(getPrimaryKeyFieldName(), id));
}
}
if (filter != null) {
addContainerFilter(filter);
}
}
if (!filtersAdded) {
addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
}
grid.deselectAll();
}
use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.
the class ReportParameterDependantTableSingleSelect method setParentFilter.
/**
* provide the parent ReportParameterTable, this method will attach this
* parameter as a value change listener so that selections will cascade to
* the reportparameter
*
* @param parent
*/
public void setParentFilter(ReportParameterSelectionListener<P> parent) {
ValueChangeListener listener = new ValueChangeListener() {
private static final long serialVersionUID = -3033912391060894738L;
@Override
public void valueChange(ValueChangeEvent event) {
@SuppressWarnings("unchecked") Collection<Long> selectedIds = (Collection<Long>) event.getProperty().getValue();
removeAllContainerFilters();
boolean filtersAdded = false;
if (selectedIds != null) {
if (selectedIds.size() > 0) {
Filter filter = null;
for (Long parentId : selectedIds) {
for (Long id : mapParentIdToPrimaryKey(parentId)) {
filtersAdded = true;
if (filter == null) {
filter = new Compare.Equal(getPrimaryKeyFieldName(), id);
} else {
filter = new Or(filter, new Compare.Equal(getPrimaryKeyFieldName(), id));
}
}
}
if (filter != null) {
addContainerFilter(filter);
}
}
}
if (!filtersAdded) {
addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
}
grid.deselectAll();
}
};
addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
parent.addSelectionListener(listener);
}
Aggregations