Search in sources :

Example 6 with Filter

use of com.vaadin.data.Container.Filter in project VaadinUtils by rlsutton1.

the class TwinColumnSearchableSelect method createAvailableTable.

private void createAvailableTable() {
    availableTable = new SearchableSelectableEntityTable<C>(this.getClass().getSimpleName()) {

        private static final long serialVersionUID = 1L;

        @Override
        public HeadingPropertySet getHeadingPropertySet() {
            return new HeadingPropertySet.Builder<C>().addColumn(availableColumnHeader, itemLabel).build();
        }

        @Override
        public Filterable getContainer() {
            return availableContainer;
        }

        @Override
        protected Filter getContainerFilter(String filterString, boolean advancedSearchActive) {
            Filter searchFilter = null;
            if (filterString != null && filterString.length() > 0) {
                searchFilter = getSearchFilter(filterString);
            }
            return NullFilter.and(baselineFilter, selectedFilter, searchFilter);
        }

        @Override
        protected String getTitle() {
            return "";
        }
    };
    availableTable.addItemClickListener(new ItemClickListener() {

        private static final long serialVersionUID = 1L;

        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                addButton.click();
            }
        }
    });
    availableTable.disableSelectable();
    availableTable.setWidth(200, Unit.PIXELS);
    availableTable.setHeight(300, Unit.PIXELS);
}
Also used : HeadingPropertySet(au.com.vaadinutils.crud.HeadingPropertySet) ItemClickListener(com.vaadin.event.ItemClickEvent.ItemClickListener) Filter(com.vaadin.data.Container.Filter) NullFilter(au.com.vaadinutils.dao.NullFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) Filterable(com.vaadin.data.Container.Filterable) ItemClickEvent(com.vaadin.event.ItemClickEvent)

Example 7 with Filter

use of com.vaadin.data.Container.Filter 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();
}
Also used : Not(com.vaadin.data.util.filter.Not) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) NullFilter(au.com.vaadinutils.dao.NullFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) Compare(com.vaadin.data.util.filter.Compare) Vector(java.util.Vector)

Example 8 with Filter

use of com.vaadin.data.Container.Filter 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();
}
Also used : Not(com.vaadin.data.util.filter.Not) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) NullFilter(au.com.vaadinutils.dao.NullFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) Compare(com.vaadin.data.util.filter.Compare) Vector(java.util.Vector)

Example 9 with Filter

use of com.vaadin.data.Container.Filter 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();
}
Also used : Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) Compare(com.vaadin.data.util.filter.Compare) HashSet(java.util.HashSet)

Example 10 with Filter

use of com.vaadin.data.Container.Filter 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);
}
Also used : ValueChangeEvent(com.vaadin.data.Property.ValueChangeEvent) ValueChangeListener(com.vaadin.data.Property.ValueChangeListener) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) Collection(java.util.Collection) Compare(com.vaadin.data.util.filter.Compare)

Aggregations

Filter (com.vaadin.data.Container.Filter)12 SimpleStringFilter (com.vaadin.data.util.filter.SimpleStringFilter)7 Or (com.vaadin.data.util.filter.Or)6 NullFilter (au.com.vaadinutils.dao.NullFilter)4 Compare (com.vaadin.data.util.filter.Compare)4 ItemClickEvent (com.vaadin.event.ItemClickEvent)3 ItemClickListener (com.vaadin.event.ItemClickEvent.ItemClickListener)3 Not (com.vaadin.data.util.filter.Not)2 Vector (java.util.Vector)2 AdvancedSearchListener (au.com.vaadinutils.crud.AdvancedSearchListener)1 GridHeadingPropertySet (au.com.vaadinutils.crud.GridHeadingPropertySet)1 GridHeadingPropertySetIfc (au.com.vaadinutils.crud.GridHeadingPropertySetIfc)1 HeadingPropertySet (au.com.vaadinutils.crud.HeadingPropertySet)1 JPAContainer (com.vaadin.addon.jpacontainer.JPAContainer)1 Filterable (com.vaadin.data.Container.Filterable)1 ValueChangeEvent (com.vaadin.data.Property.ValueChangeEvent)1 ValueChangeListener (com.vaadin.data.Property.ValueChangeListener)1 Sort (com.vaadin.data.sort.Sort)1 And (com.vaadin.data.util.filter.And)1 AbstractLayout (com.vaadin.ui.AbstractLayout)1