Package org.richfaces.renderkit

Source Code of org.richfaces.renderkit.JQueryRendererBase

package org.richfaces.renderkit;

import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

import org.ajax4jsf.javascript.JSEncoder;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
import org.richfaces.component.UIJQuery;
import org.richfaces.component.util.HtmlUtil;


public class JQueryRendererBase extends HeaderResourcesRendererBase {

    protected Class getComponentClass() {
      return UIJQuery.class;
    }


 
  protected void checkValidity(String clientId, String name, String timing, String query) {
   
    if (    ! "onJScall".equals(timing) &&
        ! "onload".equals(timing) &&
        ! "immediate".equals(timing) ) {
      throw new FacesException(
      "The timing attribute of the jQuery component (id='"+clientId+"') has an invalid value:'"+ timing +
      "'. It may have only the following values: 'immediate', 'onload', 'onJScall'");
    }
   
    if ( name == null ) {
      throw new FacesException(
          "The name attribute of the jQuery component (id='"+clientId+"') might not be null" );
       
    }

    if ( "".equals(name.trim()) && "onJScall".equals(timing) ) {
      throw new FacesException(
          "The name attribute of the jQuery component (id='"+clientId+"') must be specified when timing attribute equals to 'onJScall'" );
    }

    if ( "".equals(query.trim()) || query==null ) {
      throw new FacesException(
          "The query attribute of the jQuery component (id='"+clientId+"') must be specified" );
    }
   
  }
  protected String replaceClientIds(FacesContext context, UIComponent component, String selector) {
    return HtmlUtil.expandIdSelector(selector, component, context);
  }
 
  public String escapeJavaScript(Object o) {
    if (o != null) {
      JSEncoder encoder = new JSEncoder();
      StringBuffer result = new StringBuffer();
      String string = o.toString();
      int length = string.length();
     
      for (int i = 0; i < length; i++) {
        result.append(encoder.encode(string.charAt(i)));
      }

      return result.toString();
    } else {
      return null;
    }
  }
}
TOP

Related Classes of org.richfaces.renderkit.JQueryRendererBase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.