/* * Copyright 2011-2012 Blazebit */ package com.blazebit.blazefaces.behavior.invoke; import javax.faces.component.UIComponent; import javax.faces.component.behavior.ClientBehavior; import javax.faces.component.behavior.ClientBehaviorContext; import javax.faces.context.FacesContext; import javax.faces.render.ClientBehaviorRenderer; import com.blazebit.blazefaces.apt.JsfBehaviorRenderer; /** * * @author Christian Beikov */ //@JsfBehaviorRenderer public class InvokeBehaviorRenderer extends ClientBehaviorRenderer { @Override public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior) { InvokeBehavior behav = (InvokeBehavior) behavior; if (behav.isDisabled()) { return null; } FacesContext fc = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); String source = behaviorContext.getSourceId(); if (source == null) { source = component.getClientId(fc); } StringBuilder req = new StringBuilder(); req.append("(function(source){"); req.append(behav.getCode()); req.append(";})("); req.append("'").append(source).append("'"); req.append(");"); return req.toString(); } }