1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
20
21 import org.apache.commons.lang3.StringUtils;
22 import org.apache.wicket.AttributeModifier;
23 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
24 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
25 import org.apache.wicket.markup.html.basic.Label;
26 import org.apache.wicket.markup.repeater.Item;
27 import org.apache.wicket.model.IModel;
28
29 public abstract class BooleanConditionColumn<T> extends AbstractColumn<T, String> {
30
31 private static final long serialVersionUID = 1L;
32
33 public BooleanConditionColumn(final IModel<String> displayModel) {
34 super(displayModel);
35 }
36
37 protected abstract boolean isCondition(IModel<T> rowModel);
38
39 @Override
40 public void populateItem(final Item<ICellPopulator<T>> item, final String componentId, final IModel<T> rowModel) {
41 item.add(new Label(componentId, StringUtils.EMPTY));
42 if (isCondition(rowModel)) {
43 item.add(new AttributeModifier("class", "fa fa-check"));
44 item.add(new AttributeModifier("style", "display: table-cell; text-align: center;"));
45 }
46 }
47 }