package lt.inventi.wicket.component.repeater.expandable;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.repeater.Item;
/**
* Automatically removes item's model from the {@link ExpandableView} model.
*
* @author vplatonov
*
* @param <T>
*/
public class AutoRemoveItemLink<T> extends RemoveItemLink<T> {
public AutoRemoveItemLink(String id, Item<T> item) {
super(id, item);
}
@Override
protected final void onRemoveItem(AjaxRequestTarget target) {
if (item().getParent() instanceof ExpandableView) {
ExpandableView<?> view = (ExpandableView<?>) item().getParent();
view.getModelObject().remove(item().getDefaultModelObject());
onAfterRemoveItem(target);
}
}
protected void onAfterRemoveItem(AjaxRequestTarget target) {
// do nothing
}
}