public boolean isFilterActive() { return filterView.isActive(); }
public void updateView(Collection<FilterConfig> filterConfigs) { filterView.setFilterConfig(Lists.newArrayList(filterConfigs)); } }
public FormulaNode getFilterFormula() { return toFormula(columnFormula, filterView.getFilterConfig()); }
private void addEnumFilter(String path, EffectiveTableColumn columnModel, EnumType enumType) { ListStore<EnumItemViewModel> store = new ListStore<>(x -> x.getId()); for (EnumItem enumItem : enumType.getValues()) { store.add(new EnumItemViewModel(enumItem)); } ListFilter<Integer, EnumItemViewModel> filter = new ListFilter<>(new NullValueProvider<>(path), store); filter.setUseStoreKeys(true); filters.add(new ColumnView(columnModel.getFormula(), filter)); }
public void addFilter(ColumnView filter) { super.addFilter(filter.getFilterView()); columns.add(filter); filterParser.addColumn(filter.getColumnFormula()); }
private void changeFilter(Filter<Integer, ?> filter) { super.onStateChange(filter); Optional<FormulaNode> filterFormula = buildFormula(); LOGGER.info("Filter updated: " + filterFormula); // Cache the current filter *before* updating the model. // Updating the model will trigger another event which will update the view, // and we need to avoid the call to update the view so that the inputs don't loose focus. (AI-1919) currentFilter = filterFormula.transform(FormulaNode::asExpression); // Update the model. (Will trigger a call to updateView) tableUpdater.updateFilter(filterFormula); }
private void addTextColumn(EffectiveTableColumn tableColumn, TextFormat textFormat) { ValueProvider<Integer, String> valueProvider = proxy.getValueProvider(textFormat); ColumnConfig<Integer, String> config = new ColumnConfig<>(valueProvider, tableColumn.getWidth()); config.setHeader(tableColumn.getLabel()); columnConfigs.add(config); StringFilter<Integer> filter = new StringFilter<>(valueProvider); filters.add(new ColumnView(tableColumn.getFormula(), filter)); }
private void addDateColumn(EffectiveTableColumn tableColumn, DateFormat dateFormat) { ValueProvider<Integer, Date> valueProvider = proxy.getValueProvider(dateFormat); ColumnConfig<Integer, Date> config = new ColumnConfig<>(valueProvider, tableColumn.getWidth()); config.setHeader(tableColumn.getLabel()); config.setCell(new DateCell(LocalDatePropertyEditor.FORMATTER)); columnConfigs.add(config); DateFilter<Integer> filter = new DateFilter<>(valueProvider); filters.add(new ColumnView(tableColumn.getFormula(), filter)); }
private void addNumberColumn(EffectiveTableColumn tableColumn, NumberFormat numberFormat) { ValueProvider<Integer, Double> valueProvider = proxy.getValueProvider(numberFormat); ColumnConfig<Integer, Double> config = new ColumnConfig<>(valueProvider, tableColumn.getWidth()); config.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); config.setHeader(tableColumn.getLabel()); columnConfigs.add(config); NumericFilter<Integer, Double> filter = new NumericFilter<>(valueProvider, new NumberPropertyEditor.DoublePropertyEditor()); filters.add(new ColumnView(tableColumn.getFormula(), filter)); }