package er.ajax; import com.webobjects.appserver.WOActionResults; import com.webobjects.appserver.WOContext; import com.webobjects.appserver.WOElement; import com.webobjects.appserver.WORequest; import com.webobjects.appserver.WOResponse; import com.webobjects.foundation.NSDictionary; /** * Adds a script tag with a Behaviour.register() with the content as the method argument. * Mostly useful because it spares you the hassle of including the script. * @binding includeScriptTag boolean also write out script tag * @author ak */ public class AjaxBehaviour extends AjaxDynamicElement { public AjaxBehaviour(String name, NSDictionary associations, WOElement children) { super(name, associations, children); } @Override protected void addRequiredWebResources(WOResponse response, WOContext context) { AjaxUtils.addScriptResourceInHead(context, response, "behaviour.js"); } @Override public void appendToResponse(WOResponse response, WOContext context) { super.appendToResponse(response, context); boolean includeScriptTag = booleanValueForBinding("includeScriptTag", true, context.component()); if(includeScriptTag) { AjaxUtils.appendScriptHeader(response); } response.appendContentString("Behaviour.register("); appendChildrenToResponse(response, context); response.appendContentString(");"); if(includeScriptTag) { AjaxUtils.appendScriptFooter(response); } } @Override public WOActionResults handleRequest(WORequest request, WOContext context) { return null; } }