package org.apache.karaf.webconsole.core.behavior;

import org.apache.wicket.behavior.AbstractHeaderContributor;
import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.JavascriptPackageResource;

public class JQueryBehavior extends AbstractHeaderContributor {

    @Override
    public IHeaderContributor[] getHeaderContributors() {
        return new IHeaderContributor[] {
            JavascriptPackageResource.getHeaderContribution(JQueryBehavior.class, "jquery/jquery-1.4.2.min.js")
        };
    }

}
