private boolean needAddFilterToolbar(FilterForm<OQueryModel<T>> filterForm) { final String filterId = "filter"; for (IColumn<T, S> column : getColumns()) { if (column instanceof IFilteredColumn) { IFilteredColumn<T, S> filteredColumn = (IFilteredColumn<T, S>) column; Component filter = filteredColumn.getFilter(filterId, filterForm); if (filter != null) return true; } } return false; }
@Override protected void onSubmit() { RequestCycle.get().find(AjaxRequestTarget.class).ifPresent(target -> { OQueryModel<K> filterState = getStateLocator().getFilterState(); OrienteerHeadersToolbar<K, String> headersToolbar = dataTable.getHeadersToolbar(); headersToolbar.clearFilteredColumns(); for (IColumn<K, String> column : GenericTablePanel.this.getDataTable().getColumns()) { if (column instanceof OPropertyValueColumn) { OPropertyValueColumn propertyValueColumn = (OPropertyValueColumn) column; OProperty property = propertyValueColumn.getCriteryModel().getObject(); if (property != null) { IFilterCriteriaManager manager = filterState.getFilterCriteriaManager(property.getName()); if (manager != null && manager.isFilterApply()) { headersToolbar.addFilteredColumn(property.getName()); } } } } target.add(dataTable); }); } };