JBoss Rich Faces SVN: r22139 - in modules/tests/metamer/trunk/application/src/main: java/org/richfaces/tests/metamer/validator and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: ppitonak(a)redhat.com
Date: 2011-03-10 10:00:36 -0500 (Thu, 10 Mar 2011)
New Revision: 22139
Added:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml
Log:
added validation samples
Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java 2011-03-10 15:00:36 UTC (rev 22139)
@@ -26,6 +26,8 @@
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
import org.richfaces.component.html.HtmlInputNumberSlider;
import org.richfaces.tests.metamer.Attributes;
@@ -45,6 +47,9 @@
private static final long serialVersionUID = 595154649809L;
private static Logger logger;
private Attributes attributes;
+ private int value1;
+ private int value2;
+ private int value3;
/**
* Initializes the managed bean.
@@ -78,4 +83,30 @@
public void setAttributes(Attributes attributes) {
this.attributes = attributes;
}
+
+ @Min(2)
+ public int getValue1() {
+ return value1;
+ }
+
+ public void setValue1(int value1) {
+ this.value1 = value1;
+ }
+
+ @Max(2)
+ public int getValue2() {
+ return value2;
+ }
+
+ public void setValue2(int value2) {
+ this.value2 = value2;
+ }
+
+ public int getValue3() {
+ return value3;
+ }
+
+ public void setValue3(int value3) {
+ this.value3 = value3;
+ }
}
Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java 2011-03-10 15:00:36 UTC (rev 22139)
@@ -26,6 +26,8 @@
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
import org.richfaces.component.html.HtmlInputNumberSpinner;
import org.richfaces.tests.metamer.Attributes;
@@ -45,6 +47,9 @@
private static final long serialVersionUID = -1L;
private static Logger logger;
private Attributes attributes;
+ private int value1;
+ private int value2;
+ private int value3;
/**
* Initializes the managed bean.
@@ -74,4 +79,30 @@
public void setAttributes(Attributes attributes) {
this.attributes = attributes;
}
+
+ @Min(2)
+ public int getValue1() {
+ return value1;
+ }
+
+ public void setValue1(int value1) {
+ this.value1 = value1;
+ }
+
+ @Max(2)
+ public int getValue2() {
+ return value2;
+ }
+
+ public void setValue2(int value2) {
+ this.value2 = value2;
+ }
+
+ public int getValue3() {
+ return value3;
+ }
+
+ public void setValue3(int value3) {
+ this.value3 = value3;
+ }
}
Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java 2011-03-10 15:00:36 UTC (rev 22139)
@@ -31,6 +31,9 @@
import javax.faces.bean.ViewScoped;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
+import org.hibernate.validator.constraints.NotEmpty;
import org.richfaces.component.UISelect;
import org.richfaces.tests.metamer.Attributes;
@@ -54,6 +57,11 @@
@ManagedProperty(value = "#{model.capitals}")
private List<Capital> capitals;
private List<SelectItem> capitalsOptions = null;
+ private List<SelectItem> validationOptions = null;
+ private String value1;
+ private String value2;
+ private String value3;
+ private String value4;
/**
* Initializes the managed bean.
@@ -64,9 +72,15 @@
logger.debug("initializing bean " + getClass().getName());
capitalsOptions = new ArrayList<SelectItem>();
+ validationOptions = new ArrayList<SelectItem>();
for (Capital capital : capitals) {
capitalsOptions.add(new SelectItem(capital.getState(), capital.getState()));
+ validationOptions.add(new SelectItem(capital.getState(), capital.getState()));
}
+ validationOptions.add(new SelectItem("@@", "@@"));
+ validationOptions.add(new SelectItem("", ""));
+ validationOptions.add(new SelectItem("RichFaces", "RichFaces"));
+ validationOptions.add(new SelectItem("richfaces", "richfaces"));
attributes = Attributes.getComponentAttributesFromFacesConfig(UISelect.class, getClass());
@@ -106,6 +120,49 @@
this.capitalsOptions = capitalsOptions;
}
+ public List<SelectItem> getValidationOptions() {
+ return validationOptions;
+ }
+
+ public void setValidationOptions(List<SelectItem> validationOptions) {
+ this.validationOptions = validationOptions;
+ }
+
+ @NotEmpty
+ public String getValue1() {
+ return value1;
+ }
+
+ public void setValue1(String value1) {
+ this.value1 = value1;
+ }
+
+ @Pattern(regexp = "[a-z].*")
+ public String getValue2() {
+ return value2;
+ }
+
+ public void setValue2(String value2) {
+ this.value2 = value2;
+ }
+
+ @Size(min = 3, max = 6)
+ public String getValue3() {
+ return value3;
+ }
+
+ public void setValue3(String value3) {
+ this.value3 = value3;
+ }
+
+ public String getValue4() {
+ return value4;
+ }
+
+ public void setValue4(String value4) {
+ this.value4 = value4;
+ }
+
public void listener(ValueChangeEvent event) {
RichBean.logToPage("* value changed: " + event.getOldValue() + " -> " + event.getNewValue());
}
Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010-2011, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.tests.metamer.validator;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.validator.FacesValidator;
+import javax.faces.validator.Validator;
+import javax.faces.validator.ValidatorException;
+
+/**
+ * Custom number validator that accepts only positive numbers.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@FacesValidator("org.richfaces.PositiveNumberValidator")
+public class PositiveNumberValidator implements Validator {
+
+ @Override
+ public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
+ FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "must be a positive number",
+ "must be a positive number");
+
+ if (value == null || !(value instanceof Integer)) {
+ throw new ValidatorException(msg);
+ }
+
+ if ((Integer) value <= 0) {
+ throw new ValidatorException(msg);
+ }
+ }
+}
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -42,8 +42,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value1}"
>
+ <rich:validator event="change"/>
<a4j:ajax event="change" render="output1"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg1" for="input1"/>
@@ -52,8 +52,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value2}"
>
+ <rich:validator event="change"/>
<a4j:ajax event="change" render="output2"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg2" for="input2"/>
@@ -62,8 +62,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value3}"
>
+ <rich:validator event="change"/>
<a4j:ajax event="change" render="output3"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg3" for="input3"/>
@@ -73,8 +73,8 @@
value="#{richInplaceInputBean.value4}"
>
<f:validator validatorId="org.richfaces.StringRichFacesValidator"/>
+ <rich:validator event="change"/>
<a4j:ajax event="change" render="output4"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg4" for="input4"/>
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSlider id="slider1" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value1}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output1"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg1" for="slider1"/>
+
+ max 2
+ <rich:inputNumberSlider id="slider2" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value2}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output2"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg2" for="slider2"/>
+
+ custom (positive)
+ <rich:inputNumberSlider id="slider3" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value3}">
+ <f:validator validatorId="org.richfaces.PositiveNumberValidator"/>
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output3"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg3" for="slider3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInplaceInputBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInplaceInputBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInplaceInputBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton" style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton" value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSlider id="slider1" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value1}">
+ <a4j:ajax event="change" render="output1"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg1" for="slider1"/>
+
+ max 2
+ <rich:inputNumberSlider id="slider2" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value2}">
+ <a4j:ajax event="change" render="output2"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg2" for="slider2"/>
+
+ custom (positive)
+ <rich:inputNumberSlider id="slider3" maxValue="10" minValue="-10" value="#{richInputNumberSliderBean.value3}">
+ <f:validator validatorId="org.richfaces.PositiveNumberValidator"/>
+ <a4j:ajax event="change" render="output3"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg3" for="slider3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInplaceInputBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInplaceInputBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInplaceInputBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Page containing <b>rich:inputNumberSlider</b> with f:ajax and input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv" value="Client Side Validation">
+ Simple page that contains 3 <b>rich:inputNumberSlider</b>s testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303" value="JSR-303 Bean Validation">
+ Page containing 3 <b>rich:inputNumberSlider</b>s with various JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSpinner id="input1" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value1}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output1"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ max 2
+ <rich:inputNumberSpinner id="input2" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value2}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output2"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ custom (positive)
+ <rich:inputNumberSpinner id="input3" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value3}">
+ <f:validator validatorId="org.richfaces.PositiveNumberValidator"/>
+ <rich:validator event="change"/>
+ <a4j:ajax event="change" render="output3"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInputNumberSpinnerBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInputNumberSpinnerBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInputNumberSpinnerBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton" style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton" value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSpinner id="input1" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value1}">
+ <a4j:ajax event="change" render="output1"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ max 2
+ <rich:inputNumberSpinner id="input2" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value2}">
+ <a4j:ajax event="change" render="output2"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ custom (positive)
+ <rich:inputNumberSpinner id="input3" maxValue="10" minValue="-10" value="#{richInputNumberSpinnerBean.value3}">
+ <f:validator validatorId="org.richfaces.PositiveNumberValidator"/>
+ <a4j:ajax event="change" render="output3"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInputNumberSpinnerBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInputNumberSpinnerBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInputNumberSpinnerBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Page containing <b>rich:inputNumberSpinner</b> with f:ajax and input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv" value="Client Side Validation">
+ Simple page that contains 3 <b>rich:inputNumberSpinner</b>s testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303" value="JSR-303 Bean Validation">
+ Page containing 3 <b>rich:inputNumberSpinner</b>s with various JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ not empty
+ <rich:select id="input1"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value1}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output1"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:select id="input2"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value2}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output2"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:select id="input3"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value3}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output3"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:select id="input4"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value4}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <f:validator validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change" render="output4"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4" value="#{richSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml (from rev 22138, modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton" style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton" value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ not empty
+ <rich:select id="input1"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value1}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output1"/>
+ </rich:select>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:select id="input2"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value2}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output2"/>
+ </rich:select>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:select id="input3"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value3}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output3"/>
+ </rich:select>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:select id="input4"
+ defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value4}"
+ >
+ <f:selectItems value="#{richSelectBean.validationOptions}" />
+ <f:validator validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change" render="output4"/>
+ </rich:select>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4" value="#{richSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml 2011-03-10 14:52:47 UTC (rev 22138)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml 2011-03-10 15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Simple page that contains <b>rich:select</b> with f:ajax and input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv" value="Client Side Validation">
+ Simple page that contains 4 <b>rich:select</b>s testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303" value="JSR-303 Bean Validation">
+ Page containing 4 <b>rich:select</b>s with various JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
13 years, 6 months
JBoss Rich Faces SVN: r22138 - in modules/tests/metamer/trunk/application/src/main: webapp/components/a4jQueue and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2011-03-10 09:52:47 -0500 (Thu, 10 Mar 2011)
New Revision: 22138
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/A4JQueueBean.java
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml
Log:
global queue - added introduce delay checkbox to test ignore dup responses
Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/A4JQueueBean.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/A4JQueueBean.java 2011-03-10 14:52:04 UTC (rev 22137)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/A4JQueueBean.java 2011-03-10 14:52:47 UTC (rev 22138)
@@ -49,6 +49,7 @@
private A4JQueueBean globalQueue;
private A4JQueueBean formQueue1;
private A4JQueueBean formQueue2;
+ private boolean introduceDelay;
/**
* Initializes the managed bean.
@@ -108,6 +109,21 @@
}
public void setText(String text) {
+ if (introduceDelay) {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ throw new IllegalStateException(e);
+ }
+ }
this.text = text;
}
+
+ public boolean isIntroduceDelay() {
+ return introduceDelay;
+ }
+
+ public void setIntroduceDelay(boolean introduceDelay) {
+ this.introduceDelay = introduceDelay;
+ }
}
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml 2011-03-10 14:52:04 UTC (rev 22137)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/a4jQueue/globalQueue.xhtml 2011-03-10 14:52:47 UTC (rev 22138)
@@ -98,6 +98,13 @@
<ui:define name="outOfTemplateAfter">
<h:form id="attributeForm">
+ <h:panelGrid columns="2">
+ <h:outputLabel for="introduceDelay" value="Introduce Delay:" />
+ <h:selectBooleanCheckbox id="introduceDelay" value="#{a4jQueueBean.introduceDelay}">
+ <a4j:ajax event="change" />
+ </h:selectBooleanCheckbox>
+ </h:panelGrid>
+
<metamer:attributes value="#{a4jQueueBean.attributes}" id="attributes" />
</h:form>
</ui:define>
13 years, 6 months
JBoss Rich Faces SVN: r22137 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2011-03-10 09:52:04 -0500 (Thu, 10 Mar 2011)
New Revision: 22137
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java
Log:
global queue - separated testIgnoreDupResponses to tests with true/false value
Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java
===================================================================
--- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java 2011-03-10 14:51:25 UTC (rev 22136)
+++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/a4jQueue/TestGlobalQueue.java 2011-03-10 14:52:04 UTC (rev 22137)
@@ -189,8 +189,7 @@
}
@Test
- @IssueTracking("https://issues.jboss.org/browse/RFPL-1194")
- public void testIgnoreDuplicatedResponses() {
+ public void testIgnoreDuplicatedResponsesFalse() {
attributes.setIgnoreDupResponses(false);
XHRHalter.enable();
@@ -207,23 +206,26 @@
handle.complete();
waitGui.dontFail().waitForChange("a", retrieveText.locator(queue.repeatedText));
assertEquals(queue.getRepeatedText(), "b");
+ }
+ @Test
+ public void testIgnoreDuplicatedResponsesTrue() {
attributes.setIgnoreDupResponses(true);
XHRHalter.enable();
queue.type("c");
queue.fireEvent(1);
- handle = XHRHalter.getHandleBlocking();
+ XHRHalter handle = XHRHalter.getHandleBlocking();
handle.send();
queue.type("d");
queue.fireEvent(1);
handle.complete();
try {
- waitGui.dontFail().waitForChange("b", retrieveText.locator(queue.repeatedText));
+ waitGui.dontFail().waitForChange("", retrieveText.locator(queue.repeatedText));
} catch (SeleniumException e) {
// expected timeout
}
- assertEquals(queue.getRepeatedText(), "b");
+ assertEquals(queue.getRepeatedText(), "");
handle.waitForOpen();
handle.complete();
waitGui.dontFail().waitForChange("b", retrieveText.locator(queue.repeatedText));
13 years, 6 months
JBoss Rich Faces SVN: r22136 - modules/tests/metamer/trunk/ftest-source/src/main/resources/javascript/cheiron.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2011-03-10 09:51:25 -0500 (Thu, 10 Mar 2011)
New Revision: 22136
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/resources/javascript/cheiron/XHRHalter.js
Log:
fixed XHRHalter
Modified: modules/tests/metamer/trunk/ftest-source/src/main/resources/javascript/cheiron/XHRHalter.js
===================================================================
--- modules/tests/metamer/trunk/ftest-source/src/main/resources/javascript/cheiron/XHRHalter.js 2011-03-10 14:49:25 UTC (rev 22135)
+++ modules/tests/metamer/trunk/ftest-source/src/main/resources/javascript/cheiron/XHRHalter.js 2011-03-10 14:51:25 UTC (rev 22136)
@@ -26,6 +26,7 @@
this.id = XHRHalter._instances.length - 1;
}
this.currentState = XHRHalter.STATE_OPEN;
+ this.lastAvailableState = XHRHalter.STATE_OPEN;
this.availableStates = new Array();
this.continueToState = XHRHalter.STATE_OPEN;
this.xhr = xhr;
@@ -108,14 +109,20 @@
};
XHRHalter.prototype.processState = function(state) {
+ if (this.currentState > 0 && this.availableStates[state] === undefined) {
+ return;
+ }
this.loadXhrParams(state);
switch (state) {
case XHRHalter.STATE_SEND :
XHRHalter.XHRWrapperInjection.send.call(this.xhr, this.sendParams['content']);
break;
+ case XHRHalter.STATE_UNITIALIZED :
+ break;
default :
this.callback(this.xhr);
}
+ this.loadXhrParams(this.lastAvailableState);
};
XHRHalter.prototype.loadXhrParams = function(state) {
@@ -130,6 +137,7 @@
};
XHRHalter.prototype.saveXhrParams = function() {
+ this.lastAvailableState = Math.max(this.lastAvailableState, this.xhr.readyState);
this.availableStates[this.xhr.readyState] = {};
var holder = this.availableStates[this.xhr.readyState];
holder.responseText = this.xhr.responseText;
@@ -151,7 +159,6 @@
if (XHRHalter.isEnabled()) {
var halter = XHRHalter._associations[this];
halter.saveXhrParams();
- halter.loadXhrParams(halter.currentState);
} else {
XHRHalter.XHRWrapperInjection.onreadystatechangeCallback.call(this);
}
13 years, 6 months
JBoss Rich Faces SVN: r22135 - in modules/tests/metamer/trunk/application/src/main: webapp/components/richInplaceSelect and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: ppitonak(a)redhat.com
Date: 2011-03-10 09:49:25 -0500 (Thu, 10 Mar 2011)
New Revision: 22135
Added:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/jsr303.xhtml
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInplaceSelectBean.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/list.xhtml
Log:
added validation samples for rich:inplaceSelect
Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInplaceSelectBean.java
===================================================================
--- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInplaceSelectBean.java 2011-03-10 14:49:06 UTC (rev 22134)
+++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInplaceSelectBean.java 2011-03-10 14:49:25 UTC (rev 22135)
@@ -30,6 +30,9 @@
import javax.faces.bean.ViewScoped;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
+import org.hibernate.validator.constraints.NotEmpty;
import org.richfaces.component.UIInplaceSelect;
import org.richfaces.tests.metamer.Attributes;
@@ -53,6 +56,11 @@
// FIXME: @ManagedProperty(value = "#{model.capitals}")
private List<Capital> capitals = Model.unmarshallCapitals();
private List<SelectItem> capitalsOptions = null;
+ private List<SelectItem> validationOptions = null;
+ private String value1;
+ private String value2;
+ private String value3;
+ private String value4;
/**
* Initializes the managed bean.
@@ -63,9 +71,15 @@
logger.debug("initializing bean " + getClass().getName());
capitalsOptions = new ArrayList<SelectItem>();
+ validationOptions = new ArrayList<SelectItem>();
for (Capital capital : capitals) {
capitalsOptions.add(new SelectItem(capital.getState(), capital.getState()));
+ validationOptions.add(new SelectItem(capital.getState(), capital.getState()));
}
+ validationOptions.add(new SelectItem("@@", "@@"));
+ validationOptions.add(new SelectItem("", ""));
+ validationOptions.add(new SelectItem("RichFaces", "RichFaces"));
+ validationOptions.add(new SelectItem("richfaces", "richfaces"));
attributes = Attributes.getComponentAttributesFromFacesConfig(UIInplaceSelect.class, getClass());
@@ -114,6 +128,49 @@
this.capitalsOptions = capitalsOptions;
}
+ public List<SelectItem> getValidationOptions() {
+ return validationOptions;
+ }
+
+ public void setValidationOptions(List<SelectItem> validationOptions) {
+ this.validationOptions = validationOptions;
+ }
+
+ @NotEmpty
+ public String getValue1() {
+ return value1;
+ }
+
+ public void setValue1(String value1) {
+ this.value1 = value1;
+ }
+
+ @Pattern(regexp = "[a-z].*")
+ public String getValue2() {
+ return value2;
+ }
+
+ public void setValue2(String value2) {
+ this.value2 = value2;
+ }
+
+ @Size(min = 3, max = 6)
+ public String getValue3() {
+ return value3;
+ }
+
+ public void setValue3(String value3) {
+ this.value3 = value3;
+ }
+
+ public String getValue4() {
+ return value4;
+ }
+
+ public void setValue4(String value4) {
+ this.value4 = value4;
+ }
+
public void listener(ValueChangeEvent event) {
RichBean.logToPage("* value changed: " + event.getOldValue() + " -> " + event.getNewValue());
}
Added: modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/csv.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/csv.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/csv.xhtml 2011-03-10 14:49:25 UTC (rev 22135)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ not empty
+ <rich:inplaceSelect id="input1"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value1}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output1"/>
+ <rich:validator event="change"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:inplaceSelect id="input2"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value2}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output2"/>
+ <rich:validator event="change"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:inplaceSelect id="input3"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value3}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output3"/>
+ <rich:validator event="change"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:inplaceSelect id="input4"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value4}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <f:validator validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change" render="output4"/>
+ <rich:validator event="change"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInplaceSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInplaceSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInplaceSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4" value="#{richInplaceSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/jsr303.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/jsr303.xhtml (rev 0)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/jsr303.xhtml 2011-03-10 14:49:25 UTC (rev 22135)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton" style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton" value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ not empty
+ <rich:inplaceSelect id="input1"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value1}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output1"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:inplaceSelect id="input2"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value2}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output2"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:inplaceSelect id="input3"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value3}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <a4j:ajax event="change" render="output3"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:inplaceSelect id="input4"
+ defaultLabel="#{richInplaceSelectBean.attributes['defaultLabel'].value}"
+ value="#{richInplaceSelectBean.value4}"
+ >
+ <f:selectItems value="#{richInplaceSelectBean.validationOptions}" />
+ <f:validator validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change" render="output4"/>
+ </rich:inplaceSelect>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1" value="#{richInplaceSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2" value="#{richInplaceSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3" value="#{richInplaceSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4" value="#{richInplaceSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/list.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/list.xhtml 2011-03-10 14:49:06 UTC (rev 22134)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceSelect/list.xhtml 2011-03-10 14:49:25 UTC (rev 22135)
@@ -39,6 +39,14 @@
Simple page that contains <b>rich:inplaceSelect</b> with f:ajax and input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv" value="Client Side Validation">
+ Simple page that contains 4 <b>rich:inplaceSelect</b>s testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303" value="JSR-303 Bean Validation">
+ Page containing 4 <b>rich:inplaceSelect</b>s with various JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
13 years, 6 months
JBoss Rich Faces SVN: r22134 - modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2011-03-10 09:49:06 -0500 (Thu, 10 Mar 2011)
New Revision: 22134
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus/referencedUsage.xhtml
Log:
fixed status sample - @id needed for referencing from tests
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus/referencedUsage.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus/referencedUsage.xhtml 2011-03-10 14:48:45 UTC (rev 22133)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus/referencedUsage.xhtml 2011-03-10 14:49:06 UTC (rev 22134)
@@ -42,7 +42,7 @@
<h:panelGrid columns="2">
<h:commandButton id="button1" value="Named status 1" onclick="statusFunction1(); return false;" />
- <a4j:status name="status1">
+ <a4j:status id="status1" name="status1">
<f:facet name="start">
<h:outputText id="status1TextStart" style="font-size: large; color: red;" value="START" />
</f:facet>
@@ -57,7 +57,7 @@
</a4j:status>
<h:commandButton id="button2" value="Named status 2" onclick="statusFunction2(); return false;" />
- <a4j:status name="status2">
+ <a4j:status id="status2" name="status2">
<f:facet name="start">
<h:outputText id="status2TextStart" style="font-size: large; color: red;" value="START" />
</f:facet>
13 years, 6 months
JBoss Rich Faces SVN: r22133 - in modules/tests/metamer/trunk: ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richCalendar and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: ppitonak(a)redhat.com
Date: 2011-03-10 09:48:45 -0500 (Thu, 10 Mar 2011)
New Revision: 22133
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richCalendar/simple.xhtml
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richCalendar/TestRichCalendarAttributes.java
Log:
added attribute styleClass to calendar's sample
added 5 new tests for rich:calendar
Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richCalendar/simple.xhtml
===================================================================
--- modules/tests/metamer/trunk/application/src/main/webapp/components/richCalendar/simple.xhtml 2011-03-10 14:34:20 UTC (rev 22132)
+++ modules/tests/metamer/trunk/application/src/main/webapp/components/richCalendar/simple.xhtml 2011-03-10 14:48:45 UTC (rev 22133)
@@ -100,7 +100,6 @@
disabled="#{richCalendarBean.attributes['disabled'].value}"
enableManualInput="#{richCalendarBean.attributes['enableManualInput'].value}"
firstWeekDay="#{richCalendarBean.attributes['firstWeekDay'].value}"
- hidePopupOnScroll="#{richCalendarBean.attributes['hidePopupOnScroll'].value}"
horizontalOffset="#{richCalendarBean.attributes['horizontalOffset'].value}"
immediate="#{richCalendarBean.attributes['immediate'].value}"
inputClass="#{richCalendarBean.attributes['inputClass'].value}"
@@ -153,6 +152,7 @@
showWeekDaysBar="#{richCalendarBean.attributes['showWeekDaysBar'].value}"
showWeeksBar="#{richCalendarBean.attributes['showWeeksBar'].value}"
style="#{richCalendarBean.attributes['style'].value}"
+ styleClass="#{richCalendarBean.attributes['styleClass'].value}"
tabindex="#{richCalendarBean.attributes['tabindex'].value}"
timeZone="#{richCalendarBean.timeZone}"
todayControlMode="#{richCalendarBean.attributes['todayControlMode'].value}"
Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richCalendar/TestRichCalendarAttributes.java
===================================================================
--- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richCalendar/TestRichCalendarAttributes.java 2011-03-10 14:34:20 UTC (rev 22132)
+++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richCalendar/TestRichCalendarAttributes.java 2011-03-10 14:48:45 UTC (rev 22133)
@@ -35,6 +35,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
+import org.jboss.test.selenium.css.CssProperty;
import org.jboss.test.selenium.dom.Event;
import org.jboss.test.selenium.locator.Attribute;
@@ -265,7 +266,7 @@
for (int i = 2; i < 42; i += 7) {
if (!selenium.belongsClass(cellDay.format(i), "rf-cal-boundary-day")) {
assertTrue(selenium.belongsClass(cellDay.format(i), "yellowDay"), "Cell nr. " + i
- + " should be yellow.");
+ + " should be yellow.");
}
}
@@ -276,12 +277,12 @@
for (int i = 0; i < 42; i++) {
assertFalse(selenium.belongsClass(cellDay.format(i), "yellowDay"), "Cell nr. " + i
- + " should not be yellow.");
+ + " should not be yellow.");
}
}
@Test
- @RegressionTest({ "https://issues.jboss.org/browse/RF-9837", "https://issues.jboss.org/browse/RF-10085" })
+ @RegressionTest({"https://issues.jboss.org/browse/RF-9837", "https://issues.jboss.org/browse/RF-10085"})
public void testDefaultTime() {
selenium.type(pjq("input[type=text][id$=defaultTimeInput]"), "21:24");
selenium.waitForPageToLoad();
@@ -331,7 +332,7 @@
selenium.click(input);
- String[] labels = { "", "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri" };
+ String[] labels = {"", "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri"};
for (int i = 0; i < 8; i++) {
String label = selenium.getText(weekDayLabel.format(i));
@@ -379,7 +380,7 @@
selenium.click(input);
- String[] labels = { "", "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" };
+ String[] labels = {"", "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"};
for (int i = 0; i < 8; i++) {
String label = selenium.getText(weekDayLabel.format(i));
@@ -392,8 +393,7 @@
String selectedDate = null;
try {
- Date date = new SimpleDateFormat("d MMMM, yyyy hh:mm", new Locale("ru"))
- .parse(day + " " + month + " 12:00");
+ Date date = new SimpleDateFormat("d MMMM, yyyy hh:mm", new Locale("ru")).parse(day + " " + month + " 12:00");
selectedDate = new SimpleDateFormat("MMM d, yyyy hh:mm", new Locale("ru")).format(date);
} catch (ParseException ex) {
fail(ex.getMessage());
@@ -421,7 +421,7 @@
selenium.type(input, "Dec 23, 2010 19:27");
waitGui.failWith("Attribute oninputchange does not work correctly").until(
- new EventFiredCondition(new Event("inputchange")));
+ new EventFiredCondition(new Event("inputchange")));
}
@Test
@@ -659,6 +659,27 @@
}
@Test
+ @IssueTracking("https://issues.jboss.org/browse/RF-9655")
+ public void testStyle() {
+ testStyle(calendar, "style");
+ }
+
+ @Test
+ public void testStyleClass() {
+ testStyleClass(calendar, "styleClass");
+ }
+
+ @Test
+ public void testTabindexInput() {
+ testHtmlAttribute(input, "tabindex", "99");
+ }
+
+ @Test
+ public void testTabindexButton() {
+ testHtmlAttribute(image, "tabindex", "99");
+ }
+
+ @Test
public void testValueChangeListener() {
String time1Value = selenium.getText(time);
selenium.click(input);
@@ -674,13 +695,21 @@
assertEquals(listenerOutput, "* value changed: null -> " + selectedDate1);
}
+ @Test
+ public void testZindex() {
+ selenium.type(pjq("input[id$=zindexInput]"), "30");
+ selenium.waitForPageToLoad();
+
+ assertEquals(selenium.getStyle(popup, new CssProperty("z-index")), "30", "Z-index of the popup");
+ }
+
/**
* Checks that no date in the open month is selected.
*/
private void assertNoDateSelected() {
for (int i = 0; i < 42; i++) {
assertFalse(selenium.belongsClass(cellDay.format(i), "rf-cal-sel"), "Cell nr. " + i
- + " should not be selected.");
+ + " should not be selected.");
}
}
@@ -704,10 +733,10 @@
for (int i = lowerBoundary; i < upperBoundary; i++) {
if (exceptOfDate.equals(selenium.getText(cellDay.format(i)))) {
assertTrue(selenium.belongsClass(cellDay.format(i), "rf-cal-sel"), "Cell nr. " + i
- + " should not be selected.");
+ + " should not be selected.");
} else {
assertFalse(selenium.belongsClass(cellDay.format(i), "rf-cal-sel"), "Cell nr. " + i
- + " should not be selected.");
+ + " should not be selected.");
}
}
@@ -717,7 +746,7 @@
// check other 3 lines of cells
for (int i = lowerBoundary; i < upperBoundary; i++) {
assertFalse(selenium.belongsClass(cellDay.format(i), "rf-cal-sel"), "Cell nr. " + i
- + " should not be selected.");
+ + " should not be selected.");
}
}
}
13 years, 6 months
JBoss Rich Faces SVN: r22132 - in branches/4.0.X: examples/iteration-demo/src/main/java/org/richfaces/demo/model/tree and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2011-03-10 09:34:20 -0500 (Thu, 10 Mar 2011)
New Revision: 22132
Added:
branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tree/DataHolderTreeNodeImpl.java
Modified:
branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean.java
branches/4.0.X/examples/iteration-demo/src/main/webapp/tree.xhtml
branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTree.java
branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNodeDataModelImpl.java
branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/ClassicTreeNodeTuplesIterator.java
Log:
https://issues.jboss.org/browse/RF-9718
Reviewed by Ilya
Modified: branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean.java
===================================================================
--- branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean.java 2011-03-10 13:59:47 UTC (rev 22131)
+++ branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean.java 2011-03-10 14:34:20 UTC (rev 22132)
@@ -22,32 +22,39 @@
package org.richfaces.demo;
-import org.richfaces.component.AbstractTree;
-import org.richfaces.component.AbstractTreeNode;
-import org.richfaces.component.SwitchType;
-import org.richfaces.event.TreeSelectionChangeEvent;
-import org.richfaces.event.TreeSelectionChangeListener;
-import org.richfaces.event.TreeToggleEvent;
-import org.richfaces.event.TreeToggleListener;
-import org.richfaces.log.LogFactory;
-import org.richfaces.log.Logger;
+import java.io.Serializable;
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.IntegerConverter;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.event.FacesEvent;
import javax.swing.tree.TreeNode;
-import java.io.Serializable;
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
+import org.richfaces.component.AbstractTree;
+import org.richfaces.component.AbstractTreeNode;
+import org.richfaces.component.SwitchType;
+import org.richfaces.convert.SequenceRowKeyConverter;
+import org.richfaces.demo.model.tree.DataHolderTreeNodeImpl;
+import org.richfaces.event.TreeSelectionChangeEvent;
+import org.richfaces.event.TreeSelectionChangeListener;
+import org.richfaces.event.TreeToggleEvent;
+import org.richfaces.event.TreeToggleListener;
+import org.richfaces.log.LogFactory;
+import org.richfaces.log.Logger;
+import org.richfaces.model.SwingTreeNodeImpl;
+import org.richfaces.model.TreeNodeImpl;
+
/**
* @author Nick Belaevski
*
@@ -99,6 +106,8 @@
private static final Logger LOGGER = LogFactory.getLogger(TreeBean.class);
+ private static final Converter INTEGER_SEQUENCE_KEY_CONVERTER = new SequenceRowKeyConverter<Integer>(Integer.class, new IntegerConverter());
+
private List<TreeNode> rootNodes;
private List<TreeNode> lazyRootNodes;
@@ -118,6 +127,8 @@
private ToggleActionListenerImpl toggleActionListenerImpl = new ToggleActionListenerImpl();
private SelectionChangeActionListenerImpl selectionChangeActionListener;
+ private org.richfaces.model.TreeNode classicTreeNode;
+
private static Object staticGetNodeData() {
FacesContext facesContext = FacesContext.getCurrentInstance();
return facesContext.getApplication().evaluateExpressionGet(facesContext, "#{node}", Object.class);
@@ -146,6 +157,28 @@
return result;
}
+ private org.richfaces.model.TreeNode createClassicNode(TreeNode node) {
+ TreeNodeImpl result = new DataHolderTreeNodeImpl(node.isLeaf(), ((SwingTreeNodeImpl<?>) node).getData());
+
+ for (int i = 0; i < node.getChildCount(); i++) {
+ result.addChild(i, createClassicNode(node.getChildAt(i)));
+ }
+
+ return result;
+ }
+
+ private org.richfaces.model.TreeNode createRootClassicNode(List<TreeNode> nodes) {
+ TreeNodeImpl rootNode = new TreeNodeImpl();
+
+ int key = 0;
+
+ for (TreeNode node : nodes) {
+ rootNode.addChild(key++, createClassicNode(node));
+ }
+
+ return rootNode;
+ }
+
@PostConstruct
public void init() {
try {
@@ -153,6 +186,7 @@
parser.parse(TreeBean.class.getResource("plants.xml"));
rootNodes = parser.getRootNodes();
lazyRootNodes = createLazyNodes(rootNodes);
+ classicTreeNode = createRootClassicNode(rootNodes);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
@@ -166,6 +200,10 @@
return lazyRootNodes;
}
+ public org.richfaces.model.TreeNode getClassicTreeNode() {
+ return classicTreeNode;
+ }
+
public SwitchType[] getTypes() {
return SwitchType.values();
}
@@ -264,4 +302,9 @@
public void setSelectionChangeActionListener(SelectionChangeActionListenerImpl selectionChangeActionListener) {
this.selectionChangeActionListener = selectionChangeActionListener;
}
+
+ public Converter getIntegerSequenceKeyConveter() {
+ return INTEGER_SEQUENCE_KEY_CONVERTER;
+ }
+
}
Added: branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tree/DataHolderTreeNodeImpl.java
===================================================================
--- branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tree/DataHolderTreeNodeImpl.java (rev 0)
+++ branches/4.0.X/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tree/DataHolderTreeNodeImpl.java 2011-03-10 14:34:20 UTC (rev 22132)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2011, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.demo.model.tree;
+
+import org.richfaces.model.TreeNodeImpl;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class DataHolderTreeNodeImpl extends TreeNodeImpl {
+
+ private Object data;
+
+ public DataHolderTreeNodeImpl(boolean leaf, Object data) {
+ super(leaf);
+ this.data = data;
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ @Override
+ public String toString() {
+ return super.toString() + " >> " + data;
+ }
+}
Modified: branches/4.0.X/examples/iteration-demo/src/main/webapp/tree.xhtml
===================================================================
--- branches/4.0.X/examples/iteration-demo/src/main/webapp/tree.xhtml 2011-03-10 13:59:47 UTC (rev 22131)
+++ branches/4.0.X/examples/iteration-demo/src/main/webapp/tree.xhtml 2011-03-10 14:34:20 UTC (rev 22132)
@@ -131,6 +131,18 @@
</it:treeNode>
</it:tree>
+ org.richfaces.model.TreeNode support:
+ <it:tree value="#{treeBean.classicTreeNode}" var="node"
+ selectionType="#{treeBean.selectionType}" toggleType="#{treeBean.toggleType}"
+ rowKeyConverter="#{treeBean.integerSequenceKeyConveter}">
+ <it:treeNode>
+ #{node.data} -
+ <h:commandLink value="link" action="#{treeBean.clickNode}">
+ <f:ajax render=":messages" />
+ </h:commandLink>
+ </it:treeNode>
+ </it:tree>
+
<h:commandLink value="Re-render">
<f:ajax render=":form:tree" execute="@all" />
</h:commandLink>
Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTree.java
===================================================================
--- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTree.java 2011-03-10 13:59:47 UTC (rev 22131)
+++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTree.java 2011-03-10 14:34:20 UTC (rev 22132)
@@ -49,9 +49,9 @@
import org.ajax4jsf.model.DataComponentState;
import org.ajax4jsf.model.DataVisitor;
import org.ajax4jsf.model.ExtendedDataModel;
+import org.richfaces.application.FacesMessages;
import org.richfaces.application.MessageFactory;
import org.richfaces.application.ServiceTracker;
-import org.richfaces.application.FacesMessages;
import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.EventName;
import org.richfaces.cdk.annotations.JsfComponent;
@@ -66,6 +66,7 @@
import org.richfaces.event.TreeToggleEvent;
import org.richfaces.event.TreeToggleListener;
import org.richfaces.event.TreeToggleSource;
+import org.richfaces.model.ClassicTreeNodeDataModelImpl;
import org.richfaces.model.DeclarativeModelKey;
import org.richfaces.model.DeclarativeTreeDataModelImpl;
import org.richfaces.model.DeclarativeTreeModel;
@@ -73,6 +74,7 @@
import org.richfaces.model.TreeDataModel;
import org.richfaces.model.TreeDataModelTuple;
import org.richfaces.model.TreeDataVisitor;
+import org.richfaces.model.TreeNode;
import org.richfaces.renderkit.MetaComponentRenderer;
import com.google.common.base.Predicate;
@@ -473,9 +475,12 @@
Object value = getValue();
if (value == null) {
dataModel = new DeclarativeTreeDataModelImpl(this);
+ } else if (value instanceof TreeNode) {
+ dataModel = new ClassicTreeNodeDataModelImpl();
+ dataModel.setWrappedData(value);
} else {
dataModel = new SwingTreeNodeDataModelImpl();
- dataModel.setWrappedData(getValue());
+ dataModel.setWrappedData(value);
}
return dataModel;
Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNodeDataModelImpl.java
===================================================================
--- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNodeDataModelImpl.java 2011-03-10 13:59:47 UTC (rev 22131)
+++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNodeDataModelImpl.java 2011-03-10 14:34:20 UTC (rev 22132)
@@ -36,8 +36,6 @@
private static final Converter DEFAULT_CONVERTER = new StringSequenceRowKeyConverter();
- private TreeNode rootNode;
-
public boolean isLeaf() {
return getData().isLeaf();
}
@@ -53,12 +51,12 @@
@Override
public Object getWrappedData() {
- return rootNode;
+ return getRootNode();
}
@Override
public void setWrappedData(Object data) {
- this.rootNode = (TreeNode) data;
+ setRootNode((TreeNode) data);
}
public Converter getRowKeyConverter() {
Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/ClassicTreeNodeTuplesIterator.java
===================================================================
--- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/ClassicTreeNodeTuplesIterator.java 2011-03-10 13:59:47 UTC (rev 22131)
+++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/ClassicTreeNodeTuplesIterator.java 2011-03-10 14:34:20 UTC (rev 22132)
@@ -34,8 +34,6 @@
private TreeNode treeNode;
- private SequenceRowKey baseKey;
-
private Iterator<Object> childrenKeysIterator = null;
public ClassicTreeNodeTuplesIterator(TreeNode treeNode, SequenceRowKey baseKey) {
13 years, 6 months
JBoss Rich Faces SVN: r22131 - in branches/4.0.X/ui/input/ui/src: main/resources/META-INF/resources/org.richfaces and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2011-03-10 08:59:47 -0500 (Thu, 10 Mar 2011)
New Revision: 22131
Modified:
branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceInputRendererBase.java
branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceSelectRendererBase.java
branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss
branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.js
branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.ecss
branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js
branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml
branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml
branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceInputRendererTest.java
branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceSelectRendererTest.java
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestDefault.xmlunit.xml
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestEdit.xmlunit.xml
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestWithControls.xmlunit.xml
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestDefault.xmlunit.xml
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestEdit.xmlunit.xml
branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestWithControls.xmlunit.xml
Log:
https://jira.jboss.org/browse/RF-10698
Reviewed by Nick Belaevski
Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceInputRendererBase.java
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceInputRendererBase.java 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceInputRendererBase.java 2011-03-10 13:59:47 UTC (rev 22131)
@@ -130,7 +130,7 @@
break;
}
} else {
- style = getDisableStateCss(inplaceComponent);
+ style = concatClasses(style, getDisableStateCss(inplaceComponent));
}
return style;
}
@@ -142,27 +142,27 @@
public String getReadyStateCss(InplaceComponent component) {
String css = component.getReadyStateClass();
- return concatClasses("rf-ii-d-s", css);
+ return concatClasses("rf-ii", css);
}
public String getEditStateCss(InplaceComponent component) {
String css = component.getEditStateClass();
- return concatClasses("rf-ii-e-s", css);
+ return concatClasses("rf-ii-act", css);
}
public String getChangedStateCss(InplaceComponent component) {
String css = component.getChangedStateClass();
- return concatClasses("rf-ii-c-s", css);
+ return concatClasses("rf-ii-chng", css);
}
public String getDisableStateCss(InplaceComponent component) {
String css = component.getDisabledStateClass();
- return concatClasses("rf-ii-dis-s", css);
+ return concatClasses("rf-ii-dis", css);
}
public String getEditCss(InplaceComponent component) {
String css = component.getEditClass();
- return concatClasses("rf-ii-edit", css);
+ return concatClasses("rf-ii-fld-cntr", css);
}
public String getNoneCss(InplaceComponent component) {
Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceSelectRendererBase.java
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceSelectRendererBase.java 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/InplaceSelectRendererBase.java 2011-03-10 13:59:47 UTC (rev 22131)
@@ -117,27 +117,27 @@
public String getReadyStateCss(InplaceComponent component) {
String css = component.getReadyStateClass();
- return concatClasses("rf-is-d-s", css);
+ return concatClasses("rf-is", css);
}
public String getEditStateCss(InplaceComponent component) {
String css = component.getEditStateClass();
- return concatClasses("rf-is-e-s", css);
+ return concatClasses("rf-is-act", css);
}
public String getChangedStateCss(InplaceComponent component) {
String css = component.getChangedStateClass();
- return concatClasses("rf-is-c-s", css);
+ return concatClasses("rf-is-chng", css);
}
public String getDisableStateCss(InplaceComponent component) {
String css = component.getDisabledStateClass();
- return concatClasses("rf-is-dis-s", css);
+ return concatClasses("rf-is-dis", css);
}
public String getEditCss(InplaceComponent component) {
String css = component.getEditClass();
- return concatClasses("rf-is-edit", css);
+ return concatClasses("rf-is-fld-cntr", css);
}
public String getNoneCss(InplaceComponent component) {
Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss 2011-03-10 13:59:47 UTC (rev 22131)
@@ -15,7 +15,7 @@
font-size : '#{richSkin.generalSizeFont}';
}
-.rf-ii-edit {
+.rf-ii-fld-cntr {
position : absolute;
top : 0px;
left : 0px;
@@ -23,7 +23,7 @@
width: 100%;
}
-.rf-ii-dis-s {
+.rf-ii-dis {
}
.rf-ii-lbl {
@@ -33,7 +33,7 @@
font-size : '#{richSkin.generalSizeFont}';
}
-.rf-ii-d-s {
+.rf-ii {
display : inline-block;
white-space : nowrap;
background-color : '#{richSkin.editorBackgroundColor}';
@@ -46,31 +46,16 @@
position : relative;
}
-.rf-ii-c-s {
+.rf-ii-chng {
display : inline-block;
background-image : url("#{resource['org.richfaces:mark_changed.gif']}");
background-position : top left;
background-repeat : no-repeat;
}
-.rf-ii-e-s {
+.rf-ii-act {
}
-.rf-ii-fld {
- background-color : '#{richSkin.editBackgroundColor}';
- border-bottom-width : 10px;
- border-bottom-style: solid;
- border-bottom-color: '#{richSkin.editBackgroundColor}';
- padding : 0px 0px 0px 0px;
- border : 0px;
- margin : 0px;
- width : 100%;
- height : 100%;
- color: '#{richSkin.generalTextColor}';
- font-family: '#{richSkin.generalFamilyFont}';
- font-size : '#{richSkin.generalSizeFont}';
-}
-
.rf-ii-strut {
width : 100px;
height : 1px;
Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.js
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.js 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.js 2011-03-10 13:59:47 UTC (rev 22131)
@@ -30,9 +30,9 @@
saveOnBlur: true,
showControl: true,
noneCss: "rf-ii-none",
- readyCss: "rf-ii-d-s",
- editCss: "rf-ii-e-s",
- changedCss: "rf-ii-c-s"
+ readyCss: "rf-ii",
+ editCss: "rf-ii-act",
+ changedCss: "rf-ii-chng"
};
$.extend(rf.ui.InplaceInput.prototype, ( function () {
Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.ecss
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.ecss 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.ecss 2011-03-10 13:59:47 UTC (rev 22131)
@@ -26,10 +26,10 @@
clip: rect(0px, 0px, 1px, 1px);
}
-.rf-is-dis-s {
+.rf-is-dis {
}
-.rf-is-edit {
+.rf-is-fld-cntr {
position : absolute;
top : 0px;
left : 0px;
@@ -40,7 +40,7 @@
.rf-is-fnt {
}
-.rf-is-d-s {
+.rf-is {
display : inline-block;
position : relative;
white-space : nowrap;
@@ -52,27 +52,16 @@
padding-right : 3px;
}
-.rf-is-c-s {
+.rf-is-chng {
display : inline-block;
background-image : "url(#{resource['org.richfaces:mark_changed.gif']})";
background-position : top left;
background-repeat : no-repeat;
}
-.rf-is-e-s {
+.rf-is-act {
}
-.rf-is-fld {
- background-color : '#{richSkin.editBackgroundColor}';
- padding : 0px 0px 0px 0px;
- border : 0px;
- margin : 0px;
- width : 112px;
- background-image: "url(#{resource['org.richfaces:mark_list.gif']})";
- background-position : center right;
- background-repeat : no-repeat;
-}
-
.rf-is-btn {
background-image : url("#{resource['org.richfaces.images:inplaceBtnGrad.png']}");
background-position : top;
Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js 2011-03-10 13:59:47 UTC (rev 22131)
@@ -35,8 +35,8 @@
selectItemCss: "rf-is-sel",
listCss: "rf-is-lst-cord",
noneCss: "rf-is-none",
- editCss: "rf-is-edit",
- changedCss: "rf-is-c-s"
+ editCss: "rf-is-fld-cntr",
+ changedCss: "rf-is-chng"
};
$.extend(rf.ui.InplaceSelect.prototype, (function () {
Modified: branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -85,10 +85,10 @@
</span>
<script type="text/javascript">
<cdk:scriptObject name="options">
- <cdk:scriptOption name="readyCss" value="#{concatClasses('rf-ii-d-s', component.attributes['readyStateClass'])}"/>
+ <cdk:scriptOption name="readyCss" value="#{concatClasses('rf-ii', component.attributes['readyStateClass'])}"/>
<cdk:scriptOption name="noneCss" value="#{concatClasses('rf-ii-none', component.attributes['noneStateClass'])}"/>
- <cdk:scriptOption name="changedCss" value="#{concatClasses('rf-ii-c-s', component.attributes['changedStateClass'])}"/>
- <cdk:scriptOption name="editCss" value="#{concatClasses('rf-ii-e-s', component.attributes['editStateClass'])}"/>
+ <cdk:scriptOption name="changedCss" value="#{concatClasses('rf-ii-chng', component.attributes['changedStateClass'])}"/>
+ <cdk:scriptOption name="editCss" value="#{concatClasses('rf-ii-act', component.attributes['editStateClass'])}"/>
<cdk:scriptOption name="editEvent" value="#{getEditEvent(component)}"/>
<cdk:scriptOption name="defaultLabel" value="#{defaultLabel}" />
<cdk:scriptOption attributes="state saveOnBlur showControls" />
Modified: branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -103,8 +103,8 @@
<cdk:scriptObject name="options">
<cdk:scriptOption name="items" value="#{clientSelectItems}" />
<cdk:scriptOption name="noneCss" value="#{concatClasses('rf-is-none', component.attributes['noneStateClass'])}"/>
- <cdk:scriptOption name="changedCss" value="#{concatClasses('rf-is-c-s', component.attributes['changedStateClass'])}"/>
- <cdk:scriptOption name="editCss" value="#{concatClasses('rf-is-e-s', component.attributes['editStateClass'])}"/>
+ <cdk:scriptOption name="changedCss" value="#{concatClasses('rf-is-chng', component.attributes['changedStateClass'])}"/>
+ <cdk:scriptOption name="editCss" value="#{concatClasses('rf-is-act', component.attributes['editStateClass'])}"/>
<cdk:scriptOption name="selectItemCss" value="#{concatClasses('rf-is-sel', component.attributes['selectItemClass'])}"/>
<cdk:scriptOption name="editEvent" value="#{getEditEvent(component)}"/>
<cdk:scriptOption name="defaultLabel" value="#{defaultLabel}" />
Modified: branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceInputRendererTest.java
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceInputRendererTest.java 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceInputRendererTest.java 2011-03-10 13:59:47 UTC (rev 22131)
@@ -43,7 +43,7 @@
DomText text = page.getFirstByXPath("//*[@id = '" + BASE_ID + "DefaultLabel']/text()");
assertEquals("Another Test String", text.getTextContent());
HtmlElement span = page.getFirstByXPath("//*[@id = '"+ BASE_ID + DEFAULT +"']");
- assertEquals("rf-ii-d-s rf-ii-c-s", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
+ assertEquals("rf-ii rf-ii-chng", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
}
@Test
@@ -62,7 +62,7 @@
HtmlElement span = page.getFirstByXPath("//*[@id = '"+ withControlsComponentId +"']");
assertNotNull(span);
- assertEquals("rf-ii-d-s", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
+ assertEquals("rf-ii", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
edit(page, withControlsComponentId, "Another Test String");
@@ -76,7 +76,7 @@
span = page.getFirstByXPath("//*[@id = '"+ withControlsComponentId +"']");
assertNotNull(span);
- assertEquals("rf-ii-d-s rf-ii-c-s", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
+ assertEquals("rf-ii rf-ii-chng", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
edit(page, withControlsComponentId, "Test String");
@@ -93,7 +93,7 @@
span.click();
HtmlElement edit = page.getFirstByXPath("//*[@id = '" + inplaceInputId + "Edit']");
assertNotNull(edit);
- assertEquals("rf-ii-edit", edit.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
+ assertEquals("rf-ii-fld-cntr", edit.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
typeNewValue(page, inplaceInputId, value);
}
Modified: branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceSelectRendererTest.java
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceSelectRendererTest.java 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/InplaceSelectRendererTest.java 2011-03-10 13:59:47 UTC (rev 22131)
@@ -66,7 +66,7 @@
HtmlElement edit = page.getFirstByXPath("//*[@id = '" + inplaceSelectId + "Edit']");
assertNotNull(edit);
- assertEquals("rf-is-edit", edit.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
+ assertEquals("rf-is-fld-cntr", edit.getAttribute(HtmlConstants.CLASS_ATTRIBUTE));
HtmlElement list = page.getFirstByXPath("//*[@id = '" + inplaceSelectId + "List']");
assertNotNull(list);
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestDefault.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestDefault.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestDefault.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,9 +1,9 @@
-<span class="rf-ii-d-s" id="form:inplaceInputDefault">
+<span class="rf-ii" id="form:inplaceInputDefault">
<span class="rf-ii-lbl rf-ii-dflt-lbl" id="form:inplaceInputDefaultLabel">Edit Text</span>
<input class="rf-ii-none" id="form:inplaceInputDefaultFocus"
style="position: absolute; top: 0px; left: 0px; outline-style: none;"
type="image" />
- <span class="rf-ii-edit rf-ii-none" id="form:inplaceInputDefaultEdit">
+ <span class="rf-ii-fld-cntr rf-ii-none" id="form:inplaceInputDefaultEdit">
<input autocomplete="off" class="rf-ii-fld" id="form:inplaceInputDefaultInput"
name="form:inplaceInputDefault" style="width: 100%;" type="text" />
</span>
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestEdit.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestEdit.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestEdit.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,9 +1,9 @@
-<span class="rf-ii-d-s rf-ii-e-s" id="form:inplaceInputEdit">
+<span class="rf-ii rf-ii-act" id="form:inplaceInputEdit">
<span class="rf-ii-lbl rf-ii-dflt-lbl" id="form:inplaceInputEditLabel">Edit Text</span>
<input class="rf-ii-none" id="form:inplaceInputEditFocus"
style="position: absolute; top: 0px; left: 0px; outline-style: none;"
type="image" />
- <span class="rf-ii-edit" id="form:inplaceInputEditEdit">
+ <span class="rf-ii-fld-cntr" id="form:inplaceInputEditEdit">
<input autocomplete="off" class="rf-ii-fld" id="form:inplaceInputEditInput"
name="form:inplaceInputEdit" style="width: 100%;" type="text" />
<span class="rf-ii-btn-prepos">
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestWithControls.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestWithControls.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInputTestWithControls.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,9 +1,9 @@
-<span class="rf-ii-d-s" id="form:inplaceInputWithControls">
+<span class="rf-ii" id="form:inplaceInputWithControls">
<span class="rf-ii-lbl rf-ii-dflt-lbl" id="form:inplaceInputWithControlsLabel">Edit Text</span>
<input class="rf-ii-none" id="form:inplaceInputWithControlsFocus"
style="position: absolute; top: 0px; left: 0px; outline-style: none;"
type="image" />
- <span class="rf-ii-edit rf-ii-none" id="form:inplaceInputWithControlsEdit">
+ <span class="rf-ii-fld-cntr rf-ii-none" id="form:inplaceInputWithControlsEdit">
<input autocomplete="off" class="rf-ii-fld"
id="form:inplaceInputWithControlsInput" name="form:inplaceInputWithControls"
style="width: 100%;" type="text" />
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestDefault.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestDefault.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestDefault.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,7 +1,7 @@
-<span class="rf-is-d-s" id="form:inplaceSelectDefault">
+<span class="rf-is" id="form:inplaceSelectDefault">
<span class="rf-is-lbl rf-is-dflt-lbl" id="form:inplaceSelectDefaultLabel">Edit Text</span>
<input class="rf-is-none" id="form:inplaceSelectDefaultFocus" name="form:inplaceSelectDefaultFocus" style="position: absolute; top: 0px; left: 0px; outline-style: none;" type="image" />
- <span class="rf-is-edit rf-is-none" id="form:inplaceSelectDefaultEdit">
+ <span class="rf-is-fld-cntr rf-is-none" id="form:inplaceSelectDefaultEdit">
<input id="form:inplaceSelectDefaultselValue" name="form:inplaceSelectDefault" type="hidden" />
<input autocomplete="off" class="rf-is-fld" id="form:inplaceSelectDefaultInput" name="form:inplaceSelectDefaultInput" readonly="readonly" type="text" />
<span class="rf-is-lst-cord" id="form:inplaceSelectDefaultList" style="display: none">
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestEdit.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestEdit.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestEdit.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,7 +1,7 @@
-<span class="rf-is-d-s rf-is-e-s" id="form:inplaceSelectEdit">
+<span class="rf-is rf-is-act" id="form:inplaceSelectEdit">
<span class="rf-is-lbl rf-is-dflt-lbl" id="form:inplaceSelectEditLabel">Edit Text</span>
<input class="rf-is-none" id="form:inplaceSelectEditFocus" name="form:inplaceSelectEditFocus" style="position: absolute; top: 0px; left: 0px; outline-style: none;" type="image" />
- <span class="rf-is-edit" id="form:inplaceSelectEditEdit">
+ <span class="rf-is-fld-cntr" id="form:inplaceSelectEditEdit">
<input id="form:inplaceSelectEditselValue" name="form:inplaceSelectEdit" type="hidden" />
<input autocomplete="off" class="rf-is-fld" id="form:inplaceSelectEditInput" name="form:inplaceSelectEditInput" readonly="readonly" type="text" />
<span class="rf-is-btn-prepos">
Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestWithControls.xmlunit.xml
===================================================================
--- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestWithControls.xmlunit.xml 2011-03-10 12:58:46 UTC (rev 22130)
+++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSelectTestWithControls.xmlunit.xml 2011-03-10 13:59:47 UTC (rev 22131)
@@ -1,7 +1,7 @@
-<span class="rf-is-d-s" id="form:inplaceSelectWithControls">
+<span class="rf-is" id="form:inplaceSelectWithControls">
<span class="rf-is-lbl rf-is-dflt-lbl" id="form:inplaceSelectWithControlsLabel">Edit Text</span>
<input class="rf-is-none" id="form:inplaceSelectWithControlsFocus" name="form:inplaceSelectWithControlsFocus" style="position: absolute; top: 0px; left: 0px; outline-style: none;" type="image" />
- <span class="rf-is-edit rf-is-none" id="form:inplaceSelectWithControlsEdit">
+ <span class="rf-is-fld-cntr rf-is-none" id="form:inplaceSelectWithControlsEdit">
<input id="form:inplaceSelectWithControlsselValue" name="form:inplaceSelectWithControls" type="hidden" />
<input autocomplete="off" class="rf-is-fld" id="form:inplaceSelectWithControlsInput" name="form:inplaceSelectWithControlsInput" readonly="readonly" type="text" />
<span class="rf-is-btn-prepos">
13 years, 6 months
JBoss Rich Faces SVN: r22130 - branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2011-03-10 07:58:46 -0500 (Thu, 10 Mar 2011)
New Revision: 22130
Modified:
branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js
Log:
RF-10640: shadow of popupPanel is fixed. Verified by Anton Belevich.
Modified: branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js
===================================================================
--- branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js 2011-03-10 09:36:12 UTC (rev 22129)
+++ branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js 2011-03-10 12:58:46 UTC (rev 22130)
@@ -311,7 +311,7 @@
options.height = this.maxHeight;
}
$(richfaces.getDomElement(eContentElt)).css('height', options.height + (/px/.test(options.height) ? '' : 'px'));
- var headerHeight = $(richfaces.getDomElement(this.markerId + "_header"))[0] ? $(richfaces.getDomElement(this.markerId + "_header"))[0].clientHeight : 0;
+ var headerHeight = $(richfaces.getDomElement(this.markerId + "_header")) ? $(richfaces.getDomElement(this.markerId + "_header")).innerHeight() : 0;
this.scrollerDiv.css('height', options.height - headerHeight + (/px/.test(options.height) ? '' : 'px'));
}
13 years, 6 months