private StoreFilterField<GPSimpleUser> createServerFilter( StoreFilterField<GPSimpleUser> storeFilterField, ListStore<GPSimpleUser> store, String filterLabel) { storeFilterField = new StoreFilterField<GPSimpleUser>() { @Override protected boolean doSelect( Store<GPSimpleUser> store, GPSimpleUser parent, GPSimpleUser record, String property, String filter) { String name = record.getName().toString().toLowerCase(); if (name.contains(filter.toLowerCase())) { return Boolean.TRUE; } return Boolean.FALSE; } }; storeFilterField.setEmptyText("Type the user to filter"); storeFilterField.bind(store); storeFilterField.setFieldLabel(filterLabel); return storeFilterField; }
/** * Creates, configures and adds the components palette toolbar.<br> * * @param componentsReceiver */ private void addToolbar() { // the toolbar ToolBar gridToolBar = new ToolBar(); setTopComponent(gridToolBar); SelectionListener<ButtonEvent> ttiAddListener = new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { GridSelectionModel<PaletteModelData> selectionModel = gComponents.getSelectionModel(); List<PaletteModelData> lSelected = selectionModel.getSelectedItems(); if (!lSelected.isEmpty()) { componentsReceiver.receiveComponents(lSelected); hide(); selectionModel.deselectAll(); ttiAddSelected.disable(); } } }; ttiAddSelected = buttonsSupport.addGenericButton( pmsMessages.labelAddSelected(), styles.iNew(), gridToolBar, ttiAddListener); ttiAddSelected.disable(); gridToolBar.add(new FillToolItem()); StoreFilterField<PaletteModelData> filter = new CustomizableStoreFilter<PaletteModelData>( Arrays.asList( new String[] { PaletteModelData.PROPERTY_NAME, PaletteModelData.PROPERTY_DESCRIPTION })); filter.setHideLabel(false); filter.setFieldLabel(messages.labelFilter()); filter.bind(sGrid); gridToolBar.add(filter); setTopComponent(gridToolBar); }
@Override protected void onRender(Element parent, int index) { super.onRender(parent, index); setLayout(new FlowLayout(10)); Folder model = TestData.getTreeModel(); TreeStore<ModelData> store = new TreeStore<ModelData>(); store.add(model.getChildren(), true); ColumnConfig name = new ColumnConfig("name", "Name", 100); name.setRenderer(new TreeGridCellRenderer<ModelData>()); ColumnConfig date = new ColumnConfig("author", "Author", 100); ColumnConfig size = new ColumnConfig("genre", "Genre", 100); ColumnModel cm = new ColumnModel(Arrays.asList(name, date, size)); ContentPanel cp = new ContentPanel(); cp.setBodyBorder(false); cp.setHeading("TreeGrid"); cp.setButtonAlign(HorizontalAlignment.CENTER); cp.setLayout(new FitLayout()); cp.setFrame(true); cp.setSize(600, 300); TreeGrid<ModelData> tree = new TreeGrid<ModelData>(store, cm); tree.setBorders(true); tree.getStyle().setLeafIcon(Resources.ICONS.music()); tree.setAutoExpandColumn("name"); tree.setTrackMouseOver(false); cp.add(tree); add(cp); StoreFilterField<ModelData> filter = new StoreFilterField<ModelData>() { @Override protected boolean doSelect( Store<ModelData> store, ModelData parent, ModelData record, String property, String filter) { // only match leaf nodes if (record instanceof Folder) { return false; } String name = record.get("name"); name = name.toLowerCase(); if (name.startsWith(filter.toLowerCase())) { return true; } return false; } }; filter.bind(store); ToolBar toolBar = new ToolBar(); toolBar.setBorders(true); toolBar.add(new LabelToolItem("Filter:")); toolBar.add(filter); cp.setTopComponent(toolBar); }