use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class DateRangePanel method applyFilter.
protected void applyFilter() {
Filter value = getValue();
ValueChangeEvent.fire(this, value);
filterToolBar.setRemoveFilterEnabled(isRestricted(value));
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class FilterPanelSet method ensureHandlers.
private HandlerManager ensureHandlers() {
if (manager == null) {
manager = new HandlerManager(this);
myRegistrations = new ArrayList<HandlerRegistration>();
for (FilterPanel panel : panels) {
HandlerRegistration registration = panel.addValueChangeHandler(new ValueChangeHandler<Filter>() {
@Override
public void onValueChange(ValueChangeEvent<Filter> event) {
// or indicator (reports) is selected
if (event.getSource() instanceof ActivityFilterPanel || event.getSource() instanceof IndicatorFilterPanel) {
clearAttributeAndPartnerFilters();
}
Filter value = composeFilter(new Filter(), null);
Log.debug("FilterPanelSet: Filter changed = " + value);
ValueChangeEvent.fire(FilterPanelSet.this, value);
}
});
myRegistrations.add(registration);
}
}
return manager;
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class LocationFilterPanel method applyBaseFilter.
@Override
public void applyBaseFilter(Filter rawFilter) {
final Filter filter = new Filter(rawFilter);
filter.clearRestrictions(DimensionType.Location);
// avoid fetching a list of ALL locations if no indicators have been selected
if (!filter.isRestricted(DimensionType.Indicator)) {
return;
}
if (baseFilter == null || !baseFilter.equals(filter)) {
baseFilter = filter;
}
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class LocationFilterPanel method setValue.
@Override
public void setValue(final Filter value, final boolean fireEvents) {
Filter newValue = new Filter();
newValue.addRestriction(DimensionType.Location, value.getRestrictions(DimensionType.Location));
if (newValue.equals(this.value)) {
return;
}
this.value = newValue;
store.removeAll();
if (!this.value.isRestricted(DimensionType.Location)) {
return;
}
applyInternalValue().then(new Function<LocationResult, Object>() {
@Nullable
@Override
public Object apply(@Nullable LocationResult input) {
if (fireEvents) {
ValueChangeEvent.fire(LocationFilterPanel.this, value);
}
return null;
}
});
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class PartnerFilterPanel method applyBaseFilter.
@Override
public void applyBaseFilter(Filter rawFilter) {
// we need to remove any partner filter from this base filter
// so the user has the full selection
final Filter filter = new Filter(rawFilter);
filter.clearRestrictions(DimensionType.Partner);
// force to refresh on site crud
// if (baseFilter == null || !baseFilter.equals(filter)) {
service.execute(new GetPartnersDimension(filter), new AsyncCallback<PartnerResult>() {
@Override
public void onFailure(Throwable caught) {
Log.error(caught.getMessage(), caught);
}
@Override
public void onSuccess(PartnerResult result) {
List<Integer> ids = getSelectedIds();
store.removeAll();
store.add(result.getData());
applyInternalValue();
for (PartnerDTO partner : store.getModels()) {
if (ids.contains(partner.getId())) {
listView.setChecked(partner, true);
}
}
baseFilter = filter;
}
});
// }
}
Aggregations