@Override
public void onClick(AjaxRequestTarget target) {
onFilterChange(target, dtKey, null);
}
}.add(new AttributeAppender("title", new Model("Remove all filters from '" + dtVal + "'"), " ")));
} else {
String str = "";
if (totalHits > 0)
str = "Select a date to filter results";
Label label = new Label("dateFilter", str);
label.add(new AttributeAppender("class", new Model("gray"), " "));
item.add(label);
}
}
};
add(dateFilter);
ListView items = new ListView("items", facetList) {
@Override
public void populateItem(final ListItem item) {
float zoomer = MAX_HEIGHT_IN_PX / max;
final FacetHelper entry = (FacetHelper) item.getModelObject();
Label bar = new Label("itemSpan");
String additionalDateInfo = entry.count + " tweets";
String displayName = entry.displayName;
try {
Date date = Helper.toDate(displayName);
int index = displayName.indexOf("T");
if (index > 0)
additionalDateInfo += " on " + Helper.getMonthDay(date);
displayName = Helper.getWeekDay(date);
} catch (Exception ex) {
}
AttributeAppender app = new AttributeAppender("title", new Model(additionalDateInfo), " ");
bar.add(app).add(new AttributeAppender("style", new Model("height:" + (int) (zoomer * entry.count) + "px"), " "));
final boolean selected = isAlreadyFiltered(entry.key, entry.value);
Link link = new /*Indicating*/ AjaxFallbackLink("itemLink") {
@Override
public void onClick(AjaxRequestTarget target) {
JSDateFilter.this.onFilterChange(target, entry.getFilter(), !selected);
}
};
link.add(app);
Label label = new Label("itemLabel", displayName);
link.add(bar).add(label);
if (entry.count == 0) {
link.setEnabled(false);
link.add(new AttributeAppender("class", new Model("gray"), " "));
}
if (selected)
link.add(new AttributeAppender("class", new Model("filter-rm"), " "));
else
link.add(new AttributeAppender("class", new Model("filter-add"), " "));
item.add(link);
}
};
add(items);