private static String getSubmitHandler( FacesContext context, UIComponent component, Collection<ClientBehaviorContext.Parameter> params, boolean preventDefault) { StringBuilder builder = new StringBuilder(256); String formClientId = getFormClientId(component, context); String componentClientId = component.getClientId(context); builder.append("qab.sf(document.getElementById('"); builder.append(formClientId); builder.append("'),{"); appendProperty(builder, componentClientId, componentClientId); if ((null != params) && (!params.isEmpty())) { for (ClientBehaviorContext.Parameter param : params) { appendProperty(builder, param.getName(), param.getValue()); } } builder.append("})"); if (preventDefault) { builder.append(";return false"); } return builder.toString(); }
public static String findClientIds(String ids, UIComponent component, FacesContext context) throws IOException { if (ids == null) return null; StringBuilder clientIds = new StringBuilder(); String[] idlist = ids.split("[\\s]"); for (String id : idlist) { if (!id.startsWith("@")) { UIComponent found = component.findComponent(id); if (found != null) { if (clientIds.length() > 0) clientIds.append(" "); clientIds.append(found.getClientId(context)); } else { throw new IOException("Cannot find id " + id + " within components NamingContainer"); } } } return clientIds.toString(); }