JBoss Rich Faces SVN: r4584 - branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-06 20:30:27 -0500 (Thu, 06 Dec 2007)
New Revision: 4584
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java
Log:
remove JDK5 syntax
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java 2007-12-07 00:06:29 UTC (rev 4583)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java 2007-12-07 01:30:27 UTC (rev 4584)
@@ -193,12 +193,12 @@
}
private void findFacesServlet(ServletContext context) {
- for (Iterator<Entry<String, ServletBean>> servletsIterator = _servlets
+ for (Iterator servletsIterator = _servlets
.entrySet().iterator(); servletsIterator.hasNext();) {
- Entry<String, ServletBean> servletEntry = servletsIterator.next();
- String servletClass = servletEntry.getValue().getServletClass();
+ Entry servletEntry = (Entry)servletsIterator.next();
+ String servletClass = ((ServletBean)servletEntry.getValue()).getServletClass();
if("javax.faces.webapp.FacesServlet".equals(servletClass)){
- Mapping mapping = checkMapping(servletEntry.getValue().getMappings());
+ Mapping mapping = checkMapping(((ServletBean)servletEntry.getValue()).getMappings());
if(null != mapping){
this._facesServletPrefix = mapping.getPrefix();
this._facesServletSuffix = mapping.getSuffix();
16 years, 11 months
JBoss Rich Faces SVN: r4583 - branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-06 19:06:29 -0500 (Thu, 06 Dec 2007)
New Revision: 4583
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java
Log:
Merge fix for a http://jira.jboss.com/jira/browse/RF-1513
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java 2007-12-06 23:59:35 UTC (rev 4582)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/WebXml.java 2007-12-07 00:06:29 UTC (rev 4583)
@@ -29,6 +29,7 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.Map.Entry;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
@@ -58,16 +59,17 @@
public static final String CONTEXT_ATTRIBUTE = WebXml.class.getName();
/**
- *
- */
- private static final long serialVersionUID = -9042908418843695017L;
+ *
+ */
+ private static final long serialVersionUID = -9042908418843695017L;
private static final Log _log = LogFactory.getLog(WebXml.class);
static final String WEB_XML = "/WEB-INF/web.xml";
-
- public static final String RESOURCE_URI_PREFIX = "a4j_"+VersionBean.MAJOR_VERSION+"_"+VersionBean.MINOR_VERSION+"_"+VersionBean.REVISION;
+ public static final String RESOURCE_URI_PREFIX = "a4j_"
+ + VersionBean.MAJOR_VERSION + "_" + VersionBean.MINOR_VERSION + "_"
+ + VersionBean.REVISION;
static final String RESOURCE_URI_PREFIX_WITH_SLASH = "/"
+ RESOURCE_URI_PREFIX;
@@ -86,6 +88,10 @@
*/
private String _facesFilterSuffix = null;
+ private String _facesServletPrefix = null;
+
+ private String _facesServletSuffix = null;
+
private boolean _prefixMapping = false;
private String _filterName;
@@ -99,91 +105,109 @@
*/
private String _resourcePrefix = RESOURCE_URI_PREFIX_WITH_SLASH;
-
/**
* Parse application web.xml configuration and detect mapping for resources
* and logs.
+ *
* @param context
* @param filterName
* @throws ServletException
*/
- public void init(ServletContext context, String filterName) throws ServletException {
- InputStream webXml = context.getResourceAsStream(WEB_XML);
- if (null == webXml) {
- throw new ServletException(Messages.getMessage(
- Messages.GET_RESOURCE_AS_STREAM_ERROR, WEB_XML));
- }
- Digester dig = new Digester();
- dig.setDocumentLocator(new LocatorImpl());
- // Disable xml validations at all - web.xml already validated by
- // container
- dig.setValidating(false);
- dig.setEntityResolver(new EntityResolver() {
- // Dummi resolver - alvays do nothing
- public InputSource resolveEntity(String publicId, String systemId)
- throws SAXException, IOException {
- return new InputSource(new StringReader(""));
- }
+ public void init(ServletContext context, String filterName)
+ throws ServletException {
+ InputStream webXml = context.getResourceAsStream(WEB_XML);
+ if (null == webXml) {
+ throw new ServletException(Messages.getMessage(
+ Messages.GET_RESOURCE_AS_STREAM_ERROR, WEB_XML));
+ }
+ Digester dig = new Digester();
+ dig.setDocumentLocator(new LocatorImpl());
+ // Disable xml validations at all - web.xml already validated by
+ // container
+ dig.setValidating(false);
+ dig.setEntityResolver(new EntityResolver() {
+ // Dummi resolver - alvays do nothing
+ public InputSource resolveEntity(String publicId, String systemId)
+ throws SAXException, IOException {
+ return new InputSource(new StringReader(""));
+ }
- });
- dig.setNamespaceAware(false);
- // dig.setUseContextClassLoader(true);
- dig.setClassLoader(this.getClass().getClassLoader());
- // Parsing rules.
- // Servlets.
- String path = "web-app/servlet";
- dig.addObjectCreate(path, ServletBean.class);
- dig.addBeanPropertySetter(path + "/servlet-name", "servletName");
- dig.addBeanPropertySetter(path + "/servlet-class", "servletClass");
- dig.addBeanPropertySetter(path + "/display-name", "displayName");
- dig.addBeanPropertySetter(path + "/description");
- dig.addSetNext(path, "addServlet");
- // Filters
- path = "web-app/filter";
- dig.addObjectCreate(path, FilterBean.class);
- dig.addBeanPropertySetter(path + "/filter-name", "filterName");
- dig.addBeanPropertySetter(path + "/filter-class", "filterClass");
- dig.addBeanPropertySetter(path + "/display-name", "displayName");
- dig.addBeanPropertySetter(path + "/description");
- dig.addSetNext(path, "addFilter");
- // Servlet mappings
- path = "web-app/servlet-mapping";
- dig.addCallMethod(path, "addServletMapping", 2);
- dig.addCallParam(path + "/servlet-name", 0);
- dig.addCallParam(path + "/url-pattern", 1);
- // Filter mappings
- // TODO - parse dispatcher.
- path = "web-app/filter-mapping";
- dig.addCallMethod(path, "addFilterMapping", 3);
- dig.addCallParam(path + "/filter-name", 0);
- dig.addCallParam(path + "/url-pattern", 1);
- dig.addCallParam(path + "/servlet-name", 2);
- dig.push(this);
- try {
- dig.parse(webXml);
- this.setFilterName(filterName, context);
- // Store Instance to context attribute.
- context.setAttribute(CONTEXT_ATTRIBUTE,this);
- } catch (IOException e) {
- String message = Messages
- .getMessage(Messages.PARSING_WEB_XML_IO_ERROR);
- _log.error(message, e);
- throw new ServletException(message, e);
- } catch (SAXException e) {
- String message = Messages
- .getMessage(Messages.PARSING_WEB_XML_SAX_ERROR);
- _log.error(message, e);
- throw new ServletException(message, e);
- } finally {
- try {
- webXml.close();
- } catch (IOException e) {
- // this exception don't affect any aspects of work and can be
- // ignored.
- }
- }
+ });
+ dig.setNamespaceAware(false);
+ // dig.setUseContextClassLoader(true);
+ dig.setClassLoader(this.getClass().getClassLoader());
+ // Parsing rules.
+ // Servlets.
+ String path = "web-app/servlet";
+ dig.addObjectCreate(path, ServletBean.class);
+ dig.addBeanPropertySetter(path + "/servlet-name", "servletName");
+ dig.addBeanPropertySetter(path + "/servlet-class", "servletClass");
+ dig.addBeanPropertySetter(path + "/display-name", "displayName");
+ dig.addBeanPropertySetter(path + "/description");
+ dig.addSetNext(path, "addServlet");
+ // Filters
+ path = "web-app/filter";
+ dig.addObjectCreate(path, FilterBean.class);
+ dig.addBeanPropertySetter(path + "/filter-name", "filterName");
+ dig.addBeanPropertySetter(path + "/filter-class", "filterClass");
+ dig.addBeanPropertySetter(path + "/display-name", "displayName");
+ dig.addBeanPropertySetter(path + "/description");
+ dig.addSetNext(path, "addFilter");
+ // Servlet mappings
+ path = "web-app/servlet-mapping";
+ dig.addCallMethod(path, "addServletMapping", 2);
+ dig.addCallParam(path + "/servlet-name", 0);
+ dig.addCallParam(path + "/url-pattern", 1);
+ // Filter mappings
+ // TODO - parse dispatcher.
+ path = "web-app/filter-mapping";
+ dig.addCallMethod(path, "addFilterMapping", 3);
+ dig.addCallParam(path + "/filter-name", 0);
+ dig.addCallParam(path + "/url-pattern", 1);
+ dig.addCallParam(path + "/servlet-name", 2);
+ dig.push(this);
+ try {
+ dig.parse(webXml);
+ this.setFilterName(filterName, context);
+ this.findFacesServlet(context);
+ // Store Instance to context attribute.
+ context.setAttribute(CONTEXT_ATTRIBUTE, this);
+ } catch (IOException e) {
+ String message = Messages
+ .getMessage(Messages.PARSING_WEB_XML_IO_ERROR);
+ _log.error(message, e);
+ throw new ServletException(message, e);
+ } catch (SAXException e) {
+ String message = Messages
+ .getMessage(Messages.PARSING_WEB_XML_SAX_ERROR);
+ _log.error(message, e);
+ throw new ServletException(message, e);
+ } finally {
+ try {
+ webXml.close();
+ } catch (IOException e) {
+ // this exception don't affect any aspects of work and can be
+ // ignored.
+ }
+ }
}
+ private void findFacesServlet(ServletContext context) {
+ for (Iterator<Entry<String, ServletBean>> servletsIterator = _servlets
+ .entrySet().iterator(); servletsIterator.hasNext();) {
+ Entry<String, ServletBean> servletEntry = servletsIterator.next();
+ String servletClass = servletEntry.getValue().getServletClass();
+ if("javax.faces.webapp.FacesServlet".equals(servletClass)){
+ Mapping mapping = checkMapping(servletEntry.getValue().getMappings());
+ if(null != mapping){
+ this._facesServletPrefix = mapping.getPrefix();
+ this._facesServletSuffix = mapping.getSuffix();
+ }
+ }
+ }
+
+ }
+
public void addServlet(ServletBean bean) {
String name = bean.getServletName();
if (null != name) {
@@ -220,12 +244,11 @@
}
/**
- * Convert {@link org.ajax4jsf.resource.InternetResource } key to
- * real URL for handle by chameleon filter, depend of mapping in WEB.XML .
- * For prefix or * mapping, prepend servlet prefix and default Resource
- * prefix to key. For suffix mapping, prepend with resource prefix and
- * append default faces suffix to URL ( before request param ). After
- * conversion, call
+ * Convert {@link org.ajax4jsf.resource.InternetResource } key to real URL
+ * for handle by chameleon filter, depend of mapping in WEB.XML . For prefix
+ * or * mapping, prepend servlet prefix and default Resource prefix to key.
+ * For suffix mapping, prepend with resource prefix and append default faces
+ * suffix to URL ( before request param ). After conversion, call
* {@link javax.faces.application.ViewHandler#getResourceURL(javax.faces.context.FacesContext, java.lang.String)}
* and
* {@link javax.faces.context.ExternalContext#encodeResourceURL(java.lang.String)} .
@@ -360,7 +383,8 @@
*
* @param filterName
* The filterName to set.
- * @param context TODO
+ * @param context
+ * TODO
*/
void setFilterName(String filterName, ServletContext context) {
if (null == filterName) {
@@ -377,21 +401,30 @@
Messages.FILTER_NOT_FOUND_ERROR, filterName));
}
// find faces servlet
- checkMapping(filter.getMappings());
+ Mapping mapping = checkMapping(filter.getMappings());
// Filter mapped only to servlet.
- if (_facesFilterPrefix == null && _facesFilterSuffix == null) {
+ if (null == mapping) {
for (Iterator sevlets = filter.getServlets().iterator(); sevlets
.hasNext()
&& _facesFilterPrefix == null && _facesFilterSuffix == null;) {
String servletname = (String) sevlets.next();
ServletBean servlet = (ServletBean) _servlets.get(servletname);
if (null != servlet) {
- checkMapping(servlet.getMappings());
+ mapping = checkMapping(servlet.getMappings());
}
}
}
- String resourcePrefix = (String) context.getAttribute(RESOURCE_URI_PREFIX_PARAM);
- if(null == resourcePrefix){
+ if (null != mapping) {
+ setFacesFilterPrefix(mapping.getPrefix());
+ setFacesFilterSuffix(mapping.getSuffix());
+ } else {
+ throw new IllegalStateException(Messages.getMessage(
+ Messages.NO_PREFIX_OR_SUFFIX_IN_FILTER_MAPPING_ERROR,
+ filterName));
+ }
+ String resourcePrefix = (String) context
+ .getInitParameter(RESOURCE_URI_PREFIX_PARAM);
+ if (null == resourcePrefix) {
resourcePrefix = RESOURCE_URI_PREFIX;
}
if (null != _facesFilterPrefix) {
@@ -399,37 +432,42 @@
if (_facesFilterPrefix.endsWith("/")) {
setResourcePrefix(resourcePrefix);
} else {
- setResourcePrefix("/"+resourcePrefix);
+ setResourcePrefix("/" + resourcePrefix);
}
} else if (null != _facesFilterSuffix) {
_prefixMapping = false;
- setResourcePrefix("/"+resourcePrefix);
- } else {
- throw new IllegalStateException(Messages.getMessage(
- Messages.NO_PREFIX_OR_SUFFIX_IN_FILTER_MAPPING_ERROR,
- filterName));
+ setResourcePrefix("/" + resourcePrefix);
}
}
- private void checkMapping(Set mappings) {
+ private Mapping checkMapping(Set mappings) {
+ Mapping mapping = null;
if (null != mappings) {
for (Iterator iter = mappings.iterator(); iter.hasNext();) {
- String mapping = (String) iter.next();
+ String mappingPattern = (String) iter.next();
// first test - for prefix, like /xxx/*
// TODO - select correct dispatcher.
- if (mapping.endsWith("*")) {
- setFacesFilterPrefix(mapping.substring(0,
- mapping.length() - 1));
+ if (mappingPattern.endsWith("*")) {
+ if (null == mapping) {
+ mapping = new Mapping();
+ }
+ int cut = mappingPattern.endsWith("/*")?2:1;
+ mapping.setPrefix(mappingPattern.substring(0,
+ mappingPattern.length() - cut));
break;
} else
// test for suffix mapping, eg *.xxx
- if (mapping.startsWith("*")) {
- setFacesFilterSuffix(mapping.substring(1));
+ if (mappingPattern.startsWith("*")) {
+ if (null == mapping) {
+ mapping = new Mapping();
+ }
+ mapping.setSuffix(mappingPattern.substring(1));
} else {
// Fixed mapping - do not use it.
}
}
}
+ return mapping;
}
/**
@@ -438,4 +476,53 @@
public boolean isPrefixMapping() {
return _prefixMapping;
}
+
+ private static class Mapping {
+ private String prefix;
+ private String suffix;
+
+ /**
+ * @return the prefix
+ */
+ public String getPrefix() {
+ return prefix;
+ }
+
+ /**
+ * @param prefix
+ * the prefix to set
+ */
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ /**
+ * @return the suffix
+ */
+ public String getSuffix() {
+ return suffix;
+ }
+
+ /**
+ * @param suffix
+ * the suffix to set
+ */
+ public void setSuffix(String suffix) {
+ this.suffix = suffix;
+ }
+ }
+
+ /**
+ * @return the facesServletPrefix
+ */
+ public String getFacesServletPrefix() {
+ return _facesServletPrefix;
+ }
+
+ /**
+ * @return the facesServletSuffix
+ */
+ public String getFacesServletSuffix() {
+ return _facesServletSuffix;
+ }
}
16 years, 11 months
JBoss Rich Faces SVN: r4582 - in branches/3.1.x/framework: api/src/main/java/org/richfaces/skin and 6 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-06 18:59:35 -0500 (Thu, 06 Dec 2007)
New Revision: 4582
Added:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ViewResources.java
branches/3.1.x/framework/impl/src/main/resources/META-INF/skins/NULL.skin.properties
Modified:
branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResource.java
branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java
branches/3.1.x/framework/api/src/main/java/org/richfaces/skin/Skin.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/org/w3c/tidy/PPrint.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/nekko/NekkoParser.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/xml/serializer/ToXHTMLStream.java
Log:
Merge from trunk :
fix for http://jira.jboss.com/jira/browse/RF-851
fix for http://jira.jboss.com/jira/browse/RF-1512
Modified: branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResource.java
===================================================================
--- branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResource.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResource.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -49,7 +49,6 @@
public static final int RESOURCE_URI_PREFIX_LENGTH = RESOURCE_URI_PREFIX.length();
public static final String DATA_SEPARATOR = "/DATA/";
static public final long DEFAULT_EXPIRE = 1000L * 60L * 60L * 24L;// 1 day
-
/**
* @param resourceContext current {@link ResourceContext}
* @return Returns the contentLength.
Modified: branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java
===================================================================
--- branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -38,6 +38,13 @@
public abstract class InternetResourceBuilder {
private static final Log log = LogFactory.getLog(InternetResourceBuilder.class);
+ public static final String LOAD_NONE = "NONE";
+ public static final String LOAD_ALL = "ALL";
+ public static final String COMMON_FRAMEWORK_SCRIPT = "/org/ajax4jsf/framework.pack.js";
+ public static final String COMMON_UI_SCRIPT = "/org/richfaces/ui.pack.js";
+ public static final String COMMON_STYLE = "/org/richfaces/skin.xcss";
+ public static final String LOAD_STYLE_STRATEGY_PARAM = "org.richfaces.LoadStyleStrategy";
+ public static final String LOAD_SCRIPT_STRATEGY_PARAM = "org.richfaces.LoadScriptStrategy";
/**
* Get application start time for check resources modification time.
Modified: branches/3.1.x/framework/api/src/main/java/org/richfaces/skin/Skin.java
===================================================================
--- branches/3.1.x/framework/api/src/main/java/org/richfaces/skin/Skin.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/api/src/main/java/org/richfaces/skin/Skin.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -241,6 +241,8 @@
public static final String panelTextColor = "panelTextColor";
+ public static final String loadStyleSheets = "loadStyleSheets";
+
// Preferable parameters
/**
* Preferable parameters names for skin ( in common, for Preferable.Name
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -28,13 +28,11 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.faces.FacesException;
-import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.StateManager;
import javax.faces.application.ViewHandler;
@@ -47,8 +45,6 @@
import javax.faces.context.ResponseWriter;
import javax.faces.event.AbortProcessingException;
import javax.faces.render.RenderKit;
-import javax.faces.render.RenderKitFactory;
-import javax.faces.render.Renderer;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -56,13 +52,12 @@
import org.ajax4jsf.application.AjaxViewHandler;
import org.ajax4jsf.component.AjaxContainer;
import org.ajax4jsf.component.AjaxViewRoot;
-import org.ajax4jsf.context.AjaxContext;
-import org.ajax4jsf.context.ViewIdHolder;
import org.ajax4jsf.renderkit.AjaxContainerRenderer;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
-import org.ajax4jsf.renderkit.HeaderResourceProducer;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.renderkit.UserResourceRenderer;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.ajax4jsf.resource.InternetResourceBuilder;
import org.ajax4jsf.webapp.BaseFilter;
import org.ajax4jsf.webapp.FilterServletResponseWrapper;
import org.apache.commons.logging.Log;
@@ -358,18 +353,49 @@
.debug("Process component tree for collect used scripts and styles");
}
UIViewRoot root = context.getViewRoot();
- Set scripts = new LinkedHashSet();
- Set styles = new LinkedHashSet();
- Set userScripts = new LinkedHashSet();
- Set userStyles = new LinkedHashSet();
- RenderKitFactory rkFactory = (RenderKitFactory) FactoryFinder
- .getFactory(FactoryFinder.RENDER_KIT_FACTORY);
- RenderKit renderKit = rkFactory.getRenderKit(context, context
- .getViewRoot().getRenderKitId());
- processHeadResources(context, root, scripts, userScripts, styles, userStyles, renderKit);
- // Append user scripts after components.
- scripts.addAll(userScripts);
- styles.addAll(userStyles);
+ ViewResources viewResources = new ViewResources();
+ try {
+ Skin skin = SkinFactory.getInstance().getSkin(
+ context);
+ // Set default style sheet for current skin.
+ String styleSheetUri = (String) skin.getParameter(context,
+ Skin.generalStyleSheet);
+ if(null != styleSheetUri){
+ String resourceURL = context.getApplication()
+ .getViewHandler().getResourceURL(context,
+ styleSheetUri);
+ viewResources.addStyle(resourceURL);
+ }
+ // For a "NULL" skin, do not collect components stylesheets
+ if("false".equals(skin.getParameter(context, Skin.loadStyleSheets))){
+ viewResources.setProcessStyles(false);
+ }
+ } catch (SkinNotFoundException e) {
+ log.warn("Current Skin is not found", e);
+ }
+ InternetResourceBuilder internetResourceBuilder = InternetResourceBuilder.getInstance();
+ // Check init parameters for a resources processing.
+ String scriptStrategy = externalContext.getInitParameter(InternetResourceBuilder.LOAD_SCRIPT_STRATEGY_PARAM);
+ if(null != scriptStrategy){
+ if(InternetResourceBuilder.LOAD_NONE.equals(scriptStrategy)){
+ viewResources.setProcessScripts(false);
+ } else if (InternetResourceBuilder.LOAD_ALL.equals(scriptStrategy)) {
+ viewResources.setProcessScripts(false);
+ viewResources.addScript(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_FRAMEWORK_SCRIPT).getUri(context, null));
+ viewResources.addScript(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_UI_SCRIPT).getUri(context, null));
+ }
+ }
+ String styleStrategy = externalContext.getInitParameter(InternetResourceBuilder.LOAD_STYLE_STRATEGY_PARAM);
+ if(null != styleStrategy){
+ if(InternetResourceBuilder.LOAD_NONE.equals(styleStrategy)){
+ viewResources.setProcessStyles(false);
+ } else if (InternetResourceBuilder.LOAD_ALL.equals(styleStrategy)) {
+ viewResources.setProcessStyles(false);
+ viewResources.addStyle(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_STYLE).getUri(context, null));
+ }
+ }
+ viewResources.collect(context);
+ Set scripts = viewResources.getScripts();
if (scripts.size() > 0) {
if (log.isDebugEnabled()) {
StringBuffer buff = new StringBuffer(
@@ -382,29 +408,7 @@
}
requestMap.put(SCRIPTS_PARAMETER, scripts);
}
- // Set default style sheet for current skin.
- String styleSheetUri = null;
- try {
- styleSheetUri = (String) SkinFactory.getInstance().getSkin(
- context).getParameter(context,
- Skin.generalStyleSheet);
- } catch (SkinNotFoundException e) {
- log.warn("Current Skin is not found", e);
- }
- if (null != styleSheetUri) {
- String resourceURL = context.getApplication()
- .getViewHandler().getResourceURL(context,
- styleSheetUri);
- // TODO - some resources can be non-session aware, we
- // must
- // skip encoding for this case ?
- // But, in common case - static links not need session
- // info,
- // and dynamic resources perform encodings if nessesary
- // resourceURL =
- // context.getExternalContext().encodeResourceURL(resourceURL);
- styles.add(resourceURL);
- }
+ Set styles = viewResources.getStyles();
if (styles.size() > 0) {
if (log.isDebugEnabled()) {
StringBuffer buff = new StringBuffer(
@@ -426,79 +430,6 @@
}
}
- /**
- * Append nessesary scripts and styles from component ( if renderer
- * implements {@link HeaderResourceProducer}) and recursive process all
- * facets and childrens.
- *
- * @param context
- * TODO
- * @param root
- * @param scripts
- * @param userScripts TODO
- * @param styles
- * @param userStyles TODO
- * @param renderKit
- * TODO
- */
- private void processHeadResources(FacesContext context, UIComponent root,
- Set scripts, Set userScripts, Set styles, Set userStyles, RenderKit renderKit) {
- Renderer renderer = getRenderer(context, root, renderKit);
- if (null != renderer) {
- if (renderer instanceof HeaderResourceProducer) {
- HeaderResourceProducer producer = (HeaderResourceProducer) renderer;
- Set set = producer.getHeaderScripts(context, root);
- if (null != set) {
- scripts.addAll(set);
- }
- set = producer.getHeaderStyles(context, root);
- if (null != set) {
- styles.addAll(set);
- }
- } else if (renderer instanceof UserResourceRenderer) {
- UserResourceRenderer producer = (UserResourceRenderer) renderer;
- Set set = producer.getHeaderScripts(context, root);
- if (null != set) {
- userScripts.addAll(set);
- }
- set = producer.getHeaderStyles(context, root);
- if (null != set) {
- userStyles.addAll(set);
- }
- }
-
- }
- for (Iterator iter = root.getFacets().values().iterator(); iter
- .hasNext();) {
- UIComponent child = (UIComponent) iter.next();
- processHeadResources(context, child, scripts, userScripts, styles, userStyles, renderKit);
- }
- for (Iterator iter = root.getChildren().iterator(); iter.hasNext();) {
- UIComponent child = (UIComponent) iter.next();
- processHeadResources(context, child, scripts, userScripts, styles, userStyles, renderKit);
- }
- }
-
- /**
- * Find renderer for given component.
- *
- * @param context
- * @param comp
- * @param renderKit
- * @return
- */
- private Renderer getRenderer(FacesContext context, UIComponent comp,
- RenderKit renderKit) {
-
- String rendererType = comp.getRendererType();
- if (rendererType != null) {
- return (renderKit.getRenderer(comp.getFamily(), rendererType));
- } else {
- return (null);
- }
-
- }
-
public void saveViewState(FacesContext context) throws IOException {
// TODO - for facelets environment, we need to remove transient
// components.
@@ -596,7 +527,7 @@
/**
* Test for relative id of target components. Attempt convert to absolute.
* For use as argument for
- * {@link UIComponent#findComponent(java.lang.String)}
+ * {@link RendererUtils#findComponentFor(UIComponent, String)}
*
* @param component
* @param id
@@ -610,7 +541,8 @@
throw new NullPointerException(
"Base component for search re-rendered compnnent is null");
}
- UIComponent target = findComponentFor(component, id);
+ UIComponent target = RendererUtils.getInstance().
+ findComponentFor(component, id);
if (null != target) {
return AjaxRendererUtils.getAbsoluteId(target);
}
@@ -619,52 +551,6 @@
}
/**
- * @param component
- * @param id
- * @return
- */
- private UIComponent findComponentFor(UIComponent component, String id) {
- UIComponent target = null;
- UIComponent parent = component;
- UIComponent root = component;
- while (null == target && null != parent) {
- target = parent.findComponent(id);
- root = parent;
- parent = parent.getParent();
- }
- if (null == target) {
- target = findUIComponentBelow(root, id);
- }
- return target;
- }
-
- private UIComponent findUIComponentBelow(UIComponent root, String id) {
-
- UIComponent target = null;
- for (Iterator iter = root.getFacetsAndChildren(); iter.hasNext();) {
- UIComponent child = (UIComponent) iter.next();
- if (child instanceof NamingContainer) {
- try {
- target = child.findComponent(id);
- } catch (IllegalArgumentException iae) {
- continue;
- }
- }
- if (target == null) {
- if (child.getChildCount() > 0) {
- target = findUIComponentBelow(child, id);
- }
- }
-
- if (target != null) {
- break;
- }
-
- }
- return target;
- }
-
- /**
* @return Returns the ajaxRenderedAreas.
*/
public Set getAjaxRenderedAreas() {
@@ -813,8 +699,11 @@
"Illegal view Id for build AJAX Action URL: " + viewId);
}
ViewHandler viewHandler = context.getApplication().getViewHandler();
+ String actionURL = viewHandler.getActionURL(context, viewId);
+ // Mark Ajax action url as transparent with jsf-portlet bridge.
+ actionURL = actionURL + ((actionURL.lastIndexOf('?')>0)?"&":"?")+"javax.portlet.faces.DirectLink=true";
return context.getExternalContext().encodeActionURL(
- viewHandler.getActionURL(context, viewId));
+ actionURL);
}
/**
Copied: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ViewResources.java (from rev 4578, trunk/framework/impl/src/main/java/org/ajax4jsf/context/ViewResources.java)
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ViewResources.java (rev 0)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ViewResources.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -0,0 +1,166 @@
+/**
+ *
+ */
+package org.ajax4jsf.context;
+
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import javax.faces.FactoryFinder;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import javax.faces.render.RenderKit;
+import javax.faces.render.RenderKitFactory;
+import javax.faces.render.Renderer;
+
+import org.ajax4jsf.renderkit.HeaderResourceProducer;
+import org.ajax4jsf.renderkit.UserResourceRenderer;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class ViewResources {
+
+ LinkedHashSet scripts = new LinkedHashSet();
+ LinkedHashSet styles = new LinkedHashSet();
+ LinkedHashSet userScripts = new LinkedHashSet();
+ LinkedHashSet userStyles = new LinkedHashSet();
+ boolean processStyles = true;
+ boolean processScripts = true;
+ RenderKit renderKit = null;
+
+ public void collect(FacesContext context) {
+ UIViewRoot root = context.getViewRoot();
+ RenderKitFactory rkFactory = (RenderKitFactory) FactoryFinder
+ .getFactory(FactoryFinder.RENDER_KIT_FACTORY);
+ renderKit = rkFactory.getRenderKit(context, context
+ .getViewRoot().getRenderKitId());
+ processHeadResources(context, root);
+ styles.addAll(userStyles);
+ scripts.addAll(userScripts);
+ }
+
+ /**
+ * Append nessesary scripts and styles from component ( if renderer
+ * implements {@link HeaderResourceProducer}) and recursive process all
+ * facets and childrens.
+ *
+ * @param context
+ * TODO
+ * @param root
+ */
+ private void processHeadResources(FacesContext context, UIComponent root) {
+ Renderer renderer = getRenderer(context, root);
+ if (null != renderer) {
+ if ((processScripts || processStyles ) && renderer instanceof HeaderResourceProducer) {
+ HeaderResourceProducer producer = (HeaderResourceProducer) renderer;
+ if (processScripts) {
+ Set set = producer.getHeaderScripts(context, root);
+ if (null != set) {
+ scripts.addAll(set);
+ }
+
+ }
+ if (processStyles) {
+ Set set = producer.getHeaderStyles(context, root);
+ if (null != set) {
+ styles.addAll(set);
+ }
+
+ }
+ } else if (renderer instanceof UserResourceRenderer) {
+ UserResourceRenderer producer = (UserResourceRenderer) renderer;
+ Set set = producer.getHeaderScripts(context, root);
+ if (null != set) {
+ userScripts.addAll(set);
+ }
+ set = producer.getHeaderStyles(context, root);
+ if (null != set) {
+ userStyles.addAll(set);
+ }
+ }
+
+ }
+ for (Iterator iter = root.getFacets().values().iterator(); iter
+ .hasNext();) {
+ UIComponent child = (UIComponent) iter.next();
+ processHeadResources(context, child);
+ }
+ for (Iterator iter = root.getChildren().iterator(); iter.hasNext();) {
+ UIComponent child = (UIComponent) iter.next();
+ processHeadResources(context, child);
+ }
+ }
+
+ /**
+ * Find renderer for given component.
+ *
+ * @param context
+ * @param comp
+ * @param renderKit
+ * @return
+ */
+ private Renderer getRenderer(FacesContext context, UIComponent comp) {
+
+ String rendererType = comp.getRendererType();
+ if (rendererType != null) {
+ return (renderKit.getRenderer(comp.getFamily(), rendererType));
+ } else {
+ return (null);
+ }
+
+ }
+
+ /**
+ * @return the processStyles
+ */
+ public boolean isProcessStyles() {
+ return processStyles;
+ }
+
+ /**
+ * @param processStyles the processStyles to set
+ */
+ public void setProcessStyles(boolean processStyles) {
+ this.processStyles = processStyles;
+ }
+
+ /**
+ * @return the processScripts
+ */
+ public boolean isProcessScripts() {
+ return processScripts;
+ }
+
+ /**
+ * @param processScripts the processScripts to set
+ */
+ public void setProcessScripts(boolean processScripts) {
+ this.processScripts = processScripts;
+ }
+
+ /**
+ * @return the scripts
+ */
+ public Set getScripts() {
+ return scripts;
+ }
+
+ /**
+ * @return the styles
+ */
+ public Set getStyles() {
+ return styles;
+ }
+
+ public void addScript(String scriptUrl) {
+ scripts.add(scriptUrl);
+ }
+
+ public void addStyle(String styleUrl) {
+ styles.add(styleUrl);
+ }
+}
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/org/w3c/tidy/PPrint.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/org/w3c/tidy/PPrint.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/org/w3c/tidy/PPrint.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -1047,13 +1047,13 @@
}
// look for ASP, Tango or PHP instructions for computed attribute value
- if (valueChars != null && valueChars.length >= 5 && valueChars[0] == '<')
- {
- if (valueChars[1] == '%' || valueChars[1] == '@' || (new String(valueChars, 0, 5)).equals("<?php"))
- {
- mode |= CDATA;
- }
- }
+// if (valueChars != null && valueChars.length >= 5 && valueChars[0] == '<')
+// {
+// if (valueChars[1] == '%' || valueChars[1] == '@' || (new String(valueChars, 0, 5)).equals("<?php"))
+// {
+// mode |= CDATA;
+// }
+// }
if (delim == 0)
{
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -285,7 +285,8 @@
if (null != ajaxAreas) {
for (Iterator iter = ajaxAreas.iterator(); iter.hasNext();) {
String id = (String) iter.next();
- UIComponent comp = uiComponent.findComponent(id);
+ UIComponent comp = RendererUtils.getInstance().
+ findComponentFor(uiComponent, id);
if (null != comp) {
areasIds.add(comp.getClientId(facesContext));
} else {
@@ -541,24 +542,9 @@
statusId = (String) component.getAttributes().get(STATUS_ATTR_NAME);
}
if (null != statusId) {
- UIComponent status = null;
- UIComponent currentParent = component;
- try {
- // Check the naming container of the current
- // component for component identified by
- // 'forComponent'
- while (currentParent != null) {
- // If the current component is a NamingContainer,
- // see if it contains what we're looking for.
- status = currentParent.findComponent(statusId);
- if (status != null)
- break;
- // if not, start checking further up in the view
- currentParent = currentParent.getParent();
- }
- } catch (Exception e) {
- // ignore - log the warning
- }
+ UIComponent status = RendererUtils.getInstance().
+ findComponentFor(component, statusId);
+
if (null != status) {
statusId = status
.getClientId(FacesContext.getCurrentInstance());
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -55,7 +55,11 @@
*
*/
public class RendererUtils {
+
+ //we'd better use this instance multithreadly quickly
+ private static final RendererUtils instance = new RendererUtils();
+
public static final String DUMMY_FORM_ID = ":_form";
/**
* Substitutions for components properies names and HTML attributes names.
@@ -69,6 +73,14 @@
Arrays.sort(HTML.PASS_THRU_URI);
}
+ /**
+ * Use this method to get singleton instance of RendererUtils
+ * @return singleton instance
+ */
+ public static RendererUtils getInstance() {
+ return instance;
+ }
+
/**
* Common HTML elements and attributes names.
*
@@ -803,13 +815,18 @@
writer.endElement(HTML.SCRIPT_ELEM);
}
+
+ public UIComponent findComponentFor(FacesContext context,
+ UIComponent component, String id) {
+ return findComponentFor(component,id);
+ }
+
/**
* @param component
* @param id
* @return
*/
- public UIComponent findComponentFor(FacesContext context,
- UIComponent component, String id) {
+ public UIComponent findComponentFor(UIComponent component, String id) {
UIComponent target = null;
UIComponent parent = component;
UIComponent root = component;
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/nekko/NekkoParser.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/nekko/NekkoParser.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/webapp/nekko/NekkoParser.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -362,8 +362,14 @@
} else if ("head".equalsIgnoreCase(element.rawname)) {
haveHead = true;
super.startElement(element, attributes, augs);
- insertResources();
+ // insertResources();
return;
+ } else if (haveHead) {
+ // <title> or <base> in the head
+ if (!("title".equalsIgnoreCase(element.rawname) || "base"
+ .equalsIgnoreCase(element.rawname))) {
+ insertResources();
+ }
} else {
if (!haveHtml) {
insertStartElement("html");
@@ -374,7 +380,7 @@
}
}
- if (isStateMarker(element, attributes)) {
+ if (stateMarkerLevel <0 && isStateMarker(element, attributes)) {
stateMarkerLevel = 0;
return;
}
@@ -464,7 +470,13 @@
}
}
if (!headParsed) {
- if ("head".equalsIgnoreCase(name.rawname)) {
+ if (haveHead) {
+ // <title> or <base> in the head
+ if (!("title".equalsIgnoreCase(name.rawname) || "base"
+ .equalsIgnoreCase(name.rawname))) {
+ insertResources();
+ }
+ } else if ("head".equalsIgnoreCase(name.rawname)) {
haveHead = true;
super.startElement(name, attributes, augmentation);
insertResources();
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/xml/serializer/ToXHTMLStream.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/xml/serializer/ToXHTMLStream.java 2007-12-06 23:56:51 UTC (rev 4581)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/xml/serializer/ToXHTMLStream.java 2007-12-06 23:59:35 UTC (rev 4582)
@@ -966,7 +966,7 @@
{
ElemContext elemContext = m_elemContext;
- final ElemDesc elemDesc = elemContext.m_elementDesc;
+ final ElemDesc elemDesc = elemContext.m_elementDesc != null?elemContext.m_elementDesc:m_dummy;
final int elemFlags = elemDesc.getFlags();
final boolean elemEmpty = (elemFlags & ElemDesc.EMPTY) != 0;
Added: branches/3.1.x/framework/impl/src/main/resources/META-INF/skins/NULL.skin.properties
===================================================================
--- branches/3.1.x/framework/impl/src/main/resources/META-INF/skins/NULL.skin.properties (rev 0)
+++ branches/3.1.x/framework/impl/src/main/resources/META-INF/skins/NULL.skin.properties 2007-12-06 23:59:35 UTC (rev 4582)
@@ -0,0 +1,65 @@
+loadStyleSheets=false
+#Colors
+headerBackgroundColor=#D4CFC7
+headerGradientColor=#EDEAE6
+headerTextColor=#000000
+headerWeightFont=bold
+
+generalBackgroundColor=#FFFFFF
+generalTextColor=#000000
+generalSizeFont=11px
+generalFamilyFont=Arial, Verdana, sans-serif
+
+controlTextColor=#000000
+controlBackgroundColor=#ffffff
+additionalBackgroundColor=#F1EEE9
+
+shadowBackgroundColor=#000000
+shadowOpacity=1
+
+panelBorderColor=#C4C0B9
+subBorderColor=#ffffff
+
+tabBackgroundColor=#E3DED5
+tabDisabledTextColor=#B1ADA7
+
+trimColor=#DFDCD5
+
+tipBackgroundColor=\#FAE6B0
+tipBorderColor=\#E5973E
+
+selectControlColor=#E79A00
+
+
+generalLinkColor=#0078D0
+hoverLinkColor=#0090FF
+visitedLinkColor=#0090FF
+
+# Fonts
+headerSizeFont=11px
+headerFamilyFont=Arial, Verdana, sans-serif
+
+tabSizeFont=11
+tabFamilyFont=Arial, Verdana, sans-serif
+
+buttonSizeFont=11
+buttonFamilyFont=Arial, Verdana, sans-serif
+
+tableBackgroundColor=#FFFFFF
+tableFooterBackgroundColor=#cccccc
+tableSubfooterBackgroundColor=#f1f1f1
+tableBorderColor=#C4C0C9
+tableBorderWidth=1px
+
+
+#Calendar colors
+calendarWeekBackgroundColor=#F1EEE9
+
+calendarHolidaysBackgroundColor=#FFEBDA
+calendarHolidaysTextColor=#FF7800
+
+calendarCurrentBackgroundColor=#FF7800
+calendarCurrentTextColor=#FFEBDA
+
+calendarSpecBackgroundColor=#F1EEE9
+calendarSpecTextColor=#000000
Property changes on: branches/3.1.x/framework/impl/src/main/resources/META-INF/skins/NULL.skin.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 11 months
JBoss Rich Faces SVN: r4581 - in management/design/orderingList/markup: ol_images and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 18:56:51 -0500 (Thu, 06 Dec 2007)
New Revision: 4581
Modified:
management/design/orderingList/markup/ol_images/bg_header.png
management/design/orderingList/markup/ol_images/bg_press.png
management/design/orderingList/markup/ordering_list.html
Log:
Latest ordering list design committed
Modified: management/design/orderingList/markup/ol_images/bg_header.png
===================================================================
(Binary files differ)
Modified: management/design/orderingList/markup/ol_images/bg_press.png
===================================================================
(Binary files differ)
Modified: management/design/orderingList/markup/ordering_list.html
===================================================================
--- management/design/orderingList/markup/ordering_list.html 2007-12-06 23:38:31 UTC (rev 4580)
+++ management/design/orderingList/markup/ordering_list.html 2007-12-06 23:56:51 UTC (rev 4581)
@@ -9,28 +9,94 @@
.ol_out_label{padding : 3px 3px 3px 8px}
.ol_in_label{padding : 3px 3px 3px 0px}
- .ol_body{border : 0px solid #bfbfc0;}
+ .ol_body{border : 0px solid #C0C0C0;} /*tableBorderColor*/
- .ol_list{overflow : auto; width : 200px; height : 150px; background : #FFFFFF; border : 1px solid #bfbfc0;}
- .ol_outputlist{ margin : 0px 8px 8px 8px;}
- .ol_inputlist{ margin : 0px 8px 8px 0px;}
+ .ol_list{
+ overflow : auto;
+ width : 200px;
+ height : 150px;
+ background : #FFFFFF; /*tableBackgroundColor*/
+ border : 1px solid #C0C0C0; /*tableBorderColor*/
+ }
+ .ol_outputlist{
+ margin : 0px 8px 8px 8px;
+ }
+ .ol_inputlist{
+ margin : 0px 8px 8px 0px;
+ }
- .ol_button_layout{padding : 15px 8px 15px 0px;}
- .ol_button_border{border : 1px solid #bfbfc0; margin-bottom : 3px;}
- .ol_button{background : url(ol_images/bg_header.png) top left #C6D6EA repeat-x; cursor : pointer; padding : 2px; font-family : Arial; font-size :11px;}
- .ol_button_light{background : url(ol_images/bg_header.png) top left #C6D6EA repeat-x; border : 1px solid #E79A00;cursor : pointer; padding : 1px; font-family : Arial; font-size :11px;}
- .ol_button_dis{background : #bfbfc0; border : 1px solid #bfbfc0; margin-bottom : 3px; padding : 1px}
- .ol_button_press{background : url(ol_images/bg_press.png) top left repeat-x #EAF0F8; border : 1px solid #E79A00; padding : 2px 0px 0px 2px;font-family : Arial; font-size :11px;}
+ .ol_button_layout{
+ padding : 15px 8px 15px 0px;
+ }
+ .ol_button_border{
+ border : 1px solid #C0C0C0; /*tableBorderColor*/
+ margin-bottom : 3px;
+ }
+ .ol_button{
+ background : url(ol_images/bg_header.png) /*from additionalBackgroundColor to trimColor*/ top left #C6D6EA /*trimColor*/ repeat-x;
+ cursor : pointer;
+ padding : 2px;
+ font-family : Arial;
+ font-size :11px;
+ }
+ .ol_button_light{
+ background : url(ol_images/bg_header.png) /*from additionalBackgroundColor to headerGradientColor*/ top left #C6D6EA /*trimColor*/ repeat-x;
+ border : 1px solid #E79A00; /*selectControlColor*/
+ cursor : pointer;
+ padding : 1px;
+ font-family : Arial;
+ font-size :11px;
+ }
+ .ol_button_dis{
+ background : #C0C0C0; /*tableBorderColor*/
+ border : 1px solid #C0C0C0; /*tableBorderColor*/
+ margin-bottom : 3px;
+ padding : 1px}
+ .ol_button_press{
+ background : url(ol_images/bg_press.png) /*from additionalBackgroundColor to trimColor*/ top left repeat-x #EAF0F8; /* additionalBackgroundColor*/
+ border : 1px solid #E79A00; /*selectControlColor*/
+ padding : 2px 0px 0px 2px;
+ font-family : Arial;
+ font-size :11px;
+ }
.ol_center_button_col_valign{vertical-align : middle}
.ol_right_button_col_valign{vertical-align : middle}
#internal_tab{width : 100%}
#internal_tab .ol_endcol{border-right : 0px}
- #internal_tab td{font-family : Arial; font-size :11px; border-bottom : 1px solid #bfbfc0;border-top : 1px solid #FFFFFF; padding : 2px}
- #internal_tab th{background : url(ol_images/bg_header.png) top left repeat-x #C6D6EA; color : #000000; font-family : Arial; font-size :11px; font-weight : normal; border-bottom : 1px solid #bfbfc0;border-right : 1px solid #bfbfc0;border-left : 1px solid #EAF0F8;border-top : 1px solid #FFFFFF; padding : 2px}
- #internal_tab tr.ol_select{background : #EAF0F8}
- #internal_tab tr.ol_currant{background : #EAF0F8; color : #4A75B5;}
+ #internal_tab td{
+ font-family : Arial;
+ font-size :11px;
+ border-bottom : 1px solid #C0C0C0; /*tableBorderColor*/
+ border-top : 1px solid #FFFFFF; /*tableBackgroundColor*/
+ padding : 2px}
+ #internal_tab th{
+ background : url(ol_images/bg_header.png) /*from additionalBackgroundColor to trimColor*/ top left repeat-x #C6D6EA; /*trimColor*/
+ color : #000000;
+ font-family : Arial;
+ font-size :11px;
+ font-weight : normal;
+ border-bottom : 1px solid #C0C0C0; /*tableBorderColor*/
+ border-right : 1px solid #C0C0C0; /*tableBorderColor*/
+ border-left : 1px solid #EAF0F8; /*additionalBackgroundColor*/
+ border-top : 1px solid #FFFFFF; /*tableBackgroundColor*/
+ padding : 2px}
+ #internal_tab tr.ol_select td{
+ background : #EAF0F8; /*additionalBackgroundColor*/
+ }
+ #internal_tab tr.ol_currant td{
+ background : #C6D6EA;/*trimColor*/ font-weight : bold
+ }
- .ol_button_content{font-family : Arial; font-size :11px; padding : 0px 0px 0px 0px; text-align : center;}
+ .ol_button_content{
+ font-family : Arial;
+ font-size :11px;
+ padding : 0px 4px 0px 1px;
+ text-align : left;
+ }
+ .ol_ico{
+ vertical-align: middle;
+ margin-right : 3px;
+ }
</style>
</head>
@@ -162,323 +228,14 @@
</td>
<td class="ol_center_button_col_valign">
<div class="ol_button_layout">
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/up.gif" width="15" height="15" alt="" border="0"></div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/down.gif" width="15" height="15" alt="" border="0"></div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/top.gif" width="15" height="15" alt="" border="0"></div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/bottom.gif" width="15" height="15" alt="" border="0"></div></div></div>
+ <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/up.gif" width="15" height="15" alt="" border="0" class="ol_ico">First</div></div></div>
+ <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/down.gif" width="15" height="15" alt="" border="0" class="ol_ico">Up</div></div></div>
+ <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/top.gif" width="15" height="15" alt="" border="0" class="ol_ico">Down</div></div></div>
+ <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content"><img src="ol_images/bottom.gif" width="15" height="15" alt="" border="0" class="ol_ico">Last</div></div></div>
</div>
</td>
</table>
-<table border="0" cellpadding="0" cellspacing="0" class="ol_body">
- <tr>
- <td colspan="2" class="ol_header">
- <div class="ol_label ol_out_label">Ordering List</div>
- </td>
- </tr>
- <tr>
- <td>
- <div class="ol_list ol_outputlist">
- <table border="0" cellpadding="0" cellspacing="0" id="internal_tab">
- <tr>
- <th nowrap>
- Header 1
- </th>
- <th nowrap>
- Header 2
- </th>
- <th nowrap class="ol_endcol">
- Header 3
- </th>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_select">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_currant">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_select">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- </table>
- </div>
- </td>
- <td class="ol_center_button_col_valign">
- <div class="ol_button_layout">
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">First</div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">Up</div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">Down</div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">Last</div></div></div>
- </div>
- </td>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" class="ol_body">
- <tr>
- <td colspan="2" class="ol_header">
- <div class="ol_label ol_out_label">Ordering List</div>
- </td>
- </tr>
- <tr>
- <td>
- <div class="ol_list ol_outputlist">
- <table border="0" cellpadding="0" cellspacing="0" id="internal_tab">
- <tr>
- <th nowrap>
- Header 1
- </th>
- <th nowrap>
- Header 2
- </th>
- <th nowrap class="ol_endcol">
- Header 3
- </th>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_select">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_currant">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr class="ol_select">
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- <tr>
- <td nowrap>
- Content 1
- </td>
- <td nowrap>
- Content 2
- </td>
- <td nowrap class="ol_endcol">
- Content 3
- </td>
- </tr>
- </table>
- </div>
- </td>
- <td class="ol_center_button_col_valign">
- <div class="ol_button_layout">
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- <img src="ol_images/up.gif" width="15" height="15" alt="" border="0"><br>
- </td>
- <td style=" font-family: Georgia; font-size : 11px; padding-right : 4">
- <i>Up</i>
- </td>
- </tr>
- </table>
- </div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- <img src="ol_images/down.gif" width="15" height="15" alt="" border="0"><br>
- </td>
- <td style=" font-family: Georgia; font-size : 11px; padding-right : 4">
- <i>Down</i>
- </td>
- </tr>
- </table>
- </div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- <img src="ol_images/top.gif" width="15" height="15" alt="" border="0"><br>
- </td>
- <td style=" font-family: Georgia; font-size : 11px; padding-right : 4">
- <i>Top</i>
- </td>
- </tr>
- </table>
- </div></div></div>
- <div class="ol_button_border"><div class="ol_button" onmouseover="this.className='ol_button_light'" onmousedown="this.className='ol_button_press'" onmouseup="this.className='ol_button'" onmouseout="this.className='ol_button'"><div class="ol_button_content">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- <img src="ol_images/bottom.gif" width="15" height="15" alt="" border="0"><br>
- </td>
- <td style=" font-family: Georgia; font-size : 11px; padding-right : 4">
- <i>Bottom</i>
- </td>
- </tr>
- </table>
- </div></div></div>
- </div>
- </td>
-</table>
-
</body>
</html>
16 years, 11 months
JBoss Rich Faces SVN: r4580 - in branches/3.1.x/samples/orderingListDemo/src/main: webapp/pages and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 18:38:31 -0500 (Thu, 06 Dec 2007)
New Revision: 4580
Modified:
branches/3.1.x/samples/orderingListDemo/src/main/java/org/richfaces/OptionItemConverter.java
branches/3.1.x/samples/orderingListDemo/src/main/webapp/pages/index.jsp
Log:
orderingListDemo updated to comply jsf 1.1
Modified: branches/3.1.x/samples/orderingListDemo/src/main/java/org/richfaces/OptionItemConverter.java
===================================================================
--- branches/3.1.x/samples/orderingListDemo/src/main/java/org/richfaces/OptionItemConverter.java 2007-12-06 22:57:45 UTC (rev 4579)
+++ branches/3.1.x/samples/orderingListDemo/src/main/java/org/richfaces/OptionItemConverter.java 2007-12-06 23:38:31 UTC (rev 4580)
@@ -21,7 +21,7 @@
int index = value.indexOf(':');
- return new OptionItem(value.substring(0, index), Integer.valueOf(value.substring(index + 1)));
+ return new OptionItem(value.substring(0, index), Integer.valueOf(value.substring(index + 1)).intValue());
}
/* (non-Javadoc)
Modified: branches/3.1.x/samples/orderingListDemo/src/main/webapp/pages/index.jsp
===================================================================
--- branches/3.1.x/samples/orderingListDemo/src/main/webapp/pages/index.jsp 2007-12-06 22:57:45 UTC (rev 4579)
+++ branches/3.1.x/samples/orderingListDemo/src/main/webapp/pages/index.jsp 2007-12-06 23:38:31 UTC (rev 4580)
@@ -90,22 +90,22 @@
</ol:orderingList>
<h:panelGrid columns="2">
- <h:panelGroup layout="block" styleClass="eventDiv" id="ontopclickDiv" >
+ <h:panelGroup styleClass="eventDiv" id="ontopclickDiv" >
<h:outputText value="ontopclick" />
</h:panelGroup>
- <h:panelGroup layout="block" styleClass="eventDiv" id="onbottomclickDiv" >
+ <h:panelGroup styleClass="eventDiv" id="onbottomclickDiv" >
<h:outputText value="onbottomclick" />
</h:panelGroup>
- <h:panelGroup layout="block" styleClass="eventDiv" id="onorderchangedDiv" >
+ <h:panelGroup styleClass="eventDiv" id="onorderchangedDiv" >
<h:outputText value="onorderchanged" />
</h:panelGroup>
- <h:panelGroup layout="block" styleClass="eventDiv" id="ondownclickDiv" >
+ <h:panelGroup styleClass="eventDiv" id="ondownclickDiv" >
<h:outputText value="ondownclick" />
</h:panelGroup>
- <h:panelGroup layout="block" styleClass="eventDiv" id="onupclickDiv">
+ <h:panelGroup styleClass="eventDiv" id="onupclickDiv">
<h:outputText value="onupclick" />
</h:panelGroup>
- <h:panelGroup layout="block" styleClass="eventDiv" id="onheaderclickDiv" >
+ <h:panelGroup styleClass="eventDiv" id="onheaderclickDiv" >
<h:outputText value="onheaderclick" />
</h:panelGroup>
</h:panelGrid>
@@ -144,15 +144,15 @@
<h:outputText value="Order Controls Visible" />
<h:selectOneRadio value="#{demoBean.orderControlsVisible}" >
- <f:selectItem itemValue="true" itemLabel="true" />
- <f:selectItem itemValue="false" itemLabel="false" />
+ <f:selectItem itemValue="#{true}" itemLabel="true" />
+ <f:selectItem itemValue="#{false}" itemLabel="false" />
<a4j:support event="onchange" reRender="orderingList1" />
</h:selectOneRadio>
<h:outputText value="Fast Order Controls Visible" />
<h:selectOneRadio value="#{demoBean.fastOrderControlsVisible}" >
- <f:selectItem itemValue="true" itemLabel="true" />
- <f:selectItem itemValue="false" itemLabel="false" />
+ <f:selectItem itemValue="#{true}" itemLabel="true" />
+ <f:selectItem itemValue="#{false}" itemLabel="false" />
<a4j:support event="onchange" reRender="orderingList1" />
</h:selectOneRadio>
16 years, 11 months
JBoss Rich Faces SVN: r4579 - in trunk/ui/calendar/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 17:57:45 -0500 (Thu, 06 Dec 2007)
New Revision: 4579
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1551
Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 22:24:21 UTC (rev 4578)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 22:57:45 UTC (rev 4579)
@@ -25,6 +25,8 @@
import java.io.IOException;
import java.text.DateFormatSymbols;
+import java.text.Format;
+import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -86,10 +88,14 @@
AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
if (ajaxContext.isAjaxRequest()) {
+ String clientId = component.getClientId(context);
+
ajaxContext.getAjaxRenderedAreas().add(
- component.getClientId(context) + "Popup");
+ clientId + "Popup");
+
+ ajaxContext.getAjaxRenderedAreas().add(
+ clientId + "IFrame");
}
-
}
public Object getConvertedValue(FacesContext context,
@@ -445,9 +451,15 @@
return String.valueOf(cal.getMinimalDaysInFirstWeek());
}
- public String getCurrentDate(FacesContext context, UICalendar calendar)
+ public String getCurrentDateAsString(FacesContext context, UICalendar calendar, Date date)
throws IOException {
- Date date = calendar.getCurrentDateOrDefault();
+
+ Format formatter = new SimpleDateFormat("MM/yyyy");
+ return formatter.format(date);
+ }
+
+ public String getCurrentDate(FacesContext context, UICalendar calendar, Date date)
+ throws IOException {
return ScriptUtils.toScript(formatDate(date));
}
Modified: trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
--- trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-12-06 22:24:21 UTC (rev 4578)
+++ trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-12-06 22:57:45 UTC (rev 4579)
@@ -561,10 +561,7 @@
this.isVisible = false;
}
- var htmlTextHeader = (!this.params.popup ? '<input id="'+this.INPUT_DATE_ID+'" name="'+this.INPUT_DATE_ID+'" type="hidden" style="display:none" value="'+this.getSelectedDateString(this.params.datePattern)+'"/>\n' : '') +
- '<input id="'+this.id+'InputCurrentDate" name="'+this.id+'InputCurrentDate" type="hidden" style="display:none" value="'+Richfaces.Calendar.formatDate(this.getCurrentDate(),"MM/yyyy")+'"/>\n' +
- (this.params.popup && Richfaces.browser.isIE6 ? '<iframe src="javascript:\'\'" frameborder="0" scrolling="no" id="' + this.IFRAME_ID + '" style="display:none; position: absolute; width: 1px; height: 1px; background-color:white;">'+'</iframe>\n' : '' )+
- '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup'+(this.params.className ? ' '+this.params.className : '')+'" style="'+popupStyles+this.params.style+'"><tbody>\n';
+ var htmlTextHeader = '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup'+(this.params.className ? ' '+this.params.className : '')+'" style="'+popupStyles+this.params.style+'"><tbody>\n';
var colspan = (this.params.showWeeksBar ? "8" : "7");
var htmlHeaderOptional = (this.params.optionalHeaderMarkup) ? '<tr><td class="rich-calendar-header-optional" colspan="'+colspan+'" id="'+this.id+'HeaderOptional"></td></tr>' : '';
var htmlFooterOptional = (this.params.optionalFooterMarkup) ? '<tr><td class="rich-calendar-footer-optional" colspan="'+colspan+'" id="'+this.id+'FooterOptional"></td></tr>' : '';
@@ -630,7 +627,30 @@
//obj.innerHTML = htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter;
var span=$(this.POPUP_ID);
- new Insertion.After(span,htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter);
+
+ if (this.params.popup/* && Richfaces.browser.isIE6*/) {
+ for (var container = span.nextSibling; container; ) {
+ if (container.id == this.IFRAME_ID) {
+ Element.replace(container,
+ '<iframe src="javascript:\'\'" frameborder="0" scrolling="no" id="' + this.IFRAME_ID + '" style="display:none; position: absolute; width: 1px; height: 1px; background-color:white;">'+'</iframe>\n');
+
+ break;
+ }
+
+ container = container.nextSibling
+ }
+ }
+
+ for (var container = span.nextSibling; container; ) {
+ if (container.id == id) {
+ Element.replace(container,
+ htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter);
+ break;
+ }
+
+ container = container.nextSibling;
+ }
+
// set content
var obj=$(id);
obj.component = this;
Modified: trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-06 22:24:21 UTC (rev 4578)
+++ trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-06 22:57:45 UTC (rev 4579)
@@ -16,11 +16,21 @@
<f:call name="addPopupToAjaxRendered" />
<span id="#{clientId}Popup"
- x:passThruWithExclusions="value,name,type,id,styleClass,class,style"> <jsp:scriptlet>
+ x:passThruWithExclusions="value,name,type,id,styleClass,class,style">
+ <jsp:scriptlet>
<![CDATA[
boolean popup = getUtils().isBooleanAttribute(component, "popup");
if (!popup) {
getUtils().writeAttribute(writer, "style", "display: none");
+
+ ]]>
+ </jsp:scriptlet>
+ <input id="#{clientId}InputDate"
+ style="display:none"
+ name="#{clientId}InputDate"
+ value="#{this:getInputValue(context,component)}" type="hidden" />
+ <jsp:scriptlet>
+ <![CDATA[
} else {
boolean disabled = getUtils().isBooleanAttribute(component, "disabled");
boolean showInput = getUtils().isBooleanAttribute(component, "showInput");
@@ -34,38 +44,42 @@
variables.setVariable("disabled",new Boolean(disabled));
]]>
- </jsp:scriptlet> <f:resource
+ </jsp:scriptlet>
+ <f:resource
name="org.richfaces.renderkit.html.iconimages.CalendarIcon" var="icon" />
<f:resource
name="org.richfaces.renderkit.html.iconimages.DisabledCalendarIcon"
- var="disabledIcon" /> <input id="#{clientId}InputDate"
- name="#{clientId}InputDate"
- value="#{this:getInputValue(context,component)}" type="#{type}"
- disabled="#{disabled}"
- accesskey="#{component.attributes['accesskey']}"
- maxlength="#{component.attributes['maxlength']}"
- onchange="#{component.attributes['oninputchange']}"
- onselect="#{component.attributes['oninputselect']}"
- onfocus="#{component.attributes['oninputfocus']}"
- onblur="#{component.attributes['oninputblur']}"
- onclick="#{component.attributes['oninputclick']}"
- onkeypress="#{component.attributes['oninputkeypress']}"
- onkeydown="#{component.attributes['oninputkeydown']}"
- onkeyup="#{component.attributes['oninputkeyup']}"
- size="#{component.attributes['inputSize']}"
- style="vertical-align: middle; #{component.attributes['inputStyle']}"
- class="rich-calendar-input #{component.attributes['inputClass']}"
- tabindex="#{component.attributes['tabindex']}">
+ var="disabledIcon" />
+
+ <input id="#{clientId}InputDate"
+ name="#{clientId}InputDate"
+ value="#{this:getInputValue(context,component)}" type="#{type}"
+ disabled="#{disabled}"
+ accesskey="#{component.attributes['accesskey']}"
+ maxlength="#{component.attributes['maxlength']}"
+ onchange="#{component.attributes['oninputchange']}"
+ onselect="#{component.attributes['oninputselect']}"
+ onfocus="#{component.attributes['oninputfocus']}"
+ onblur="#{component.attributes['oninputblur']}"
+ onclick="#{component.attributes['oninputclick']}"
+ onkeypress="#{component.attributes['oninputkeypress']}"
+ onkeydown="#{component.attributes['oninputkeydown']}"
+ onkeyup="#{component.attributes['oninputkeyup']}"
+ size="#{component.attributes['inputSize']}"
+ style="vertical-align: middle; #{component.attributes['inputStyle']}"
+ class="rich-calendar-input #{component.attributes['inputClass']}"
+ tabindex="#{component.attributes['tabindex']}">
+ <jsp:scriptlet>
+ <![CDATA[
+ boolean manualInput = getUtils().isBooleanAttribute(component, "enableManualInput");
+ if(!manualInput){
+ getUtils().writeAttribute(writer, "readonly", "readonly");
+ }
+ ]]>
+ </jsp:scriptlet>
+
+ </input>
<jsp:scriptlet>
- <![CDATA[
- boolean manualInput = getUtils().isBooleanAttribute(component, "enableManualInput");
- if(!manualInput){
- getUtils().writeAttribute(writer, "readonly", "readonly");
- }
- ]]>
- </jsp:scriptlet>
-
- </input> <jsp:scriptlet>
<![CDATA[
String buttonIcon = org.richfaces.component.util.ViewUtil.getResourceURL((String) component.getAttributes().get("buttonIcon"),context);
String buttonIconDisabled = org.richfaces.component.util.ViewUtil.getResourceURL((String) component.getAttributes().get("buttonIconDisabled"),context);
@@ -122,9 +136,19 @@
<![CDATA[
}
]]>
- </jsp:scriptlet> </span>
- <f:call name="dayCellClass" />
- <script type="text/javascript">
+ </jsp:scriptlet>
+ <c:object var="currentDate" type="java.util.Date" value="#{component.currentDateOrDefault}" />
+
+ <input id="#{clientId}InputCurrentDate"
+ style="display:none"
+ name="#{clientId}InputCurrentDate"
+ value="#{this:getCurrentDateAsString(context,component,currentDate)}" type="hidden" />
+
+ </span>
+ <div style="display: none;" id="#{clientId}IFrame"></div>
+ <div style="display: none;" id="#{clientId}">
+ <f:call name="dayCellClass" />
+ <script type="text/javascript">
new Calendar('#{clientId}', {
<jsp:scriptlet>/*<![CDATA[*/
@@ -141,7 +165,7 @@
dayListTableId: '#{clientId}Day',
weekNumberBarId: '#{clientId}WeekNum',
weekDayBarId: '#{clientId}WeekDay',
- currentDate: #{this:getCurrentDate(context, component)},
+ currentDate: #{this:getCurrentDate(context, component, currentDate)},
selectedDate: #{this:getSelectedDate(context, component)},
datePattern: '#{component.datePattern}',
jointPoint: '#{component.jointPoint}',
@@ -204,4 +228,5 @@
/*]]>*/</jsp:scriptlet>
);
</script>
+ </div>
</f:root>
16 years, 11 months
JBoss Rich Faces SVN: r4578 - in trunk/framework: impl/src/main/java/org/ajax4jsf/context and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-06 17:24:21 -0500 (Thu, 06 Dec 2007)
New Revision: 4578
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
Log:
Fix names for a common JavaScript files.
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java 2007-12-06 21:00:43 UTC (rev 4577)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/resource/InternetResourceBuilder.java 2007-12-06 22:24:21 UTC (rev 4578)
@@ -40,8 +40,9 @@
private static final Log log = LogFactory.getLog(InternetResourceBuilder.class);
public static final String LOAD_NONE = "NONE";
public static final String LOAD_ALL = "ALL";
- public static final String COMMON_SCRIPT = "/org/richfaces/compressedScript.js";
- public static final String COMMON_STYLE = "/org/richfaces/commonStyle.xcss";
+ public static final String COMMON_FRAMEWORK_SCRIPT = "/org/ajax4jsf/framework.pack.js";
+ public static final String COMMON_UI_SCRIPT = "/org/richfaces/ui.pack.js";
+ public static final String COMMON_STYLE = "/org/richfaces/skin.xcss";
public static final String LOAD_STYLE_STRATEGY_PARAM = "org.richfaces.LoadStyleStrategy";
public static final String LOAD_SCRIPT_STRATEGY_PARAM = "org.richfaces.LoadScriptStrategy";
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-12-06 21:00:43 UTC (rev 4577)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-12-06 22:24:21 UTC (rev 4578)
@@ -28,13 +28,11 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.faces.FacesException;
-import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.StateManager;
import javax.faces.application.ViewHandler;
@@ -47,8 +45,6 @@
import javax.faces.context.ResponseWriter;
import javax.faces.event.AbortProcessingException;
import javax.faces.render.RenderKit;
-import javax.faces.render.RenderKitFactory;
-import javax.faces.render.Renderer;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -58,9 +54,7 @@
import org.ajax4jsf.component.AjaxViewRoot;
import org.ajax4jsf.renderkit.AjaxContainerRenderer;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
-import org.ajax4jsf.renderkit.HeaderResourceProducer;
import org.ajax4jsf.renderkit.RendererUtils;
-import org.ajax4jsf.renderkit.UserResourceRenderer;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.ajax4jsf.resource.InternetResourceBuilder;
import org.ajax4jsf.webapp.BaseFilter;
@@ -386,7 +380,8 @@
viewResources.setProcessScripts(false);
} else if (InternetResourceBuilder.LOAD_ALL.equals(scriptStrategy)) {
viewResources.setProcessScripts(false);
- viewResources.addScript(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_SCRIPT).getUri(context, null));
+ viewResources.addScript(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_FRAMEWORK_SCRIPT).getUri(context, null));
+ viewResources.addScript(internetResourceBuilder.createResource(this, InternetResourceBuilder.COMMON_UI_SCRIPT).getUri(context, null));
}
}
String styleStrategy = externalContext.getInitParameter(InternetResourceBuilder.LOAD_STYLE_STRATEGY_PARAM);
16 years, 11 months
JBoss Rich Faces SVN: r4577 - branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 16:00:43 -0500 (Thu, 06 Dec 2007)
New Revision: 4577
Modified:
branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
http://jira.jboss.com/jira/browse/RF-1551
Modified: branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 20:57:54 UTC (rev 4576)
+++ branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 21:00:43 UTC (rev 4577)
@@ -95,9 +95,6 @@
ajaxContext.getAjaxRenderedAreas().add(
clientId + "IFrame");
-
- ajaxContext.getAjaxRenderedAreas().add(
- clientId + "Initializers");
}
}
16 years, 11 months
JBoss Rich Faces SVN: r4576 - branches/3.1.x/samples/calendar-sample/src/main/webapp/pages.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 15:57:54 -0500 (Thu, 06 Dec 2007)
New Revision: 4576
Modified:
branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
Log:
http://jira.jboss.com/jira/browse/RF-1551
Modified: branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
===================================================================
--- branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-12-06 20:57:49 UTC (rev 4575)
+++ branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-12-06 20:57:54 UTC (rev 4576)
@@ -38,9 +38,6 @@
</h:panelGrid>
<br />
<br />
- <calendar:calendar todayControlMode="#{calendarBean.todayControlMode}" datePattern="#{calendarBean.pattern}" showApplyButton="#{calendarBean.showApplyButton}" popup="#{calendarBean.popup}"/>
- <calendar:calendar cellWidth="5" cellHeight="5"/>
- <calendar:calendar cellWidth="40" cellHeight="40"/>
<calendar:calendar
id="calendar"
dataModel="#{calendarDataModel}"
@@ -99,7 +96,9 @@
<f:selectItem itemLabel="RU" itemValue="ru/RU"/>
</h:selectOneRadio>
<h:outputText value="Popup Mode:" />
- <h:selectBooleanCheckbox value="#{calendarBean.popup}" onclick="submit()"/>
+ <h:selectBooleanCheckbox value="#{calendarBean.popup}">
+ <a4j:support event="onclick" reRender="calendar"/>
+ </h:selectBooleanCheckbox>
<h:outputText value="Custom day labels:" />
<h:selectBooleanCheckbox value="#{calendarBean.useCustomDayLabels}" onclick="submit()"/>
<h:outputText value="Show Apply Button:" />
16 years, 11 months
JBoss Rich Faces SVN: r4575 - in branches/3.1.x/ui/calendar/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-06 15:57:49 -0500 (Thu, 06 Dec 2007)
New Revision: 4575
Modified:
branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1551
Modified: branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 20:28:56 UTC (rev 4574)
+++ branches/3.1.x/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-06 20:57:49 UTC (rev 4575)
@@ -25,6 +25,8 @@
import java.io.IOException;
import java.text.DateFormatSymbols;
+import java.text.Format;
+import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -86,10 +88,17 @@
AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
if (ajaxContext.isAjaxRequest()) {
+ String clientId = component.getClientId(context);
+
ajaxContext.getAjaxRenderedAreas().add(
- component.getClientId(context) + "Popup");
+ clientId + "Popup");
+
+ ajaxContext.getAjaxRenderedAreas().add(
+ clientId + "IFrame");
+
+ ajaxContext.getAjaxRenderedAreas().add(
+ clientId + "Initializers");
}
-
}
public Object getConvertedValue(FacesContext context,
@@ -445,9 +454,15 @@
return String.valueOf(cal.getMinimalDaysInFirstWeek());
}
- public String getCurrentDate(FacesContext context, UICalendar calendar)
+ public String getCurrentDateAsString(FacesContext context, UICalendar calendar, Date date)
throws IOException {
- Date date = calendar.getCurrentDateOrDefault();
+
+ Format formatter = new SimpleDateFormat("MM/yyyy");
+ return formatter.format(date);
+ }
+
+ public String getCurrentDate(FacesContext context, UICalendar calendar, Date date)
+ throws IOException {
return ScriptUtils.toScript(formatDate(date));
}
Modified: branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
--- branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-12-06 20:28:56 UTC (rev 4574)
+++ branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-12-06 20:57:49 UTC (rev 4575)
@@ -561,10 +561,7 @@
this.isVisible = false;
}
- var htmlTextHeader = (!this.params.popup ? '<input id="'+this.INPUT_DATE_ID+'" name="'+this.INPUT_DATE_ID+'" type="hidden" style="display:none" value="'+this.getSelectedDateString(this.params.datePattern)+'"/>\n' : '') +
- '<input id="'+this.id+'InputCurrentDate" name="'+this.id+'InputCurrentDate" type="hidden" style="display:none" value="'+Richfaces.Calendar.formatDate(this.getCurrentDate(),"MM/yyyy")+'"/>\n' +
- (this.params.popup && Richfaces.browser.isIE6 ? '<iframe src="javascript:\'\'" frameborder="0" scrolling="no" id="' + this.IFRAME_ID + '" style="display:none; position: absolute; width: 1px; height: 1px; background-color:white;">'+'</iframe>\n' : '' )+
- '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup'+(this.params.className ? ' '+this.params.className : '')+'" style="'+popupStyles+this.params.style+'"><tbody>\n';
+ var htmlTextHeader = '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup'+(this.params.className ? ' '+this.params.className : '')+'" style="'+popupStyles+this.params.style+'"><tbody>\n';
var colspan = (this.params.showWeeksBar ? "8" : "7");
var htmlHeaderOptional = (this.params.optionalHeaderMarkup) ? '<tr><td class="rich-calendar-header-optional" colspan="'+colspan+'" id="'+this.id+'HeaderOptional"></td></tr>' : '';
var htmlFooterOptional = (this.params.optionalFooterMarkup) ? '<tr><td class="rich-calendar-footer-optional" colspan="'+colspan+'" id="'+this.id+'FooterOptional"></td></tr>' : '';
@@ -630,7 +627,30 @@
//obj.innerHTML = htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter;
var span=$(this.POPUP_ID);
- new Insertion.After(span,htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter);
+
+ if (this.params.popup/* && Richfaces.browser.isIE6*/) {
+ for (var container = span.nextSibling; container; ) {
+ if (container.id == this.IFRAME_ID) {
+ Element.replace(container,
+ '<iframe src="javascript:\'\'" frameborder="0" scrolling="no" id="' + this.IFRAME_ID + '" style="display:none; position: absolute; width: 1px; height: 1px; background-color:white;">'+'</iframe>\n');
+
+ break;
+ }
+
+ container = container.nextSibling
+ }
+ }
+
+ for (var container = span.nextSibling; container; ) {
+ if (container.id == id) {
+ Element.replace(container,
+ htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter);
+ break;
+ }
+
+ container = container.nextSibling;
+ }
+
// set content
var obj=$(id);
obj.component = this;
Modified: branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-06 20:28:56 UTC (rev 4574)
+++ branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-06 20:57:49 UTC (rev 4575)
@@ -16,11 +16,21 @@
<f:call name="addPopupToAjaxRendered" />
<span id="#{clientId}Popup"
- x:passThruWithExclusions="value,name,type,id,styleClass,class,style"> <jsp:scriptlet>
+ x:passThruWithExclusions="value,name,type,id,styleClass,class,style">
+ <jsp:scriptlet>
<![CDATA[
boolean popup = getUtils().isBooleanAttribute(component, "popup");
if (!popup) {
getUtils().writeAttribute(writer, "style", "display: none");
+
+ ]]>
+ </jsp:scriptlet>
+ <input id="#{clientId}InputDate"
+ style="display:none"
+ name="#{clientId}InputDate"
+ value="#{this:getInputValue(context,component)}" type="hidden" />
+ <jsp:scriptlet>
+ <![CDATA[
} else {
boolean disabled = getUtils().isBooleanAttribute(component, "disabled");
boolean showInput = getUtils().isBooleanAttribute(component, "showInput");
@@ -34,38 +44,42 @@
variables.setVariable("disabled",new Boolean(disabled));
]]>
- </jsp:scriptlet> <f:resource
+ </jsp:scriptlet>
+ <f:resource
name="org.richfaces.renderkit.html.iconimages.CalendarIcon" var="icon" />
<f:resource
name="org.richfaces.renderkit.html.iconimages.DisabledCalendarIcon"
- var="disabledIcon" /> <input id="#{clientId}InputDate"
- name="#{clientId}InputDate"
- value="#{this:getInputValue(context,component)}" type="#{type}"
- disabled="#{disabled}"
- accesskey="#{component.attributes['accesskey']}"
- maxlength="#{component.attributes['maxlength']}"
- onchange="#{component.attributes['oninputchange']}"
- onselect="#{component.attributes['oninputselect']}"
- onfocus="#{component.attributes['oninputfocus']}"
- onblur="#{component.attributes['oninputblur']}"
- onclick="#{component.attributes['oninputclick']}"
- onkeypress="#{component.attributes['oninputkeypress']}"
- onkeydown="#{component.attributes['oninputkeydown']}"
- onkeyup="#{component.attributes['oninputkeyup']}"
- size="#{component.attributes['inputSize']}"
- style="vertical-align: middle; #{component.attributes['inputStyle']}"
- class="rich-calendar-input #{component.attributes['inputClass']}"
- tabindex="#{component.attributes['tabindex']}">
+ var="disabledIcon" />
+
+ <input id="#{clientId}InputDate"
+ name="#{clientId}InputDate"
+ value="#{this:getInputValue(context,component)}" type="#{type}"
+ disabled="#{disabled}"
+ accesskey="#{component.attributes['accesskey']}"
+ maxlength="#{component.attributes['maxlength']}"
+ onchange="#{component.attributes['oninputchange']}"
+ onselect="#{component.attributes['oninputselect']}"
+ onfocus="#{component.attributes['oninputfocus']}"
+ onblur="#{component.attributes['oninputblur']}"
+ onclick="#{component.attributes['oninputclick']}"
+ onkeypress="#{component.attributes['oninputkeypress']}"
+ onkeydown="#{component.attributes['oninputkeydown']}"
+ onkeyup="#{component.attributes['oninputkeyup']}"
+ size="#{component.attributes['inputSize']}"
+ style="vertical-align: middle; #{component.attributes['inputStyle']}"
+ class="rich-calendar-input #{component.attributes['inputClass']}"
+ tabindex="#{component.attributes['tabindex']}">
+ <jsp:scriptlet>
+ <![CDATA[
+ boolean manualInput = getUtils().isBooleanAttribute(component, "enableManualInput");
+ if(!manualInput){
+ getUtils().writeAttribute(writer, "readonly", "readonly");
+ }
+ ]]>
+ </jsp:scriptlet>
+
+ </input>
<jsp:scriptlet>
- <![CDATA[
- boolean manualInput = getUtils().isBooleanAttribute(component, "enableManualInput");
- if(!manualInput){
- getUtils().writeAttribute(writer, "readonly", "readonly");
- }
- ]]>
- </jsp:scriptlet>
-
- </input> <jsp:scriptlet>
<![CDATA[
String buttonIcon = org.richfaces.component.util.ViewUtil.getResourceURL((String) component.getAttributes().get("buttonIcon"),context);
String buttonIconDisabled = org.richfaces.component.util.ViewUtil.getResourceURL((String) component.getAttributes().get("buttonIconDisabled"),context);
@@ -122,9 +136,19 @@
<![CDATA[
}
]]>
- </jsp:scriptlet> </span>
- <f:call name="dayCellClass" />
- <script type="text/javascript">
+ </jsp:scriptlet>
+ <c:object var="currentDate" type="java.util.Date" value="#{component.currentDateOrDefault}" />
+
+ <input id="#{clientId}InputCurrentDate"
+ style="display:none"
+ name="#{clientId}InputCurrentDate"
+ value="#{this:getCurrentDateAsString(context,component,currentDate)}" type="hidden" />
+
+ </span>
+ <div style="display: none;" id="#{clientId}IFrame"></div>
+ <div style="display: none;" id="#{clientId}">
+ <f:call name="dayCellClass" />
+ <script type="text/javascript">
new Calendar('#{clientId}', {
<jsp:scriptlet>/*<![CDATA[*/
@@ -141,7 +165,7 @@
dayListTableId: '#{clientId}Day',
weekNumberBarId: '#{clientId}WeekNum',
weekDayBarId: '#{clientId}WeekDay',
- currentDate: #{this:getCurrentDate(context, component)},
+ currentDate: #{this:getCurrentDate(context, component, currentDate)},
selectedDate: #{this:getSelectedDate(context, component)},
datePattern: '#{component.datePattern}',
jointPoint: '#{component.jointPoint}',
@@ -204,4 +228,5 @@
/*]]>*/</jsp:scriptlet>
);
</script>
+ </div>
</f:root>
16 years, 11 months