package ro.nextreports.server.web.analysis.feature.sort;
import org.apache.wicket.core.util.lang.PropertyResolver;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.injection.Injector;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import ro.nextreports.server.web.common.panel.AbstractImagePanel;
public class AnalysisBooleanImagePropertyColumn<T> extends PropertyColumn<T, String> {
private static final long serialVersionUID = 1L;
public AnalysisBooleanImagePropertyColumn(IModel<String> displayModel, String sortProperty, String propertyExpression) {
super(displayModel, sortProperty, propertyExpression);
Injector.get().inject(this);
}
public AnalysisBooleanImagePropertyColumn(IModel<String> displayModel, String propertyExpression) {
super(displayModel, propertyExpression);
Injector.get().inject(this);
}
public void populateItem(Item<ICellPopulator<T>> item, String componentId, final IModel<T> rowModel) {
item.add(new AbstractImagePanel(componentId) {
@Override
public String getImageName() {
if ((Boolean) PropertyResolver.getValue(getPropertyExpression(), rowModel.getObject())) {
return "images/sortascend.png";
} else {
return "images/sortdescend.png";
}
}
});
}
@Override
public String getCssClass() {
return "boolean";
}
}