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