Example usage for org.apache.wicket.extensions.markup.html.repeater.data.table.filter TextFilter TextFilter

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table.filter TextFilter TextFilter

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.data.table.filter TextFilter TextFilter.

Prototype

public TextFilter(final String id, final IModel<T> model, final FilterForm<?> form) 

Source Link

Document

Constructor

Usage

From source file:com.swordlord.gozer.components.wicket.datatable.GozerFilteredColumn.java

License:Open Source License

/**
 * {@inheritDoc}/*from   w  w w .ja va  2 s . c om*/
 */
@Override
public Component getFilter(String componentId, FilterForm<?> form) {
    if (!hasField()) {
        return null;
    }

    final GField field = getField();
    if (!field.isFilterable()) {
        return null;
    }

    if (field instanceof GLinkField) {
        return new TextFilter<String>(componentId, getFilterModel(form, String.class), form);
    }
    final DataBinding binding = field.getDataBinding();
    final DataBindingField bindingField = binding.getDataBindingField();

    // TODO re-add code field handling
    /*
    if (field instanceof GCodeField)
    {
    CodeDataTable tabCode = new CodeDataTable(new DataContainer());
    tabCode.fillByLanguageAndCodeName(UserPrefsFactory.getUserPrefs().getLanguageCode(), ((GCodeField) field).getCodeType());
            
    OrderingParam orderingParam = new OrderingParam(CodeDataTableBase.SORT_NR_PROPERTY, true);
    List<DataRowBase> codes = tabCode.getDataRows(orderingParam);
            
    CodeChoiceRenderer renderer = new CodeChoiceRenderer(bindingField);
            
    ChoiceFilter aChoiceFilter = new ChoiceFilter<Object>(componentId, getFilterModel(form, Object.class), form, codes, renderer, true);
    aChoiceFilter.getChoice().setNullValid(true);
    return aChoiceFilter;
    }
    */
    if (Date.class.equals(bindingField.getFieldType())) {
        return new DateFilter(componentId, this.<Date>getFilterModel(form, Date.class), form, true);
    }
    if (bindingField.isForeignKey()) {
        final IModel<String> model = getFKFilterModel(field, form);
        // disable filtering if the 'target' field could not be resolved
        if (model == null) {
            return null;
        }
        return new TextFilterEx(componentId, model, form, true);
    }
    return new TextFilterEx(componentId, getFilterModel(form, String.class), form, true);
}

From source file:dk.teachus.frontend.pages.persons.PersonsPage.java

License:Apache License

protected PersonsPage(UserLevel userLevel) {
    super(userLevel);

    // Toolbar/*from   ww  w . java 2  s .c o m*/
    final List<ToolbarItemInterface> items = new ArrayList<ToolbarItemInterface>();
    fillToolbar(items);
    add(new Toolbar("toolbar", items) { //$NON-NLS-1$
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return items.isEmpty() == false;
        }
    });

    final List<FunctionItem> functions = getFunctions();

    List<IColumn> columns = new ArrayList<IColumn>();
    columns.add(
            new LinkPropertyColumn(new Model(TeachUsSession.get().getString("General.name")), "name", "name") { //$NON-NLS-1$ //$NON-NLS-2$
                private static final long serialVersionUID = 1L;

                @SuppressWarnings("unchecked") //$NON-NLS-1$
                @Override
                protected void onClick(Object rowModelObject) {
                    P person = (P) rowModelObject;
                    getRequestCycle().setResponsePage(getPersonPage(person.getId()));
                }

                public Component getFilter(String componentId, FilterForm form) {
                    return new TextFilter(componentId, new PropertyModel(form.getModel(), "name"), form);
                }
            });
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.username")), //$NON-NLS-1$
            "username", "username") { //$NON-NLS-1$
        private static final long serialVersionUID = 1L;

        public Component getFilter(String componentId, FilterForm form) {
            return new TextFilter(componentId, new PropertyModel(form.getModel(), "username"), form);
        }
    });
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.email")), "email", //$NON-NLS-1$//$NON-NLS-2$
            "email") {
        private static final long serialVersionUID = 1L;

        public Component getFilter(String componentId, FilterForm form) {
            return new TextFilter(componentId, new PropertyModel(form.getModel(), "email"), form);
        }
    });
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.phoneNumber")), //$NON-NLS-1$
            "phoneNumber", "phoneNumber") { //$NON-NLS-1$
        private static final long serialVersionUID = 1L;

        public Component getFilter(String componentId, FilterForm form) {
            return new TextFilter(componentId, new PropertyModel(form.getModel(), "phoneNumber"), form);
        }
    });
    if (functions != null) {
        columns.add(
                new FunctionsColumn(new Model(TeachUsSession.get().getString("General.functions")), functions)); //$NON-NLS-1$
    }

    final IModel personsModel = new LoadableDetachableModel() {
        private static final long serialVersionUID = 1L;

        @Override
        protected Object load() {
            return getPersons();
        }
    };

    PersonsDataProvider dataProvider = new PersonsDataProvider(personsModel);

    add(new ListPanel("list", columns, dataProvider, dataProvider)); //$NON-NLS-1$
}