added new column that may be used with datatables. the column takes two icons in the constructor and displaying appropriate icon in the column depending on a boolean value
This commit is contained in:
parent
9484791d60
commit
cb0387472a
src/main/java/se/su/dsv/scipro/datatables
@ -0,0 +1,3 @@
|
||||
<wicket:panel>
|
||||
<img wicket:id="icon"/>
|
||||
</wicket:panel>
|
@ -0,0 +1,49 @@
|
||||
package se.su.dsv.scipro.datatables;
|
||||
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.IModel;
|
||||
|
||||
import se.su.dsv.scipro.icons.ImageObject;
|
||||
|
||||
/**
|
||||
* Column that displays different icons depending on a boolean value defined in abstract method booleanValue()
|
||||
*
|
||||
* @author emil-siv
|
||||
*
|
||||
*/
|
||||
public abstract class BooleanIconColumn<T> extends AbstractColumn<T> {
|
||||
|
||||
private static final long serialVersionUID = -9034393574179345237L;
|
||||
|
||||
private final String yesIconString;
|
||||
private final String noIconString;
|
||||
|
||||
public BooleanIconColumn(IModel<String> displayModel, String yesIconString, String noIconString) {
|
||||
super(displayModel, null);
|
||||
this.yesIconString = yesIconString;
|
||||
this.noIconString = noIconString;
|
||||
}
|
||||
|
||||
public void populateItem(Item<ICellPopulator<T>> cellItem,
|
||||
String componentId, IModel<T> rowModel) {
|
||||
cellItem.add(new IconPanel(componentId, rowModel));
|
||||
}
|
||||
|
||||
private class IconPanel extends Panel {
|
||||
private static final long serialVersionUID = 5301911716927261302L;
|
||||
|
||||
public IconPanel(String id, IModel<T> rowModel) {
|
||||
super(id);
|
||||
|
||||
if(booleanValue(rowModel))
|
||||
add(new ImageObject("icon", ImageObject.SIXTEEN + yesIconString));
|
||||
else
|
||||
add(new ImageObject("icon", ImageObject.SIXTEEN + noIconString));
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract boolean booleanValue(IModel<T> rowModel);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user