package com.giffing.wicket.spring.boot.example.web.general.action.panel.items;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.model.IModel;

import com.giffing.wicket.spring.boot.example.web.general.icons.IconType;

public abstract class AbstractActionItemLink<T> extends AbstrractActionItem {
	
	public AbstractActionItemLink(IModel<T> label, IconType iconType){
		AjaxLink<T> link = new AjaxLink<T>("link") {

			@Override
			public void onClick(AjaxRequestTarget target) {
				AbstractActionItemLink.this.onClick(target);
				
			}
		};
		add(link);
		WebMarkupContainer webMarkupContainer = new WebMarkupContainer("icon-type");
		webMarkupContainer.add(new AttributeAppender("class", "glyphicon glyphicon-" + iconType.getCssName()));
		link.add(webMarkupContainer);
	}
	
	public abstract void onClick(AjaxRequestTarget target);
}