package de.alpharogroup.googlecharts.timeline;
import java.util.HashMap;
import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnLoadHeaderItem;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.resource.UrlResourceReference;
import org.apache.wicket.util.template.PackageTextTemplate;
import org.apache.wicket.util.template.TextTemplate;
public class TimelineBehavior extends Behavior
{
/**
* The serialVersionUID.
*/
private static final long serialVersionUID = 1L;
private final TextTemplate timelineTemplate = new PackageTextTemplate(TimelineBehavior.class,
"timeline.js.tmpl");
private Component component;
@Override
public void bind(final Component component)
{
super.bind(component);
this.component = component;
this.component.setOutputMarkupId(true);
}
protected String generateJS(final TextTemplate textTemplate)
{
final Map<String, Object> variables = new HashMap<String, Object>();
variables.put("chart_id", "chart_id");
textTemplate.interpolate(variables);
String js = textTemplate.asString();
return js;
}
/**
* Replace the created map with the variables in the method
* {@link TimelineBehavior#generateJS(TextTemplate)} with in the js-template
* 'timeline-template.js'.
*/
@Override
public void renderHead(Component c, final IHeaderResponse response)
{
// response.render(JavaScriptHeaderItem.forReference(new TimelineResourceReference()));
response.render(JavaScriptHeaderItem
.forReference(new UrlResourceReference(Url.parse("https://www.google.com/jsapi"))));
response.render(OnLoadHeaderItem.forScript(generateJS(timelineTemplate)));
}
}