THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
abstract public class LinkPropertyColumnLinkPropertyColumn<T> extends PropertyColumnPropertyColumn<T> { PopupSettings popupSettings; IModel labelModel; public LinkPropertyColumn(IModel displayModel, String sortProperty, String propertyExpression, PopupSettings popupSettings) { this(displayModel, sortProperty, propertyExpression); this.popupSettings = popupSettings; } public LinkPropertyColumn(IModel displayModel, IModel labelModel) { super(displayModel, null); this.labelModel = labelModel; } public LinkPropertyColumn(IModel displayModel, String sortProperty, String propertyExpression) { super(displayModel, sortProperty, propertyExpression); } public LinkPropertyColumn(IModel displayModel, String propertyExpressions) { super(displayModel, propertyExpressions); } @Override public void populateItem(Item item, String componentId, IModel model) { item.add(new LinkPanel(item, componentId, model)); } public abstract void onClick(Item item, String componentId, IModel model); public class LinkPanel extends Panel { public LinkPanel(final Item item, final String componentId, final IModel model) { super(componentId); Link link = new Link("link") { @Override public void onClick() { LinkPropertyColumn.this.onClick(item, componentId, model); } }; link.setPopupSettings(popupSettings); add(link); IModel tmpLabelModel = labelModel; if (labelModel == null) { tmpLabelModel = createLabelModel(model); } link.add(new Label("label", tmpLabelModel)); } } } |