Author: nbelaevski
Date: 2010-10-27 12:28:07 -0400 (Wed, 27 Oct 2010)
New Revision: 19704
Added:
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputBean.java
branches/RF-7817/examples/input-demo/src/main/webapp/examples/
branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/resources/
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/templates/
branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ProgressBarBean.java
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/SkinBean.java
branches/RF-7817/examples/output-demo/src/main/webapp/examples/panel.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/examples/progressbar.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/examples/tabPanel.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tab.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tabPanel.xhtml
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-accordion-item-qunit.js
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-panel-qunit.js
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-qunit.js
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml
Removed:
branches/RF-7817/examples/input-demo/src/main/webapp/autocomplete.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/inplaceInput.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js
branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/jdoconfig.xml
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/persistence.xml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml
Modified:
branches/RF-7817/examples/input-demo/pom.xml
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/AutoCompleteBean.java
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java
branches/RF-7817/examples/input-demo/src/main/webapp/WEB-INF/faces-config.xml
branches/RF-7817/examples/input-demo/src/main/webapp/index.xhtml
branches/RF-7817/examples/iteration-demo/src/main/webapp/dataGrid.xhtml
branches/RF-7817/examples/output-demo/pom.xml
branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml
branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/web.xml
branches/RF-7817/examples/output-demo/src/main/webapp/templates/template.xhtml
branches/RF-7817/examples/parent/pom.xml
branches/RF-7817/examples/richfaces-showcase/pom.xml
branches/RF-7817/examples/richfaces-showcase/readme.txt
branches/RF-7817/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
Log:
Merged revisions
19156-19157,19159-19160,19176,19186-19187,19190,19194,19196,19199,19203-19204,19231-19234,19248-19249,19255-19256,19258-19262,19276,19279-19281,19283,19285,19291-19299,19307,19312,19315,19318-19319,19325,19341-19342,19345-19351,19353-19355,19358-19359,19364,19367-19369,19371,19374-19377,19379-19385,19387,19393-19394,19400,19402-19404,19418-19422,19426,19430-19431,19434-19441,19443-19444,19446,19468,19470,19477,19491,19498-19499,19501,19504,19506-19507,19517-19519,19525,19542-19543,19548,19550,19555,19557,19560-19561,19565-19566,19571-19573,19582-19585,19592-19593,19599,19601-19602,19613,19646,19657-19659,19665,19671-19674
via svnmerge from
https://svn.jboss.org/repos/richfaces/trunk
Modified: branches/RF-7817/examples/input-demo/pom.xml
===================================================================
--- branches/RF-7817/examples/input-demo/pom.xml 2010-10-27 16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/input-demo/pom.xml 2010-10-27 16:28:07 UTC (rev 19704)
@@ -17,7 +17,7 @@
<packaging>war</packaging>
<build>
- <finalName>${artifactId}-${project.version}</finalName>
+ <finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
Modified:
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/AutoCompleteBean.java
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/AutoCompleteBean.java 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/AutoCompleteBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -64,6 +64,17 @@
}
}
+ private String value;
+
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
private String mode = "lazyClient";
public String getMode() {
Copied:
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputBean.java (from
rev 19674, trunk/examples/input-demo/src/main/java/org/richfaces/demo/InputBean.java)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputBean.java
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,20 @@
+package org.richfaces.demo;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+
+@SessionScoped
+@ManagedBean(name = "inputBean")
+public class InputBean {
+
+ private String value;
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
Modified:
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -21,6 +21,8 @@
*/
package org.richfaces.demo;
+import java.util.Date;
+
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@@ -160,4 +162,8 @@
public int getInputSize() {
return inputSize;
}
+
+ public Date getDate() {
+ return new Date();
+ }
}
Modified: branches/RF-7817/examples/input-demo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/webapp/WEB-INF/faces-config.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/WEB-INF/faces-config.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -3,5 +3,36 @@
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
- version="2.0">
+ version="2.0">
+
+ <navigation-rule>
+ <!-- Examples -->
+ <navigation-case>
+ <from-outcome>inplaceInput</from-outcome>
+ <to-view-id>/examples/inplaceInput.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>inplaceSelect</from-outcome>
+ <to-view-id>/examples/inplaceSelect.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>inputNumberSlider</from-outcome>
+ <to-view-id>/examples/inputNumberSlider.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>inputNumberSpinner</from-outcome>
+ <to-view-id>/examples/inputNumberSpinner.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>autocomplete</from-outcome>
+ <to-view-id>/examples/autocomplete.xhtml</to-view-id>
+ </navigation-case>
+
+ <!-- QUnit -->
+ <navigation-case>
+ <from-outcome>qunit/autocomplete</from-outcome>
+ <to-view-id>/qunit/autocomplete-qunit.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+
</faces-config>
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/autocomplete.xhtml
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/autocomplete.xhtml 2010-10-27
16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/input-demo/src/main/webapp/autocomplete.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,65 +0,0 @@
-<!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:input="http://richfaces.org/input">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>Richfaces ComboBox</title>
-</h:head>
-
-<h:body style="margin: 30px;">
-
- <h:form id="form">
- <h:selectOneMenu value="#{autoCompleteBean.mode}"
onchange="submit()">
- <f:selectItem itemValue="lazyClient"/>
- <f:selectItem itemValue="client"/>
- <f:selectItem itemValue="cachedAjax"/>
- <f:selectItem itemValue="ajax"/>
- </h:selectOneMenu>
- <div style="height: 300px; width: 300px; overflow: auto;">Text
- block text block text block text block text block text block text
- block text block
-
- <input:autocomplete clientFilter="if(subString.length>1)
if(value.indexOf(subString)!=-1) return true;"
mode="#{autoCompleteBean.mode}" minChars="2"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
fetchValue="#{country.name}" showButton="true">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete>
-
- <br />
- <select style="width: 200px" name="select">
- <option>ccccc</option>
- </select> text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block
- </div>
- </h:form>
-</h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/examples (from rev 19674,
trunk/examples/input-demo/src/main/webapp/examples)
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,90 +0,0 @@
-<!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:input="http://richfaces.org/input"
-
xmlns:a4j="http://richfaces.org/a4j">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>Richfaces Autocomplete</title>
-</h:head>
-
-<h:body style="margin: 30px;">
-
-<ui:composition template="/templates/template.xhtml">
-
- <ui:define name="title">Autocomplete Example</ui:define>
- <ui:define name="body_head">Autocomplete Example</ui:define>
-
- <ui:define name="body">
-
- <h:form id="form">
- <h:selectOneMenu value="#{autoCompleteBean.mode}"
onchange="submit()">
- <f:selectItem itemValue="lazyClient"/>
- <f:selectItem itemValue="client"/>
- <f:selectItem itemValue="cachedAjax"/>
- <f:selectItem itemValue="ajax"/>
- </h:selectOneMenu><br/>
- <div style="height: 300px; width: 300px; overflow: auto;
float:left;">Text
- block text block text block text block text block text block text
- block text block
-
- <input:autocomplete autofill="false" id="myAutocomplete"
clientFilter="if(subString.length>1) if(value.indexOf(subString)!=-1) return
true;" mode="#{autoCompleteBean.mode}" minChars="2"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
fetchValue="#{country.name}" showButton="true"
- value = "#{autoCompleteBean.value}"
- onchange="return onEvent.call(this, event);" onselectitem="return
onEvent.call(this, event);" onblur="return onEvent.call(this, event);"
onfocus="return onEvent.call(this, event);">
- #{country.name} #{country.iso} #{country.domain}
- <a4j:ajax event="change" render="output"/>
- </input:autocomplete>
- <br/><br/>
- Your selection: <h:outputText id="output"
value="#{autoCompleteBean.value}"/>
- <script type="text/javascript">
- onEvent = function(event, element, data){
- RichFaces.log.info("jQuery Event: "+(event instanceof jQuery.Event)+";
event: "+event.type+"; data:"+(data ||
(event['rich']||{})['data'])+"; this.id:"+this.id+";
component:"+
(event['rich']||{})['component']||RichFaces.$(this.id));
- };
- RichFaces.Event.bindById("form:myAutocomplete", "selectitem change blur
focus", onEvent);
- </script>
- <br />
- <select style="width: 200px" name="select">
- <option>ccccc</option>
- </select> text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block text block text block text block text
- block text block text block
- </div>
- <div>
- <a4j:log mode="inline"></a4j:log>
- </div>
- </h:form>
-
- </ui:define>
-</ui:composition>
-
-</h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
(from rev 19674, trunk/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,90 @@
+<!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:input="http://richfaces.org/input"
+
xmlns:a4j="http://richfaces.org/a4j">
+<f:view contentType="text/html" />
+
+<h:head>
+ <title>Richfaces Autocomplete</title>
+</h:head>
+
+<h:body style="margin: 30px;">
+
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="title">Autocomplete Example</ui:define>
+ <ui:define name="body_head">Autocomplete Example</ui:define>
+
+ <ui:define name="body">
+
+ <h:form id="form">
+ <h:selectOneMenu value="#{autoCompleteBean.mode}"
onchange="submit()">
+ <f:selectItem itemValue="lazyClient"/>
+ <f:selectItem itemValue="client"/>
+ <f:selectItem itemValue="cachedAjax"/>
+ <f:selectItem itemValue="ajax"/>
+ </h:selectOneMenu><br/>
+ <div style="height: 300px; width: 300px; overflow: auto;
float:left;">Text
+ block text block text block text block text block text block text
+ block text block
+
+ <input:autocomplete autofill="false" id="myAutocomplete"
clientFilter="if(subString.length>1) if(value.indexOf(subString)!=-1) return
true;" mode="#{autoCompleteBean.mode}" minChars="2"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
fetchValue="#{country.name}" showButton="true"
+ value = "#{autoCompleteBean.value}"
+ onchange="return onEvent.call(this, event);" onselectitem="return
onEvent.call(this, event);" onblur="return onEvent.call(this, event);"
onfocus="return onEvent.call(this, event);">
+ #{country.name} #{country.iso} #{country.domain}
+ <a4j:ajax event="change" render="output"/>
+ </input:autocomplete>
+ <br/><br/>
+ Your selection: <h:outputText id="output"
value="#{autoCompleteBean.value}"/>
+ <script type="text/javascript">
+ onEvent = function(event, element, data){
+ RichFaces.log.info("jQuery Event: "+(event instanceof jQuery.Event)+";
event: "+event.type+"; data:"+(data ||
(event['rich']||{})['data'])+"; this.id:"+this.id+";
component:"+
(event['rich']||{})['component']||RichFaces.$(this.id));
+ };
+ RichFaces.Event.bindById("form:myAutocomplete", "selectitem change blur
focus", onEvent);
+ </script>
+ <br />
+ <select style="width: 200px" name="select">
+ <option>ccccc</option>
+ </select> text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block text block text block text block text
+ block text block text block
+ </div>
+ <div>
+ <a4j:log mode="inline"></a4j:log>
+ </div>
+ </h:form>
+
+ </ui:define>
+</ui:composition>
+
+</h:body>
+</html>
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,20 +0,0 @@
-<!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:in="http://richfaces.org/input">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>InplaceInput</title>
-</h:head>
-
-<h:body>
- <h:form id="form">
- <in:inplaceInput showControls="true" value="New York">
- </in:inplaceInput>
- <h:commandButton value="submit"/>
- </h:form>
-</h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml
(from rev 19674, trunk/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,20 @@
+<!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:in="http://richfaces.org/input">
+<f:view contentType="text/html" />
+
+<h:head>
+ <title>InplaceInput</title>
+</h:head>
+
+<h:body>
+ <h:form id="form">
+ <in:inplaceInput showControls="true" value="New York">
+ </in:inplaceInput>
+ <h:commandButton value="submit"/>
+ </h:form>
+</h:body>
+</html>
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,35 +0,0 @@
-<!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:in="http://richfaces.org/input">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>InplaceSelect</title>
-</h:head>
-
-
-<h:body>
- <h:form id="form">
- <div id="scroll" style="width: 400px; height:200px;
overflow:auto;" >
- <fieldset>
- <legend>InplaceSelect Test App</legend>
- Fresh off his victory in the Florida primary, Sen. John McCain is poised to take
another big prize. Former
- <in:inplaceSelect defaultLabel="Edit Text"
value="#{inputBean.value}">
- <f:selectItem itemLabel="Label#1" itemValue="Value#1"/>
- <f:selectItem itemLabel="Label#2" itemValue="Value#2"/>
- <f:selectItem itemLabel="Label#3" itemValue="Value#3"/>
- <f:selectItem itemLabel="Label#4" itemValue="Value#4"/>
- </in:inplaceSelect>
- Mayor Rudy Giuliani plans to drop out and endorse McCain, two GOP sources said. That
would give McCain added momentum heading into a debate Wednesday and next week's Super
Tuesday contests
- </fieldset>
- <h:commandButton value="submit"></h:commandButton>
- </div>
- <h:panelGroup id="out">
- <h:outputText value="Entered Value: #{inputBean.value}"/>
- </h:panelGroup>
- </h:form>
-</h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml
(from rev 19674, trunk/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,35 @@
+<!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:in="http://richfaces.org/input">
+<f:view contentType="text/html" />
+
+<h:head>
+ <title>InplaceSelect</title>
+</h:head>
+
+
+<h:body>
+ <h:form id="form">
+ <div id="scroll" style="width: 400px; height:200px;
overflow:auto;" >
+ <fieldset>
+ <legend>InplaceSelect Test App</legend>
+ Fresh off his victory in the Florida primary, Sen. John McCain is poised to take
another big prize. Former
+ <in:inplaceSelect defaultLabel="Edit Text"
value="#{inputBean.value}">
+ <f:selectItem itemLabel="Label#1" itemValue="Value#1"/>
+ <f:selectItem itemLabel="Label#2" itemValue="Value#2"/>
+ <f:selectItem itemLabel="Label#3" itemValue="Value#3"/>
+ <f:selectItem itemLabel="Label#4" itemValue="Value#4"/>
+ </in:inplaceSelect>
+ Mayor Rudy Giuliani plans to drop out and endorse McCain, two GOP sources said. That
would give McCain added momentum heading into a debate Wednesday and next week's Super
Tuesday contests
+ </fieldset>
+ <h:commandButton value="submit"></h:commandButton>
+ </div>
+ <h:panelGroup id="out">
+ <h:outputText value="Entered Value: #{inputBean.value}"/>
+ </h:panelGroup>
+ </h:form>
+</h:body>
+</html>
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,121 +0,0 @@
-<?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:ins="http://richfaces.org/input">
-<!--
-JBoss, Home of Professional Open Source
-Copyright ${year}, 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.
--->
- <h:head>
- <title>Richfaces InputNumberSlider Demo</title>
- </h:head>
- <h:body>
- <h:form id="form">
- <h:outputText value="Skin: "/>
- <h:selectOneMenu value="#{skinBean.skin}"
onchange="submit();">
- <f:selectItems value="#{skinBean.skins}"/>
- </h:selectOneMenu>
- <br />
- <h:outputText value="Date: "/>
- <h:outputText id="date" value="#{inputNumberSliderBean.date}"
/>
- <br />
- <ins:inputNumberSlider id="ins"
value="#{inputNumberSliderBean.value}"
accesskey="#{inputNumberSliderBean.accesskey}"
delay="#{inputNumberSliderBean.delay}"
- disabled="#{inputNumberSliderBean.disabled}"
enableManualInput="#{inputNumberSliderBean.enableManualInput}"
- inputPosition="#{inputNumberSliderBean.inputPosition}"
inputSize="#{inputNumberSliderBean.inputSize}"
showArrows="#{inputNumberSliderBean.showArrows}"
- showBoundaryValues="#{inputNumberSliderBean.showBoundaryValues}"
showInput="#{inputNumberSliderBean.showInput}"
- showToolTip="#{inputNumberSliderBean.showToolTip}"
maxValue="#{inputNumberSliderBean.maxValue}"
minValue="#{inputNumberSliderBean.minValue}"
- step="#{inputNumberSliderBean.step}" >
- <f:ajax render="date" />
- </ins:inputNumberSlider>
- <br />
- <h:outputText value="Accesskey: "/>
- <h:inputText value="#{inputNumberSliderBean.accesskey}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="EnableManualInput: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.enableManualInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Disabled "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Delay: "/>
- <h:inputText value="#{inputNumberSliderBean.delay}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="InputPosition: "/>
- <h:selectOneMenu value="#{inputNumberSliderBean.inputPosition}">
- <f:selectItems value="#{inputNumberSliderBean.positionTypes}"/>
- <f:ajax render="ins"/>
- </h:selectOneMenu>
- <br />
- <h:outputText value="InputSize: "/>
- <h:inputText value="#{inputNumberSliderBean.inputSize}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MaxValue: "/>
- <h:inputText value="#{inputNumberSliderBean.maxValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MinValue: "/>
- <h:inputText value="#{inputNumberSliderBean.minValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="ShowArrows: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowBoundaryValues: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showBoundaryValues}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowInput: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowToolTip: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showToolTip}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Step: "/>
- <h:inputText value="#{inputNumberSliderBean.step}">
- <f:ajax render="ins"/>
- </h:inputText>
- </h:form>
- </h:body>
-</html>
Copied:
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
(from rev 19674,
trunk/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,121 @@
+<?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:ins="http://richfaces.org/input">
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, 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.
+-->
+ <h:head>
+ <title>Richfaces InputNumberSlider Demo</title>
+ </h:head>
+ <h:body>
+ <h:form id="form">
+ <h:outputText value="Skin: "/>
+ <h:selectOneMenu value="#{skinBean.skin}"
onchange="submit();">
+ <f:selectItems value="#{skinBean.skins}"/>
+ </h:selectOneMenu>
+ <br />
+ <h:outputText value="Date: "/>
+ <h:outputText id="date" value="#{inputNumberSliderBean.date}"
/>
+ <br />
+ <ins:inputNumberSlider id="ins"
value="#{inputNumberSliderBean.value}"
accesskey="#{inputNumberSliderBean.accesskey}"
delay="#{inputNumberSliderBean.delay}"
+ disabled="#{inputNumberSliderBean.disabled}"
enableManualInput="#{inputNumberSliderBean.enableManualInput}"
+ inputPosition="#{inputNumberSliderBean.inputPosition}"
inputSize="#{inputNumberSliderBean.inputSize}"
showArrows="#{inputNumberSliderBean.showArrows}"
+ showBoundaryValues="#{inputNumberSliderBean.showBoundaryValues}"
showInput="#{inputNumberSliderBean.showInput}"
+ showToolTip="#{inputNumberSliderBean.showToolTip}"
maxValue="#{inputNumberSliderBean.maxValue}"
minValue="#{inputNumberSliderBean.minValue}"
+ step="#{inputNumberSliderBean.step}" >
+ <f:ajax render="date" />
+ </ins:inputNumberSlider>
+ <br />
+ <h:outputText value="Accesskey: "/>
+ <h:inputText value="#{inputNumberSliderBean.accesskey}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="EnableManualInput: "/>
+ <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.enableManualInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Disabled "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Delay: "/>
+ <h:inputText value="#{inputNumberSliderBean.delay}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="InputPosition: "/>
+ <h:selectOneMenu value="#{inputNumberSliderBean.inputPosition}">
+ <f:selectItems value="#{inputNumberSliderBean.positionTypes}"/>
+ <f:ajax render="ins"/>
+ </h:selectOneMenu>
+ <br />
+ <h:outputText value="InputSize: "/>
+ <h:inputText value="#{inputNumberSliderBean.inputSize}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MaxValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.maxValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MinValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.minValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="ShowArrows: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowBoundaryValues: "/>
+ <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showBoundaryValues}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowInput: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowToolTip: "/>
+ <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showToolTip}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Step: "/>
+ <h:inputText value="#{inputNumberSliderBean.step}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ </h:form>
+ </h:body>
+</html>
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,98 +0,0 @@
-<?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:ins="http://richfaces.org/input">
-<!--
-JBoss, Home of Professional Open Source
-Copyright ${year}, 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.
--->
- <h:head>
- <title>Richfaces InputNumberSlider Demo</title>
- </h:head>
- <h:body>
- <h:form id="form">
- <h:outputText value="Skin: "/>
- <h:selectOneMenu value="#{skinBean.skin}"
onchange="submit();">
- <f:selectItems value="#{skinBean.skins}"/>
- </h:selectOneMenu>
- <br />
- <h:outputText value="Date: "/>
- <h:outputText id="date" value="#{inputNumberSliderBean.date}"
/>
- <br />
- <ins:inputNumberSpinner id="ins"
value="#{inputNumberSliderBean.value}"
accesskey="#{inputNumberSliderBean.accesskey}"
cycled="#{inputNumberSliderBean.showInput}"
- disableBrowserAutoComplete="#{inputNumberSliderBean.showArrows}"
disabled="#{inputNumberSliderBean.disabled}"
enableManualInput="#{inputNumberSliderBean.enableManualInput}"
- inputSize="#{inputNumberSliderBean.inputSize}"
maxValue="#{inputNumberSliderBean.maxValue}"
minValue="#{inputNumberSliderBean.minValue}"
- step="#{inputNumberSliderBean.step}">
- <f:ajax render="date" />
- </ins:inputNumberSpinner>
- <br />
- <h:outputText value="Accesskey: " />
- <h:inputText value="#{inputNumberSliderBean.accesskey}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="Cycled: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="DisableBrowserAutoComplete: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Disabled: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="EnableManualInput: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.enableManualInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="InputSize: "/>
- <h:inputText value="#{inputNumberSliderBean.inputSize}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MaxValue: "/>
- <h:inputText value="#{inputNumberSliderBean.maxValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MinValue: "/>
- <h:inputText value="#{inputNumberSliderBean.minValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="Step: "/>
- <h:inputText value="#{inputNumberSliderBean.step}">
- <f:ajax render="ins"/>
- </h:inputText>
- </h:form>
- </h:body>
-</html>
Copied:
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml
(from rev 19674,
trunk/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml)
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/examples/inputNumberSpinner.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,98 @@
+<?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:ins="http://richfaces.org/input">
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, 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.
+-->
+ <h:head>
+ <title>Richfaces InputNumberSlider Demo</title>
+ </h:head>
+ <h:body>
+ <h:form id="form">
+ <h:outputText value="Skin: "/>
+ <h:selectOneMenu value="#{skinBean.skin}"
onchange="submit();">
+ <f:selectItems value="#{skinBean.skins}"/>
+ </h:selectOneMenu>
+ <br />
+ <h:outputText value="Date: "/>
+ <h:outputText id="date" value="#{inputNumberSliderBean.date}"
/>
+ <br />
+ <ins:inputNumberSpinner id="ins"
value="#{inputNumberSliderBean.value}"
accesskey="#{inputNumberSliderBean.accesskey}"
cycled="#{inputNumberSliderBean.showInput}"
+ disableBrowserAutoComplete="#{inputNumberSliderBean.showArrows}"
disabled="#{inputNumberSliderBean.disabled}"
enableManualInput="#{inputNumberSliderBean.enableManualInput}"
+ inputSize="#{inputNumberSliderBean.inputSize}"
maxValue="#{inputNumberSliderBean.maxValue}"
minValue="#{inputNumberSliderBean.minValue}"
+ step="#{inputNumberSliderBean.step}">
+ <f:ajax render="date" />
+ </ins:inputNumberSpinner>
+ <br />
+ <h:outputText value="Accesskey: " />
+ <h:inputText value="#{inputNumberSliderBean.accesskey}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="Cycled: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="DisableBrowserAutoComplete: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Disabled: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="EnableManualInput: "/>
+ <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.enableManualInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="InputSize: "/>
+ <h:inputText value="#{inputNumberSliderBean.inputSize}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MaxValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.maxValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MinValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.minValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="Step: "/>
+ <h:inputText value="#{inputNumberSliderBean.step}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ </h:form>
+ </h:body>
+</html>
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/examples/select.xhtml 2010-10-26 17:10:27
UTC (rev 19674)
+++ branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,33 +0,0 @@
-<!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:in="http://richfaces.org/input">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>Select</title>
-</h:head>
-
-
-<h:body>
- <h:form id="form">
- <div id="scroll" style="width: 400px; height:100px;
overflow:auto;" >
- <fieldset>
- <legend>Select Test App</legend>
- <in:select defaultLabel="Select Value ..."
value="#{inputBean.value}">
- <f:selectItem itemLabel="Label#1" itemValue="Value#1"/>
- <f:selectItem itemLabel="Label#2" itemValue="Value#2"/>
- <f:selectItem itemLabel="Label#3" itemValue="Value#3"/>
- <f:selectItem itemLabel="Label#4" itemValue="Value#4"/>
- </in:select>
- </fieldset>
- <h:commandButton value="submit"></h:commandButton>
- </div>
- <h:panelGroup id="out">
- <h:outputText value="Selected Value: #{inputBean.value}"/>
- </h:panelGroup>
- </h:form>
-</h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml (from
rev 19674, trunk/examples/input-demo/src/main/webapp/examples/select.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml
(rev 0)
+++ branches/RF-7817/examples/input-demo/src/main/webapp/examples/select.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,33 @@
+<!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:in="http://richfaces.org/input">
+<f:view contentType="text/html" />
+
+<h:head>
+ <title>Select</title>
+</h:head>
+
+
+<h:body>
+ <h:form id="form">
+ <div id="scroll" style="width: 400px; height:100px;
overflow:auto;" >
+ <fieldset>
+ <legend>Select Test App</legend>
+ <in:select defaultLabel="Select Value ..."
value="#{inputBean.value}">
+ <f:selectItem itemLabel="Label#1" itemValue="Value#1"/>
+ <f:selectItem itemLabel="Label#2" itemValue="Value#2"/>
+ <f:selectItem itemLabel="Label#3" itemValue="Value#3"/>
+ <f:selectItem itemLabel="Label#4" itemValue="Value#4"/>
+ </in:select>
+ </fieldset>
+ <h:commandButton value="submit"></h:commandButton>
+ </div>
+ <h:panelGroup id="out">
+ <h:outputText value="Selected Value: #{inputBean.value}"/>
+ </h:panelGroup>
+ </h:form>
+</h:body>
+</html>
Modified: branches/RF-7817/examples/input-demo/src/main/webapp/index.xhtml
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/index.xhtml 2010-10-27 16:17:45
UTC (rev 19703)
+++ branches/RF-7817/examples/input-demo/src/main/webapp/index.xhtml 2010-10-27 16:28:07
UTC (rev 19704)
@@ -6,25 +6,14 @@
<h:head>
</h:head>
<h:body>
- <h4>Input Components Sample</h4>
- <ul>
- <li><h:link
outcome="inplaceInput">rich:inplaceInput</h:link></li>
- <li><h:link
outcome="inputNumberSlider">rich:inputNumberSlider</h:link></li>
- <li><h:link
outcome="autocomplete">rich:autocomplete</h:link></li>
- </ul>
+<ui:composition template="/templates/template.xhtml">
- <h:form>
- <h:panelGrid columns="3">
- <h:commandButton value="Classic">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="classic" />
- </h:commandButton>
- <h:commandButton value="BlueSky">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="blueSky" />
- </h:commandButton>
- <h:commandButton value="DeepMarine">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="deepMarine" />
- </h:commandButton>
- </h:panelGrid>
- </h:form>
+ <ui:define name="title">RichFaces Sample</ui:define>
+
+ <ui:define name="body">
+ </ui:define>
+
+ <div style="top: auto;"></div>
+</ui:composition>
</h:body>
</html>
\ No newline at end of file
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/inplaceInput.xhtml
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/inplaceInput.xhtml 2010-10-27
16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/input-demo/src/main/webapp/inplaceInput.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,19 +0,0 @@
-<!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:in="http://richfaces.org/input">
-<f:view contentType="text/html" />
-
-<h:head>
- <title>InplaceInput</title>
-</h:head>
-
-<h:body>
- <h:form id="form">
- <in:inplaceInput showControls="false" value="New York"/>
- <h:commandButton value="submit"/>
- </h:form>
-</h:body>
-</html>
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,116 +0,0 @@
-<?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:ins="http://richfaces.org/input">
-<!--
-JBoss, Home of Professional Open Source
-Copyright ${year}, 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.
--->
- <h:head>
- <title>Richfaces InputNumberSlider Demo</title>
- </h:head>
- <h:body>
- <h:form id="form">
- <h:outputText value="Skin: "/>
- <h:selectOneMenu value="#{skinBean.skin}"
onchange="submit();">
- <f:selectItems value="#{skinBean.skins}"/>
- </h:selectOneMenu>
- <br />
- <ins:inputNumberSlider id="ins"
value="#{inputNumberSliderBean.value}"
accesskey="#{inputNumberSliderBean.accesskey}"
delay="#{inputNumberSliderBean.delay}"
- disabled="#{inputNumberSliderBean.disabled}"
enableManualInput="#{inputNumberSliderBean.enableManualInput}"
- inputPosition="#{inputNumberSliderBean.inputPosition}"
inputSize="#{inputNumberSliderBean.inputSize}"
showArrows="#{inputNumberSliderBean.showArrows}"
- showBoundaryValues="#{inputNumberSliderBean.showBoundaryValues}"
showInput="#{inputNumberSliderBean.showInput}"
- showToolTip="#{inputNumberSliderBean.showToolTip}"
maxValue="#{inputNumberSliderBean.maxValue}"
minValue="#{inputNumberSliderBean.minValue}"
- step="#{inputNumberSliderBean.step}" />
- <br />
- <h:outputText value="Accesskey: "/>
- <h:inputText value="#{inputNumberSliderBean.accesskey}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="EnableManualInput: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.enableManualInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Disabled "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Delay: "/>
- <h:inputText value="#{inputNumberSliderBean.delay}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="InputPosition: "/>
- <h:selectOneMenu value="#{inputNumberSliderBean.inputPosition}">
- <f:selectItems value="#{inputNumberSliderBean.positionTypes}"/>
- <f:ajax render="ins"/>
- </h:selectOneMenu>
- <br />
- <h:outputText value="InputSize: "/>
- <h:inputText value="#{inputNumberSliderBean.inputSize}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MaxValue: "/>
- <h:inputText value="#{inputNumberSliderBean.maxValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="MinValue: "/>
- <h:inputText value="#{inputNumberSliderBean.minValue}">
- <f:ajax render="ins"/>
- </h:inputText>
- <br />
- <h:outputText value="ShowArrows: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowBoundaryValues: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showBoundaryValues}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowInput: "/>
- <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="ShowToolTip: "/>
- <h:selectBooleanCheckbox
value="#{inputNumberSliderBean.showToolTip}">
- <f:ajax render="ins"/>
- </h:selectBooleanCheckbox>
- <br />
- <h:outputText value="Step: "/>
- <h:inputText value="#{inputNumberSliderBean.step}">
- <f:ajax render="ins"/>
- </h:inputText>
- </h:form>
- </h:body>
-</html>
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/qunit (from rev 19674,
trunk/examples/input-demo/src/main/webapp/qunit)
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,64 +0,0 @@
-<!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:input="http://richfaces.org/input"
-
xmlns:a4j="http://richfaces.org/a4j">
-
-<f:view contentType="text/html" />
-
-<h:head>
- <title>Richfaces Autocomplete</title>
-</h:head>
-
-<h:body style="margin: 30px;">
-
-<ui:composition template="/templates/template.xhtml">
-
- <ui:define name="scripts">
- <h:outputScript name="qunit/qunit.js" />
- <h:outputScript name="qunit/richfaces-qunit.js" />
-
- <h:outputStylesheet name="qunit/qunit.css" />
- </ui:define>
-
- <ui:define name="title">Autocomplete qunit tests</ui:define>
- <ui:define name="body_head">Autocomplete qunit
tests</ui:define>
-
- <ui:define name="body">
- <p>Page</p>
-
- <h:form id="form">
- <input:autocomplete id="autocompleteDefault" value="a"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
- onchange="return onEvent.call(this, event);" onselectitem="return
onEvent.call(this, event);" onblur="return onEvent.call(this, event);"
onfocus="return onEvent.call(this, event);">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete><br />
- <input:autocomplete id="autocompleteDefault2"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
- onselectitem="return onEvent.call(this, event);" showButton="true"
mode="client">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete><br />
- <input:autocomplete id="autocompleteClientMode" mode="client"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete><br />
- <input:autocomplete id="autocompleteLazyClientMode"
mode="lazyClient" fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete><br />
- <input:autocomplete id="autocompleteAjaxMode" mode="ajax"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete><br />
- <input:autocomplete id="autocompleteCachedAjaxMode"
mode="cachedAjax" fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
- #{country.name} #{country.iso} #{country.domain}
- </input:autocomplete>
- </h:form>
-
- <p>Result</p>
- <div>
- <ol id="qunit-tests"></ol>
- </div>
- <h:outputScript name="tests/autocomplete-qunit.js" />
- </ui:define>
-</ui:composition>
-</h:body>
-</html>
-
Copied:
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml (from
rev 19674, trunk/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/qunit/autocomplete-qunit.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,64 @@
+<!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:input="http://richfaces.org/input"
+
xmlns:a4j="http://richfaces.org/a4j">
+
+<f:view contentType="text/html" />
+
+<h:head>
+ <title>Richfaces Autocomplete</title>
+</h:head>
+
+<h:body style="margin: 30px;">
+
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="scripts">
+ <h:outputScript name="qunit/qunit.js" />
+ <h:outputScript name="qunit/richfaces-qunit.js" />
+
+ <h:outputStylesheet name="qunit/qunit.css" />
+ </ui:define>
+
+ <ui:define name="title">Autocomplete qunit tests</ui:define>
+ <ui:define name="body_head">Autocomplete qunit
tests</ui:define>
+
+ <ui:define name="body">
+ <p>Page</p>
+
+ <h:form id="form">
+ <input:autocomplete id="autocompleteDefault" value="a"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
+ onchange="return onEvent.call(this, event);" onselectitem="return
onEvent.call(this, event);" onblur="return onEvent.call(this, event);"
onfocus="return onEvent.call(this, event);">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete><br />
+ <input:autocomplete id="autocompleteDefault2"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
+ onselectitem="return onEvent.call(this, event);" showButton="true"
mode="client">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete><br />
+ <input:autocomplete id="autocompleteClientMode" mode="client"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete><br />
+ <input:autocomplete id="autocompleteLazyClientMode"
mode="lazyClient" fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete><br />
+ <input:autocomplete id="autocompleteAjaxMode" mode="ajax"
fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete><br />
+ <input:autocomplete id="autocompleteCachedAjaxMode"
mode="cachedAjax" fetchValue="#{country.name}"
autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country"
showButton="true">
+ #{country.name} #{country.iso} #{country.domain}
+ </input:autocomplete>
+ </h:form>
+
+ <p>Result</p>
+ <div>
+ <ol id="qunit-tests"></ol>
+ </div>
+ <h:outputScript name="tests/autocomplete-qunit.js" />
+ </ui:define>
+</ui:composition>
+</h:body>
+</html>
+
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/resources (from rev 19674,
trunk/examples/input-demo/src/main/webapp/resources)
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit (from rev
19674, trunk/examples/input-demo/src/main/webapp/resources/qunit)
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css
===================================================================
--- trunk/examples/input-demo/src/main/webapp/resources/qunit/qunit.css 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,119 +0,0 @@
-
-ol#qunit-tests {
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- margin:0;
- padding:0;
- list-style-position:inside;
-
- font-size: smaller;
-}
-ol#qunit-tests li{
- padding:0.4em 0.5em 0.4em 2.5em;
- border-bottom:1px solid #fff;
- font-size:small;
- list-style-position:inside;
-}
-ol#qunit-tests li ol{
- box-shadow: inset 0px 2px 13px #999;
- -moz-box-shadow: inset 0px 2px 13px #999;
- -webkit-box-shadow: inset 0px 2px 13px #999;
- margin-top:0.5em;
- margin-left:0;
- padding:0.5em;
- background-color:#fff;
- border-radius:15px;
- -moz-border-radius: 15px;
- -webkit-border-radius: 15px;
-}
-ol#qunit-tests li li{
- border-bottom:none;
- margin:0.5em;
- background-color:#fff;
- list-style-position: inside;
- padding:0.4em 0.5em 0.4em 0.5em;
-}
-
-ol#qunit-tests li li.pass{
- border-left:26px solid #C6E746;
- background-color:#fff;
- color:#5E740B;
- }
-ol#qunit-tests li li.fail{
- border-left:26px solid #EE5757;
- background-color:#fff;
- color:#710909;
-}
-ol#qunit-tests li.pass{
- background-color:#D2E0E6;
- color:#528CE0;
-}
-ol#qunit-tests li.fail{
- background-color:#EE5757;
- color:#000;
-}
-ol#qunit-tests li strong {
- cursor:pointer;
-}
-h1#qunit-header{
- background-color:#0d3349;
- margin:0;
- padding:0.5em 0 0.5em 1em;
- color:#fff;
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- border-top-right-radius:15px;
- border-top-left-radius:15px;
- -moz-border-radius-topright:15px;
- -moz-border-radius-topleft:15px;
- -webkit-border-top-right-radius:15px;
- -webkit-border-top-left-radius:15px;
- text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px;
-}
-h2#qunit-banner{
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- height:5px;
- margin:0;
- padding:0;
-}
-h2#qunit-banner.qunit-pass{
- background-color:#C6E746;
-}
-h2#qunit-banner.qunit-fail, #qunit-testrunner-toolbar {
- background-color:#EE5757;
-}
-#qunit-testrunner-toolbar {
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- padding:0;
- /*width:80%;*/
- padding:0em 0 0.5em 2em;
- font-size: small;
-}
-h2#qunit-userAgent {
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- background-color:#2b81af;
- margin:0;
- padding:0;
- color:#fff;
- font-size: small;
- padding:0.5em 0 0.5em 2.5em;
- text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
-}
-p#qunit-testresult{
- font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
- margin:0;
- font-size: small;
- color:#2b81af;
- border-bottom-right-radius:15px;
- border-bottom-left-radius:15px;
- -moz-border-radius-bottomright:15px;
- -moz-border-radius-bottomleft:15px;
- -webkit-border-bottom-right-radius:15px;
- -webkit-border-bottom-left-radius:15px;
- background-color:#D2E0E6;
- padding:0.5em 0.5em 0.5em 2.5em;
-}
-strong b.fail{
- color:#710909;
- }
-strong b.pass{
- color:#5E740B;
- }
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css
(from rev 19674, trunk/examples/input-demo/src/main/webapp/resources/qunit/qunit.css)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.css 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,119 @@
+
+ol#qunit-tests {
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ margin:0;
+ padding:0;
+ list-style-position:inside;
+
+ font-size: smaller;
+}
+ol#qunit-tests li{
+ padding:0.4em 0.5em 0.4em 2.5em;
+ border-bottom:1px solid #fff;
+ font-size:small;
+ list-style-position:inside;
+}
+ol#qunit-tests li ol{
+ box-shadow: inset 0px 2px 13px #999;
+ -moz-box-shadow: inset 0px 2px 13px #999;
+ -webkit-box-shadow: inset 0px 2px 13px #999;
+ margin-top:0.5em;
+ margin-left:0;
+ padding:0.5em;
+ background-color:#fff;
+ border-radius:15px;
+ -moz-border-radius: 15px;
+ -webkit-border-radius: 15px;
+}
+ol#qunit-tests li li{
+ border-bottom:none;
+ margin:0.5em;
+ background-color:#fff;
+ list-style-position: inside;
+ padding:0.4em 0.5em 0.4em 0.5em;
+}
+
+ol#qunit-tests li li.pass{
+ border-left:26px solid #C6E746;
+ background-color:#fff;
+ color:#5E740B;
+ }
+ol#qunit-tests li li.fail{
+ border-left:26px solid #EE5757;
+ background-color:#fff;
+ color:#710909;
+}
+ol#qunit-tests li.pass{
+ background-color:#D2E0E6;
+ color:#528CE0;
+}
+ol#qunit-tests li.fail{
+ background-color:#EE5757;
+ color:#000;
+}
+ol#qunit-tests li strong {
+ cursor:pointer;
+}
+h1#qunit-header{
+ background-color:#0d3349;
+ margin:0;
+ padding:0.5em 0 0.5em 1em;
+ color:#fff;
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ border-top-right-radius:15px;
+ border-top-left-radius:15px;
+ -moz-border-radius-topright:15px;
+ -moz-border-radius-topleft:15px;
+ -webkit-border-top-right-radius:15px;
+ -webkit-border-top-left-radius:15px;
+ text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px;
+}
+h2#qunit-banner{
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ height:5px;
+ margin:0;
+ padding:0;
+}
+h2#qunit-banner.qunit-pass{
+ background-color:#C6E746;
+}
+h2#qunit-banner.qunit-fail, #qunit-testrunner-toolbar {
+ background-color:#EE5757;
+}
+#qunit-testrunner-toolbar {
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ padding:0;
+ /*width:80%;*/
+ padding:0em 0 0.5em 2em;
+ font-size: small;
+}
+h2#qunit-userAgent {
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ background-color:#2b81af;
+ margin:0;
+ padding:0;
+ color:#fff;
+ font-size: small;
+ padding:0.5em 0 0.5em 2.5em;
+ text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
+}
+p#qunit-testresult{
+ font-family:"Helvetica Neue Light", "HelveticaNeue-Light",
"Helvetica Neue", Calibri, Helvetica, Arial;
+ margin:0;
+ font-size: small;
+ color:#2b81af;
+ border-bottom-right-radius:15px;
+ border-bottom-left-radius:15px;
+ -moz-border-radius-bottomright:15px;
+ -moz-border-radius-bottomleft:15px;
+ -webkit-border-bottom-right-radius:15px;
+ -webkit-border-bottom-left-radius:15px;
+ background-color:#D2E0E6;
+ padding:0.5em 0.5em 0.5em 2.5em;
+}
+strong b.fail{
+ color:#710909;
+ }
+strong b.pass{
+ color:#5E740B;
+ }
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js
===================================================================
--- trunk/examples/input-demo/src/main/webapp/resources/qunit/qunit.js 2010-10-26 17:10:27
UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,1043 +0,0 @@
-/*
- * QUnit - A JavaScript Unit Testing Framework
- *
- *
http://docs.jquery.com/QUnit
- *
- * Copyright (c) 2009 John Resig, Jörn Zaefferer
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- */
-
-(function(window) {
-
-var QUnit = {
-
- // Initialize the configuration options
- init: function() {
- config = {
- stats: { all: 0, bad: 0 },
- moduleStats: { all: 0, bad: 0 },
- started: +new Date,
- blocking: false,
- autorun: false,
- assertions: [],
- filters: [],
- queue: []
- };
-
- var tests = id("qunit-tests"),
- banner = id("qunit-banner"),
- result = id("qunit-testresult");
-
- if ( tests ) {
- tests.innerHTML = "";
- }
-
- if ( banner ) {
- banner.className = "";
- }
-
- if ( result ) {
- result.parentNode.removeChild( result );
- }
- },
-
- // call on start of module test to prepend name to all tests
- module: function(name, testEnvironment) {
- config.currentModule = name;
-
- synchronize(function() {
- if ( config.currentModule ) {
- QUnit.moduleDone( config.currentModule, config.moduleStats.bad,
config.moduleStats.all );
- }
-
- config.currentModule = name;
- config.moduleTestEnvironment = testEnvironment;
- config.moduleStats = { all: 0, bad: 0 };
-
- QUnit.moduleStart( name, testEnvironment );
- });
- },
-
- asyncTest: function(testName, expected, callback) {
- if ( arguments.length === 2 ) {
- callback = expected;
- expected = 0;
- }
-
- QUnit.test(testName, expected, callback, true);
- },
-
- test: function(testName, expected, callback, async) {
- var name = testName, testEnvironment, testEnvironmentArg;
-
- if ( arguments.length === 2 ) {
- callback = expected;
- expected = null;
- }
- // is 2nd argument a testEnvironment?
- if ( expected && typeof expected === 'object') {
- testEnvironmentArg = expected;
- expected = null;
- }
-
- if ( config.currentModule ) {
- name = config.currentModule + " module: " + name;
- }
-
- if ( !validTest(name) ) {
- return;
- }
-
- synchronize(function() {
- QUnit.testStart( testName );
-
- testEnvironment = extend({
- setup: function() {},
- teardown: function() {}
- }, config.moduleTestEnvironment);
- if (testEnvironmentArg) {
- extend(testEnvironment,testEnvironmentArg);
- }
-
- // allow utility functions to access the current test environment
- QUnit.current_testEnvironment = testEnvironment;
-
- config.assertions = [];
- config.expected = expected;
-
- try {
- if ( !config.pollution ) {
- saveGlobal();
- }
-
- testEnvironment.setup.call(testEnvironment);
- } catch(e) {
- QUnit.ok( false, "Setup failed on " + name + ": " + e.message );
- }
-
- if ( async ) {
- QUnit.stop();
- }
-
- try {
- callback.call(testEnvironment);
- } catch(e) {
- fail("Test " + name + " died, exception and test follows", e,
callback);
- QUnit.ok( false, "Died on test #" + (config.assertions.length + 1) +
": " + e.message );
- // else next test will carry the responsibility
- saveGlobal();
-
- // Restart the tests if they're blocking
- if ( config.blocking ) {
- start();
- }
- }
- });
-
- synchronize(function() {
- try {
- checkPollution();
- testEnvironment.teardown.call(testEnvironment);
- } catch(e) {
- QUnit.ok( false, "Teardown failed on " + name + ": " + e.message
);
- }
-
- try {
- QUnit.reset();
- } catch(e) {
- fail("reset() failed, following Test " + name + ", exception and reset
fn follows", e, reset);
- }
-
- if ( config.expected && config.expected != config.assertions.length ) {
- QUnit.ok( false, "Expected " + config.expected + " assertions, but
" + config.assertions.length + " were run" );
- }
-
- var good = 0, bad = 0,
- tests = id("qunit-tests");
-
- config.stats.all += config.assertions.length;
- config.moduleStats.all += config.assertions.length;
-
- if ( tests ) {
- var ol = document.createElement("ol");
- ol.style.display = "none";
-
- for ( var i = 0; i < config.assertions.length; i++ ) {
- var assertion = config.assertions[i];
-
- var li = document.createElement("li");
- li.className = assertion.result ? "pass" : "fail";
- li.appendChild(document.createTextNode(assertion.message || "(no
message)"));
- ol.appendChild( li );
-
- if ( assertion.result ) {
- good++;
- } else {
- bad++;
- config.stats.bad++;
- config.moduleStats.bad++;
- }
- }
-
- var b = document.createElement("strong");
- b.innerHTML = name + " <b style='color:black;'>(<b
class='fail'>" + bad + "</b>, <b
class='pass'>" + good + "</b>, " +
config.assertions.length + ")</b>";
-
- addEvent(b, "click", function() {
- var next = b.nextSibling, display = next.style.display;
- next.style.display = display === "none" ? "block" :
"none";
- });
-
- addEvent(b, "dblclick", function(e) {
- var target = e && e.target ? e.target : window.event.srcElement;
- if ( target.nodeName.toLowerCase() === "strong" ) {
- var text = "", node = target.firstChild;
-
- while ( node.nodeType === 3 ) {
- text += node.nodeValue;
- node = node.nextSibling;
- }
-
- text = text.replace(/(^\s*|\s*$)/g, "");
-
- if ( window.location ) {
- window.location.href = window.location.href.match(/^(.+?)(\?.*)?$/)[1] +
"?" + encodeURIComponent(text);
- }
- }
- });
-
- var li = document.createElement("li");
- li.className = bad ? "fail" : "pass";
- li.appendChild( b );
- li.appendChild( ol );
- tests.appendChild( li );
-
- if ( bad ) {
- var toolbar = id("qunit-testrunner-toolbar");
- if ( toolbar ) {
- toolbar.style.display = "block";
- id("qunit-filter-pass").disabled = null;
- id("qunit-filter-missing").disabled = null;
- }
- }
-
- } else {
- for ( var i = 0; i < config.assertions.length; i++ ) {
- if ( !config.assertions[i].result ) {
- bad++;
- config.stats.bad++;
- config.moduleStats.bad++;
- }
- }
- }
-
- QUnit.testDone( testName, bad, config.assertions.length );
-
- if ( !window.setTimeout && !config.queue.length ) {
- done();
- }
- });
-
- if ( window.setTimeout && !config.doneTimer ) {
- config.doneTimer = window.setTimeout(function(){
- if ( !config.queue.length ) {
- done();
- } else {
- synchronize( done );
- }
- }, 13);
- }
- },
-
- /**
- * Specify the number of expected assertions to gurantee that failed test (no assertions
are run at all) don't slip through.
- */
- expect: function(asserts) {
- config.expected = asserts;
- },
-
- /**
- * Asserts true.
- * @example ok( "asdfasdf".length > 5, "There must be at least 5
chars" );
- */
- ok: function(a, msg) {
- QUnit.log(a, msg);
-
- config.assertions.push({
- result: !!a,
- message: msg
- });
- },
-
- /**
- * Checks that the first two arguments are equal, with an optional message.
- * Prints out both actual and expected values.
- *
- * Prefered to ok( actual == expected, message )
- *
- * @example equal( format("Received {0} bytes.", 2), "Received 2
bytes." );
- *
- * @param Object actual
- * @param Object expected
- * @param String message (optional)
- */
- equal: function(actual, expected, message) {
- push(expected == actual, actual, expected, message);
- },
-
- notEqual: function(actual, expected, message) {
- push(expected != actual, actual, expected, message);
- },
-
- deepEqual: function(a, b, message) {
- push(QUnit.equiv(a, b), a, b, message);
- },
-
- notDeepEqual: function(a, b, message) {
- push(!QUnit.equiv(a, b), a, b, message);
- },
-
- strictEqual: function(actual, expected, message) {
- push(expected === actual, actual, expected, message);
- },
-
- notStrictEqual: function(actual, expected, message) {
- push(expected !== actual, actual, expected, message);
- },
-
- start: function() {
- // A slight delay, to avoid any current callbacks
- if ( window.setTimeout ) {
- window.setTimeout(function() {
- if ( config.timeout ) {
- clearTimeout(config.timeout);
- }
-
- config.blocking = false;
- process();
- }, 13);
- } else {
- config.blocking = false;
- process();
- }
- },
-
- stop: function(timeout) {
- config.blocking = true;
-
- if ( timeout && window.setTimeout ) {
- config.timeout = window.setTimeout(function() {
- QUnit.ok( false, "Test timed out" );
- QUnit.start();
- }, timeout);
- }
- },
-
- /**
- * Resets the test setup. Useful for tests that modify the DOM.
- */
- reset: function() {
- if ( window.jQuery ) {
- jQuery("#main").html( config.fixture );
- jQuery.event.global = {};
- jQuery.ajaxSettings = extend({}, config.ajaxSettings);
- }
- },
-
- /**
- * Trigger an event on an element.
- *
- * @example triggerEvent( document.body, "click" );
- *
- * @param DOMElement elem
- * @param String type
- */
- triggerEvent: function( elem, type, event ) {
- if ( document.createEvent ) {
- event = document.createEvent("MouseEvents");
- event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
- 0, 0, 0, 0, 0, false, false, false, false, 0, null);
- elem.dispatchEvent( event );
-
- } else if ( elem.fireEvent ) {
- elem.fireEvent("on"+type);
- }
- },
-
- // Safe object type checking
- is: function( type, obj ) {
- return Object.prototype.toString.call( obj ) === "[object "+ type
+"]";
- },
-
- // Logging callbacks
- done: function(failures, total) {},
- log: function(result, message) {},
- testStart: function(name) {},
- testDone: function(name, failures, total) {},
- moduleStart: function(name, testEnvironment) {},
- moduleDone: function(name, failures, total) {}
-};
-
-// Backwards compatibility, deprecated
-QUnit.equals = QUnit.equal;
-QUnit.same = QUnit.deepEqual;
-
-// Maintain internal state
-var config = {
- // The queue of tests to run
- queue: [],
-
- // block until document ready
- blocking: true
-};
-
-// Load paramaters
-(function() {
- var location = window.location || { search: "", protocol: "file:"
},
- GETParams = location.search.slice(1).split('&');
-
- for ( var i = 0; i < GETParams.length; i++ ) {
- GETParams[i] = decodeURIComponent( GETParams[i] );
- if ( GETParams[i] === "noglobals" ) {
- GETParams.splice( i, 1 );
- i--;
- config.noglobals = true;
- } else if ( GETParams[i].search('=') > -1 ) {
- GETParams.splice( i, 1 );
- i--;
- }
- }
-
- // restrict modules/tests by get parameters
- config.filters = GETParams;
-
- // Figure out if we're running the tests from a server or not
- QUnit.isLocal = !!(location.protocol === 'file:');
-})();
-
-// Expose the API as global variables, unless an 'exports'
-// object exists, in that case we assume we're in CommonJS
-if ( typeof exports === "undefined" || typeof require === "undefined"
) {
- extend(window, QUnit);
- window.QUnit = QUnit;
-} else {
- extend(exports, QUnit);
- exports.QUnit = QUnit;
-}
-
-if ( typeof document === "undefined" || document.readyState ===
"complete" ) {
- config.autorun = true;
-}
-
-addEvent(window, "load", function() {
- // Initialize the config, saving the execution queue
- var oldconfig = extend({}, config);
- QUnit.init();
- extend(config, oldconfig);
-
- config.blocking = false;
-
- var userAgent = id("qunit-userAgent");
- if ( userAgent ) {
- userAgent.innerHTML = navigator.userAgent;
- }
-
- var toolbar = id("qunit-testrunner-toolbar");
- if ( toolbar ) {
- toolbar.style.display = "none";
-
- var filter = document.createElement("input");
- filter.type = "checkbox";
- filter.id = "qunit-filter-pass";
- filter.disabled = true;
- addEvent( filter, "click", function() {
- var li = document.getElementsByTagName("li");
- for ( var i = 0; i < li.length; i++ ) {
- if ( li[i].className.indexOf("pass") > -1 ) {
- li[i].style.display = filter.checked ? "none" : "";
- }
- }
- });
- toolbar.appendChild( filter );
-
- var label = document.createElement("label");
- label.setAttribute("for", "qunit-filter-pass");
- label.innerHTML = "Hide passed tests";
- toolbar.appendChild( label );
-
- var missing = document.createElement("input");
- missing.type = "checkbox";
- missing.id = "qunit-filter-missing";
- missing.disabled = true;
- addEvent( missing, "click", function() {
- var li = document.getElementsByTagName("li");
- for ( var i = 0; i < li.length; i++ ) {
- if ( li[i].className.indexOf("fail") > -1 &&
li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 )
{
- li[i].parentNode.parentNode.style.display = missing.checked ? "none" :
"block";
- }
- }
- });
- toolbar.appendChild( missing );
-
- label = document.createElement("label");
- label.setAttribute("for", "qunit-filter-missing");
- label.innerHTML = "Hide missing tests (untested code is broken code)";
- toolbar.appendChild( label );
- }
-
- var main = id('main');
- if ( main ) {
- config.fixture = main.innerHTML;
- }
-
- if ( window.jQuery ) {
- config.ajaxSettings = window.jQuery.ajaxSettings;
- }
-
- QUnit.start();
-});
-
-function done() {
- if ( config.doneTimer && window.clearTimeout ) {
- window.clearTimeout( config.doneTimer );
- config.doneTimer = null;
- }
-
- if ( config.queue.length ) {
- config.doneTimer = window.setTimeout(function(){
- if ( !config.queue.length ) {
- done();
- } else {
- synchronize( done );
- }
- }, 13);
-
- return;
- }
-
- config.autorun = true;
-
- // Log the last module results
- if ( config.currentModule ) {
- QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all
);
- }
-
- var banner = id("qunit-banner"),
- tests = id("qunit-tests"),
- html = ['Tests completed in ',
- +new Date - config.started, ' milliseconds.<br/>',
- '<span class="passed">', config.stats.all - config.stats.bad,
'</span> tests of <span class="total">', config.stats.all,
'</span> passed, <span class="failed">',
config.stats.bad,'</span> failed.'].join('');
-
- if ( banner ) {
- banner.className = (config.stats.bad ? "qunit-fail" :
"qunit-pass");
- }
-
- if ( tests ) {
- var result = id("qunit-testresult");
-
- if ( !result ) {
- result = document.createElement("p");
- result.id = "qunit-testresult";
- result.className = "result";
- tests.parentNode.insertBefore( result, tests.nextSibling );
- }
-
- result.innerHTML = html;
- }
-
- QUnit.done( config.stats.bad, config.stats.all );
-}
-
-function validTest( name ) {
- var i = config.filters.length,
- run = false;
-
- if ( !i ) {
- return true;
- }
-
- while ( i-- ) {
- var filter = config.filters[i],
- not = filter.charAt(0) == '!';
-
- if ( not ) {
- filter = filter.slice(1);
- }
-
- if ( name.indexOf(filter) !== -1 ) {
- return !not;
- }
-
- if ( not ) {
- run = true;
- }
- }
-
- return run;
-}
-
-function push(result, actual, expected, message) {
- message = message || (result ? "okay" : "failed");
- QUnit.ok( result, result ? message + ": " + expected : message + ",
expected: " + QUnit.jsDump.parse(expected) + " result: " +
QUnit.jsDump.parse(actual) );
-}
-
-function synchronize( callback ) {
- config.queue.push( callback );
-
- if ( config.autorun && !config.blocking ) {
- process();
- }
-}
-
-function process() {
- while ( config.queue.length && !config.blocking ) {
- config.queue.shift()();
- }
-}
-
-function saveGlobal() {
- config.pollution = [];
-
- if ( config.noglobals ) {
- for ( var key in window ) {
- config.pollution.push( key );
- }
- }
-}
-
-function checkPollution( name ) {
- var old = config.pollution;
- saveGlobal();
-
- var newGlobals = diff( old, config.pollution );
- if ( newGlobals.length > 0 ) {
- ok( false, "Introduced global variable(s): " + newGlobals.join(",
") );
- config.expected++;
- }
-
- var deletedGlobals = diff( config.pollution, old );
- if ( deletedGlobals.length > 0 ) {
- ok( false, "Deleted global variable(s): " + deletedGlobals.join(",
") );
- config.expected++;
- }
-}
-
-// returns a new Array with the elements that are in a but not in b
-function diff( a, b ) {
- var result = a.slice();
- for ( var i = 0; i < result.length; i++ ) {
- for ( var j = 0; j < b.length; j++ ) {
- if ( result[i] === b[j] ) {
- result.splice(i, 1);
- i--;
- break;
- }
- }
- }
- return result;
-}
-
-function fail(message, exception, callback) {
- if ( typeof console !== "undefined" && console.error &&
console.warn ) {
- console.error(message);
- console.error(exception);
- console.warn(callback.toString());
-
- } else if ( window.opera && opera.postError ) {
- opera.postError(message, exception, callback.toString);
- }
-}
-
-function extend(a, b) {
- for ( var prop in b ) {
- a[prop] = b[prop];
- }
-
- return a;
-}
-
-function addEvent(elem, type, fn) {
- if ( elem.addEventListener ) {
- elem.addEventListener( type, fn, false );
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, fn );
- } else {
- fn();
- }
-}
-
-function id(name) {
- return !!(typeof document !== "undefined" && document &&
document.getElementById) &&
- document.getElementById( name );
-}
-
-// Test for equality any JavaScript type.
-// Discussions and reference:
http://philrathe.com/articles/equiv
-// Test suites:
http://philrathe.com/tests/equiv
-// Author: Philippe Rathé <prathe(a)gmail.com>
-QUnit.equiv = function () {
-
- var innerEquiv; // the real equiv function
- var callers = []; // stack to decide between skip/abort functions
-
-
- // Determine what is o.
- function hoozit(o) {
- if (QUnit.is("String", o)) {
- return "string";
-
- } else if (QUnit.is("Boolean", o)) {
- return "boolean";
-
- } else if (QUnit.is("Number", o)) {
-
- if (isNaN(o)) {
- return "nan";
- } else {
- return "number";
- }
-
- } else if (typeof o === "undefined") {
- return "undefined";
-
- // consider: typeof null === object
- } else if (o === null) {
- return "null";
-
- // consider: typeof [] === object
- } else if (QUnit.is( "Array", o)) {
- return "array";
-
- // consider: typeof new Date() === object
- } else if (QUnit.is( "Date", o)) {
- return "date";
-
- // consider: /./ instanceof Object;
- // /./ instanceof RegExp;
- // typeof /./ === "function"; // => false in IE and Opera,
- // true in FF and Safari
- } else if (QUnit.is( "RegExp", o)) {
- return "regexp";
-
- } else if (typeof o === "object") {
- return "object";
-
- } else if (QUnit.is( "Function", o)) {
- return "function";
- } else {
- return undefined;
- }
- }
-
- // Call the o related callback with the given arguments.
- function bindCallbacks(o, callbacks, args) {
- var prop = hoozit(o);
- if (prop) {
- if (hoozit(callbacks[prop]) === "function") {
- return callbacks[prop].apply(callbacks, args);
- } else {
- return callbacks[prop]; // or undefined
- }
- }
- }
-
- var callbacks = function () {
-
- // for string, boolean, number and null
- function useStrictEquality(b, a) {
- if (b instanceof a.constructor || a instanceof b.constructor) {
- // to catch short annotaion VS 'new' annotation of a declaration
- // e.g. var i = 1;
- // var j = new Number(1);
- return a == b;
- } else {
- return a === b;
- }
- }
-
- return {
- "string": useStrictEquality,
- "boolean": useStrictEquality,
- "number": useStrictEquality,
- "null": useStrictEquality,
- "undefined": useStrictEquality,
-
- "nan": function (b) {
- return isNaN(b);
- },
-
- "date": function (b, a) {
- return hoozit(b) === "date" && a.valueOf() ===
b.valueOf();
- },
-
- "regexp": function (b, a) {
- return hoozit(b) === "regexp" &&
- a.source === b.source && // the regex itself
- a.global === b.global && // and its modifers (gmi) ...
- a.ignoreCase === b.ignoreCase &&
- a.multiline === b.multiline;
- },
-
- // - skip when the property is a method of an instance (OOP)
- // - abort otherwise,
- // initial === would have catch identical references anyway
- "function": function () {
- var caller = callers[callers.length - 1];
- return caller !== Object &&
- typeof caller !== "undefined";
- },
-
- "array": function (b, a) {
- var i;
- var len;
-
- // b could be an object literal here
- if ( ! (hoozit(b) === "array")) {
- return false;
- }
-
- len = a.length;
- if (len !== b.length) { // safe and faster
- return false;
- }
- for (i = 0; i < len; i++) {
- if ( ! innerEquiv(a[i], b[i])) {
- return false;
- }
- }
- return true;
- },
-
- "object": function (b, a) {
- var i;
- var eq = true; // unless we can proove it
- var aProperties = [], bProperties = []; // collection of strings
-
- // comparing constructors is more strict than using instanceof
- if ( a.constructor !== b.constructor) {
- return false;
- }
-
- // stack constructor before traversing properties
- callers.push(a.constructor);
-
- for (i in a) { // be strict: don't ensures hasOwnProperty and go
deep
-
- aProperties.push(i); // collect a's properties
-
- if ( ! innerEquiv(a[i], b[i])) {
- eq = false;
- break;
- }
- }
-
- callers.pop(); // unstack, we are done
-
- for (i in b) {
- bProperties.push(i); // collect b's properties
- }
-
- // Ensures identical properties name
- return eq && innerEquiv(aProperties.sort(), bProperties.sort());
- }
- };
- }();
-
- innerEquiv = function () { // can take multiple arguments
- var args = Array.prototype.slice.apply(arguments);
- if (args.length < 2) {
- return true; // end transition
- }
-
- return (function (a, b) {
- if (a === b) {
- return true; // catch the most you can
- } else if (a === null || b === null || typeof a === "undefined" ||
typeof b === "undefined" || hoozit(a) !== hoozit(b)) {
- return false; // don't lose time with error prone cases
- } else {
- return bindCallbacks(a, callbacks, [b, a]);
- }
-
- // apply transition with (1..n) arguments
- })(args[0], args[1]) && arguments.callee.apply(this, args.splice(1,
args.length -1));
- };
-
- return innerEquiv;
-
-}();
-
-/**
- * jsDump
- * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
http://flesler.blogspot.com
- * Licensed under BSD (
http://www.opensource.org/licenses/bsd-license.php)
- * Date: 5/15/2008
- * @projectDescription Advanced and extensible data dumping for Javascript.
- * @version 1.0.0
- * @author Ariel Flesler
- * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
- */
-QUnit.jsDump = (function() {
- function quote( str ) {
- return '"' + str.toString().replace(/"/g, '\\"') +
'"';
- };
- function literal( o ) {
- return o + '';
- };
- function join( pre, arr, post ) {
- var s = jsDump.separator(),
- base = jsDump.indent(),
- inner = jsDump.indent(1);
- if ( arr.join )
- arr = arr.join( ',' + s + inner );
- if ( !arr )
- return pre + post;
- return [ pre, inner + arr, base + post ].join(s);
- };
- function array( arr ) {
- var i = arr.length, ret = Array(i);
- this.up();
- while ( i-- )
- ret[i] = this.parse( arr[i] );
- this.down();
- return join( '[', ret, ']' );
- };
-
- var reName = /^function (\w+)/;
-
- var jsDump = {
- parse:function( obj, type ) { //type is used mostly internally, you can fix a
(custom)type in advance
- var parser = this.parsers[ type || this.typeOf(obj) ];
- type = typeof parser;
-
- return type == 'function' ? parser.call( this, obj ) :
- type == 'string' ? parser :
- this.parsers.error;
- },
- typeOf:function( obj ) {
- var type;
- if ( obj === null ) {
- type = "null";
- } else if (typeof obj === "undefined") {
- type = "undefined";
- } else if (QUnit.is("RegExp", obj)) {
- type = "regexp";
- } else if (QUnit.is("Date", obj)) {
- type = "date";
- } else if (QUnit.is("Function", obj)) {
- type = "function";
- } else if (QUnit.is("Array", obj)) {
- type = "array";
- } else if (QUnit.is("Window", obj) || QUnit.is("global", obj)) {
- type = "window";
- } else if (QUnit.is("HTMLDocument", obj)) {
- type = "document";
- } else if (QUnit.is("HTMLCollection", obj) || QUnit.is("NodeList",
obj)) {
- type = "nodelist";
- } else if (/^\[object HTML/.test(Object.prototype.toString.call( obj ))) {
- type = "node";
- } else {
- type = typeof obj;
- }
- return type;
- },
- separator:function() {
- return this.multiline ? this.HTML ? '<br />' : '\n' : this.HTML
? ' ' : ' ';
- },
- indent:function( extra ) {// extra can be a number, shortcut for
increasing-calling-decreasing
- if ( !this.multiline )
- return '';
- var chr = this.indentChar;
- if ( this.HTML )
- chr = chr.replace(/\t/g,' ').replace(/ /g,' ');
- return Array( this._depth_ + (extra||0) ).join(chr);
- },
- up:function( a ) {
- this._depth_ += a || 1;
- },
- down:function( a ) {
- this._depth_ -= a || 1;
- },
- setParser:function( name, parser ) {
- this.parsers[name] = parser;
- },
- // The next 3 are exposed so you can use them
- quote:quote,
- literal:literal,
- join:join,
- //
- _depth_: 1,
- // This is the list of parsers, to modify them, use jsDump.setParser
- parsers:{
- window: '[Window]',
- document: '[Document]',
- error:'[ERROR]', //when no parser is found, shouldn't happen
- unknown: '[Unknown]',
- 'null':'null',
- undefined:'undefined',
- 'function':function( fn ) {
- var ret = 'function',
- name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never
have name in IE
- if ( name )
- ret += ' ' + name;
- ret += '(';
-
- ret = [ ret, this.parse( fn, 'functionArgs' ),
'){'].join('');
- return join( ret, this.parse(fn,'functionCode'), '}' );
- },
- array: array,
- nodelist: array,
- arguments: array,
- object:function( map ) {
- var ret = [ ];
- this.up();
- for ( var key in map )
- ret.push( this.parse(key,'key') + ': ' + this.parse(map[key]) );
- this.down();
- return join( '{', ret, '}' );
- },
- node:function( node ) {
- var open = this.HTML ? '<' : '<',
- close = this.HTML ? '>' : '>';
-
- var tag = node.nodeName.toLowerCase(),
- ret = open + tag;
-
- for ( var a in this.DOMAttrs ) {
- var val = node[this.DOMAttrs[a]];
- if ( val )
- ret += ' ' + a + '=' + this.parse( val, 'attribute' );
- }
- return ret + close + open + '/' + tag + close;
- },
- functionArgs:function( fn ) {//function calls it internally, it's the arguments
part of the function
- var l = fn.length;
- if ( !l ) return '';
-
- var args = Array(l);
- while ( l-- )
- args[l] = String.fromCharCode(97+l);//97 is 'a'
- return ' ' + args.join(', ') + ' ';
- },
- key:quote, //object calls it internally, the key part of an item in a map
- functionCode:'[code]', //function calls it internally, it's the content of
the function
- attribute:quote, //node calls it internally, it's an html attribute value
- string:quote,
- date:quote,
- regexp:literal, //regex
- number:literal,
- 'boolean':literal
- },
- DOMAttrs:{//attributes to dump from nodes, name=>realName
- id:'id',
- name:'name',
- 'class':'className'
- },
- HTML:true,//if true, entities are escaped ( <, >, \t, space and \n )
- indentChar:' ',//indentation unit
- multiline:true //if true, items in a collection, are separated by a \n, else just a
space.
- };
-
- return jsDump;
-})();
-
-})(this);
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js
(from rev 19674, trunk/examples/input-demo/src/main/webapp/resources/qunit/qunit.js)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,1043 @@
+/*
+ * QUnit - A JavaScript Unit Testing Framework
+ *
+ *
http://docs.jquery.com/QUnit
+ *
+ * Copyright (c) 2009 John Resig, Jörn Zaefferer
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ */
+
+(function(window) {
+
+var QUnit = {
+
+ // Initialize the configuration options
+ init: function() {
+ config = {
+ stats: { all: 0, bad: 0 },
+ moduleStats: { all: 0, bad: 0 },
+ started: +new Date,
+ blocking: false,
+ autorun: false,
+ assertions: [],
+ filters: [],
+ queue: []
+ };
+
+ var tests = id("qunit-tests"),
+ banner = id("qunit-banner"),
+ result = id("qunit-testresult");
+
+ if ( tests ) {
+ tests.innerHTML = "";
+ }
+
+ if ( banner ) {
+ banner.className = "";
+ }
+
+ if ( result ) {
+ result.parentNode.removeChild( result );
+ }
+ },
+
+ // call on start of module test to prepend name to all tests
+ module: function(name, testEnvironment) {
+ config.currentModule = name;
+
+ synchronize(function() {
+ if ( config.currentModule ) {
+ QUnit.moduleDone( config.currentModule, config.moduleStats.bad,
config.moduleStats.all );
+ }
+
+ config.currentModule = name;
+ config.moduleTestEnvironment = testEnvironment;
+ config.moduleStats = { all: 0, bad: 0 };
+
+ QUnit.moduleStart( name, testEnvironment );
+ });
+ },
+
+ asyncTest: function(testName, expected, callback) {
+ if ( arguments.length === 2 ) {
+ callback = expected;
+ expected = 0;
+ }
+
+ QUnit.test(testName, expected, callback, true);
+ },
+
+ test: function(testName, expected, callback, async) {
+ var name = testName, testEnvironment, testEnvironmentArg;
+
+ if ( arguments.length === 2 ) {
+ callback = expected;
+ expected = null;
+ }
+ // is 2nd argument a testEnvironment?
+ if ( expected && typeof expected === 'object') {
+ testEnvironmentArg = expected;
+ expected = null;
+ }
+
+ if ( config.currentModule ) {
+ name = config.currentModule + " module: " + name;
+ }
+
+ if ( !validTest(name) ) {
+ return;
+ }
+
+ synchronize(function() {
+ QUnit.testStart( testName );
+
+ testEnvironment = extend({
+ setup: function() {},
+ teardown: function() {}
+ }, config.moduleTestEnvironment);
+ if (testEnvironmentArg) {
+ extend(testEnvironment,testEnvironmentArg);
+ }
+
+ // allow utility functions to access the current test environment
+ QUnit.current_testEnvironment = testEnvironment;
+
+ config.assertions = [];
+ config.expected = expected;
+
+ try {
+ if ( !config.pollution ) {
+ saveGlobal();
+ }
+
+ testEnvironment.setup.call(testEnvironment);
+ } catch(e) {
+ QUnit.ok( false, "Setup failed on " + name + ": " + e.message );
+ }
+
+ if ( async ) {
+ QUnit.stop();
+ }
+
+ try {
+ callback.call(testEnvironment);
+ } catch(e) {
+ fail("Test " + name + " died, exception and test follows", e,
callback);
+ QUnit.ok( false, "Died on test #" + (config.assertions.length + 1) +
": " + e.message );
+ // else next test will carry the responsibility
+ saveGlobal();
+
+ // Restart the tests if they're blocking
+ if ( config.blocking ) {
+ start();
+ }
+ }
+ });
+
+ synchronize(function() {
+ try {
+ checkPollution();
+ testEnvironment.teardown.call(testEnvironment);
+ } catch(e) {
+ QUnit.ok( false, "Teardown failed on " + name + ": " + e.message
);
+ }
+
+ try {
+ QUnit.reset();
+ } catch(e) {
+ fail("reset() failed, following Test " + name + ", exception and reset
fn follows", e, reset);
+ }
+
+ if ( config.expected && config.expected != config.assertions.length ) {
+ QUnit.ok( false, "Expected " + config.expected + " assertions, but
" + config.assertions.length + " were run" );
+ }
+
+ var good = 0, bad = 0,
+ tests = id("qunit-tests");
+
+ config.stats.all += config.assertions.length;
+ config.moduleStats.all += config.assertions.length;
+
+ if ( tests ) {
+ var ol = document.createElement("ol");
+ ol.style.display = "none";
+
+ for ( var i = 0; i < config.assertions.length; i++ ) {
+ var assertion = config.assertions[i];
+
+ var li = document.createElement("li");
+ li.className = assertion.result ? "pass" : "fail";
+ li.appendChild(document.createTextNode(assertion.message || "(no
message)"));
+ ol.appendChild( li );
+
+ if ( assertion.result ) {
+ good++;
+ } else {
+ bad++;
+ config.stats.bad++;
+ config.moduleStats.bad++;
+ }
+ }
+
+ var b = document.createElement("strong");
+ b.innerHTML = name + " <b style='color:black;'>(<b
class='fail'>" + bad + "</b>, <b
class='pass'>" + good + "</b>, " +
config.assertions.length + ")</b>";
+
+ addEvent(b, "click", function() {
+ var next = b.nextSibling, display = next.style.display;
+ next.style.display = display === "none" ? "block" :
"none";
+ });
+
+ addEvent(b, "dblclick", function(e) {
+ var target = e && e.target ? e.target : window.event.srcElement;
+ if ( target.nodeName.toLowerCase() === "strong" ) {
+ var text = "", node = target.firstChild;
+
+ while ( node.nodeType === 3 ) {
+ text += node.nodeValue;
+ node = node.nextSibling;
+ }
+
+ text = text.replace(/(^\s*|\s*$)/g, "");
+
+ if ( window.location ) {
+ window.location.href = window.location.href.match(/^(.+?)(\?.*)?$/)[1] +
"?" + encodeURIComponent(text);
+ }
+ }
+ });
+
+ var li = document.createElement("li");
+ li.className = bad ? "fail" : "pass";
+ li.appendChild( b );
+ li.appendChild( ol );
+ tests.appendChild( li );
+
+ if ( bad ) {
+ var toolbar = id("qunit-testrunner-toolbar");
+ if ( toolbar ) {
+ toolbar.style.display = "block";
+ id("qunit-filter-pass").disabled = null;
+ id("qunit-filter-missing").disabled = null;
+ }
+ }
+
+ } else {
+ for ( var i = 0; i < config.assertions.length; i++ ) {
+ if ( !config.assertions[i].result ) {
+ bad++;
+ config.stats.bad++;
+ config.moduleStats.bad++;
+ }
+ }
+ }
+
+ QUnit.testDone( testName, bad, config.assertions.length );
+
+ if ( !window.setTimeout && !config.queue.length ) {
+ done();
+ }
+ });
+
+ if ( window.setTimeout && !config.doneTimer ) {
+ config.doneTimer = window.setTimeout(function(){
+ if ( !config.queue.length ) {
+ done();
+ } else {
+ synchronize( done );
+ }
+ }, 13);
+ }
+ },
+
+ /**
+ * Specify the number of expected assertions to gurantee that failed test (no assertions
are run at all) don't slip through.
+ */
+ expect: function(asserts) {
+ config.expected = asserts;
+ },
+
+ /**
+ * Asserts true.
+ * @example ok( "asdfasdf".length > 5, "There must be at least 5
chars" );
+ */
+ ok: function(a, msg) {
+ QUnit.log(a, msg);
+
+ config.assertions.push({
+ result: !!a,
+ message: msg
+ });
+ },
+
+ /**
+ * Checks that the first two arguments are equal, with an optional message.
+ * Prints out both actual and expected values.
+ *
+ * Prefered to ok( actual == expected, message )
+ *
+ * @example equal( format("Received {0} bytes.", 2), "Received 2
bytes." );
+ *
+ * @param Object actual
+ * @param Object expected
+ * @param String message (optional)
+ */
+ equal: function(actual, expected, message) {
+ push(expected == actual, actual, expected, message);
+ },
+
+ notEqual: function(actual, expected, message) {
+ push(expected != actual, actual, expected, message);
+ },
+
+ deepEqual: function(a, b, message) {
+ push(QUnit.equiv(a, b), a, b, message);
+ },
+
+ notDeepEqual: function(a, b, message) {
+ push(!QUnit.equiv(a, b), a, b, message);
+ },
+
+ strictEqual: function(actual, expected, message) {
+ push(expected === actual, actual, expected, message);
+ },
+
+ notStrictEqual: function(actual, expected, message) {
+ push(expected !== actual, actual, expected, message);
+ },
+
+ start: function() {
+ // A slight delay, to avoid any current callbacks
+ if ( window.setTimeout ) {
+ window.setTimeout(function() {
+ if ( config.timeout ) {
+ clearTimeout(config.timeout);
+ }
+
+ config.blocking = false;
+ process();
+ }, 13);
+ } else {
+ config.blocking = false;
+ process();
+ }
+ },
+
+ stop: function(timeout) {
+ config.blocking = true;
+
+ if ( timeout && window.setTimeout ) {
+ config.timeout = window.setTimeout(function() {
+ QUnit.ok( false, "Test timed out" );
+ QUnit.start();
+ }, timeout);
+ }
+ },
+
+ /**
+ * Resets the test setup. Useful for tests that modify the DOM.
+ */
+ reset: function() {
+ if ( window.jQuery ) {
+ jQuery("#main").html( config.fixture );
+ jQuery.event.global = {};
+ jQuery.ajaxSettings = extend({}, config.ajaxSettings);
+ }
+ },
+
+ /**
+ * Trigger an event on an element.
+ *
+ * @example triggerEvent( document.body, "click" );
+ *
+ * @param DOMElement elem
+ * @param String type
+ */
+ triggerEvent: function( elem, type, event ) {
+ if ( document.createEvent ) {
+ event = document.createEvent("MouseEvents");
+ event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
+ 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ elem.dispatchEvent( event );
+
+ } else if ( elem.fireEvent ) {
+ elem.fireEvent("on"+type);
+ }
+ },
+
+ // Safe object type checking
+ is: function( type, obj ) {
+ return Object.prototype.toString.call( obj ) === "[object "+ type
+"]";
+ },
+
+ // Logging callbacks
+ done: function(failures, total) {},
+ log: function(result, message) {},
+ testStart: function(name) {},
+ testDone: function(name, failures, total) {},
+ moduleStart: function(name, testEnvironment) {},
+ moduleDone: function(name, failures, total) {}
+};
+
+// Backwards compatibility, deprecated
+QUnit.equals = QUnit.equal;
+QUnit.same = QUnit.deepEqual;
+
+// Maintain internal state
+var config = {
+ // The queue of tests to run
+ queue: [],
+
+ // block until document ready
+ blocking: true
+};
+
+// Load paramaters
+(function() {
+ var location = window.location || { search: "", protocol: "file:"
},
+ GETParams = location.search.slice(1).split('&');
+
+ for ( var i = 0; i < GETParams.length; i++ ) {
+ GETParams[i] = decodeURIComponent( GETParams[i] );
+ if ( GETParams[i] === "noglobals" ) {
+ GETParams.splice( i, 1 );
+ i--;
+ config.noglobals = true;
+ } else if ( GETParams[i].search('=') > -1 ) {
+ GETParams.splice( i, 1 );
+ i--;
+ }
+ }
+
+ // restrict modules/tests by get parameters
+ config.filters = GETParams;
+
+ // Figure out if we're running the tests from a server or not
+ QUnit.isLocal = !!(location.protocol === 'file:');
+})();
+
+// Expose the API as global variables, unless an 'exports'
+// object exists, in that case we assume we're in CommonJS
+if ( typeof exports === "undefined" || typeof require === "undefined"
) {
+ extend(window, QUnit);
+ window.QUnit = QUnit;
+} else {
+ extend(exports, QUnit);
+ exports.QUnit = QUnit;
+}
+
+if ( typeof document === "undefined" || document.readyState ===
"complete" ) {
+ config.autorun = true;
+}
+
+addEvent(window, "load", function() {
+ // Initialize the config, saving the execution queue
+ var oldconfig = extend({}, config);
+ QUnit.init();
+ extend(config, oldconfig);
+
+ config.blocking = false;
+
+ var userAgent = id("qunit-userAgent");
+ if ( userAgent ) {
+ userAgent.innerHTML = navigator.userAgent;
+ }
+
+ var toolbar = id("qunit-testrunner-toolbar");
+ if ( toolbar ) {
+ toolbar.style.display = "none";
+
+ var filter = document.createElement("input");
+ filter.type = "checkbox";
+ filter.id = "qunit-filter-pass";
+ filter.disabled = true;
+ addEvent( filter, "click", function() {
+ var li = document.getElementsByTagName("li");
+ for ( var i = 0; i < li.length; i++ ) {
+ if ( li[i].className.indexOf("pass") > -1 ) {
+ li[i].style.display = filter.checked ? "none" : "";
+ }
+ }
+ });
+ toolbar.appendChild( filter );
+
+ var label = document.createElement("label");
+ label.setAttribute("for", "qunit-filter-pass");
+ label.innerHTML = "Hide passed tests";
+ toolbar.appendChild( label );
+
+ var missing = document.createElement("input");
+ missing.type = "checkbox";
+ missing.id = "qunit-filter-missing";
+ missing.disabled = true;
+ addEvent( missing, "click", function() {
+ var li = document.getElementsByTagName("li");
+ for ( var i = 0; i < li.length; i++ ) {
+ if ( li[i].className.indexOf("fail") > -1 &&
li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 )
{
+ li[i].parentNode.parentNode.style.display = missing.checked ? "none" :
"block";
+ }
+ }
+ });
+ toolbar.appendChild( missing );
+
+ label = document.createElement("label");
+ label.setAttribute("for", "qunit-filter-missing");
+ label.innerHTML = "Hide missing tests (untested code is broken code)";
+ toolbar.appendChild( label );
+ }
+
+ var main = id('main');
+ if ( main ) {
+ config.fixture = main.innerHTML;
+ }
+
+ if ( window.jQuery ) {
+ config.ajaxSettings = window.jQuery.ajaxSettings;
+ }
+
+ QUnit.start();
+});
+
+function done() {
+ if ( config.doneTimer && window.clearTimeout ) {
+ window.clearTimeout( config.doneTimer );
+ config.doneTimer = null;
+ }
+
+ if ( config.queue.length ) {
+ config.doneTimer = window.setTimeout(function(){
+ if ( !config.queue.length ) {
+ done();
+ } else {
+ synchronize( done );
+ }
+ }, 13);
+
+ return;
+ }
+
+ config.autorun = true;
+
+ // Log the last module results
+ if ( config.currentModule ) {
+ QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all
);
+ }
+
+ var banner = id("qunit-banner"),
+ tests = id("qunit-tests"),
+ html = ['Tests completed in ',
+ +new Date - config.started, ' milliseconds.<br/>',
+ '<span class="passed">', config.stats.all - config.stats.bad,
'</span> tests of <span class="total">', config.stats.all,
'</span> passed, <span class="failed">',
config.stats.bad,'</span> failed.'].join('');
+
+ if ( banner ) {
+ banner.className = (config.stats.bad ? "qunit-fail" :
"qunit-pass");
+ }
+
+ if ( tests ) {
+ var result = id("qunit-testresult");
+
+ if ( !result ) {
+ result = document.createElement("p");
+ result.id = "qunit-testresult";
+ result.className = "result";
+ tests.parentNode.insertBefore( result, tests.nextSibling );
+ }
+
+ result.innerHTML = html;
+ }
+
+ QUnit.done( config.stats.bad, config.stats.all );
+}
+
+function validTest( name ) {
+ var i = config.filters.length,
+ run = false;
+
+ if ( !i ) {
+ return true;
+ }
+
+ while ( i-- ) {
+ var filter = config.filters[i],
+ not = filter.charAt(0) == '!';
+
+ if ( not ) {
+ filter = filter.slice(1);
+ }
+
+ if ( name.indexOf(filter) !== -1 ) {
+ return !not;
+ }
+
+ if ( not ) {
+ run = true;
+ }
+ }
+
+ return run;
+}
+
+function push(result, actual, expected, message) {
+ message = message || (result ? "okay" : "failed");
+ QUnit.ok( result, result ? message + ": " + expected : message + ",
expected: " + QUnit.jsDump.parse(expected) + " result: " +
QUnit.jsDump.parse(actual) );
+}
+
+function synchronize( callback ) {
+ config.queue.push( callback );
+
+ if ( config.autorun && !config.blocking ) {
+ process();
+ }
+}
+
+function process() {
+ while ( config.queue.length && !config.blocking ) {
+ config.queue.shift()();
+ }
+}
+
+function saveGlobal() {
+ config.pollution = [];
+
+ if ( config.noglobals ) {
+ for ( var key in window ) {
+ config.pollution.push( key );
+ }
+ }
+}
+
+function checkPollution( name ) {
+ var old = config.pollution;
+ saveGlobal();
+
+ var newGlobals = diff( old, config.pollution );
+ if ( newGlobals.length > 0 ) {
+ ok( false, "Introduced global variable(s): " + newGlobals.join(",
") );
+ config.expected++;
+ }
+
+ var deletedGlobals = diff( config.pollution, old );
+ if ( deletedGlobals.length > 0 ) {
+ ok( false, "Deleted global variable(s): " + deletedGlobals.join(",
") );
+ config.expected++;
+ }
+}
+
+// returns a new Array with the elements that are in a but not in b
+function diff( a, b ) {
+ var result = a.slice();
+ for ( var i = 0; i < result.length; i++ ) {
+ for ( var j = 0; j < b.length; j++ ) {
+ if ( result[i] === b[j] ) {
+ result.splice(i, 1);
+ i--;
+ break;
+ }
+ }
+ }
+ return result;
+}
+
+function fail(message, exception, callback) {
+ if ( typeof console !== "undefined" && console.error &&
console.warn ) {
+ console.error(message);
+ console.error(exception);
+ console.warn(callback.toString());
+
+ } else if ( window.opera && opera.postError ) {
+ opera.postError(message, exception, callback.toString);
+ }
+}
+
+function extend(a, b) {
+ for ( var prop in b ) {
+ a[prop] = b[prop];
+ }
+
+ return a;
+}
+
+function addEvent(elem, type, fn) {
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, fn, false );
+ } else if ( elem.attachEvent ) {
+ elem.attachEvent( "on" + type, fn );
+ } else {
+ fn();
+ }
+}
+
+function id(name) {
+ return !!(typeof document !== "undefined" && document &&
document.getElementById) &&
+ document.getElementById( name );
+}
+
+// Test for equality any JavaScript type.
+// Discussions and reference:
http://philrathe.com/articles/equiv
+// Test suites:
http://philrathe.com/tests/equiv
+// Author: Philippe Rathé <prathe(a)gmail.com>
+QUnit.equiv = function () {
+
+ var innerEquiv; // the real equiv function
+ var callers = []; // stack to decide between skip/abort functions
+
+
+ // Determine what is o.
+ function hoozit(o) {
+ if (QUnit.is("String", o)) {
+ return "string";
+
+ } else if (QUnit.is("Boolean", o)) {
+ return "boolean";
+
+ } else if (QUnit.is("Number", o)) {
+
+ if (isNaN(o)) {
+ return "nan";
+ } else {
+ return "number";
+ }
+
+ } else if (typeof o === "undefined") {
+ return "undefined";
+
+ // consider: typeof null === object
+ } else if (o === null) {
+ return "null";
+
+ // consider: typeof [] === object
+ } else if (QUnit.is( "Array", o)) {
+ return "array";
+
+ // consider: typeof new Date() === object
+ } else if (QUnit.is( "Date", o)) {
+ return "date";
+
+ // consider: /./ instanceof Object;
+ // /./ instanceof RegExp;
+ // typeof /./ === "function"; // => false in IE and Opera,
+ // true in FF and Safari
+ } else if (QUnit.is( "RegExp", o)) {
+ return "regexp";
+
+ } else if (typeof o === "object") {
+ return "object";
+
+ } else if (QUnit.is( "Function", o)) {
+ return "function";
+ } else {
+ return undefined;
+ }
+ }
+
+ // Call the o related callback with the given arguments.
+ function bindCallbacks(o, callbacks, args) {
+ var prop = hoozit(o);
+ if (prop) {
+ if (hoozit(callbacks[prop]) === "function") {
+ return callbacks[prop].apply(callbacks, args);
+ } else {
+ return callbacks[prop]; // or undefined
+ }
+ }
+ }
+
+ var callbacks = function () {
+
+ // for string, boolean, number and null
+ function useStrictEquality(b, a) {
+ if (b instanceof a.constructor || a instanceof b.constructor) {
+ // to catch short annotaion VS 'new' annotation of a declaration
+ // e.g. var i = 1;
+ // var j = new Number(1);
+ return a == b;
+ } else {
+ return a === b;
+ }
+ }
+
+ return {
+ "string": useStrictEquality,
+ "boolean": useStrictEquality,
+ "number": useStrictEquality,
+ "null": useStrictEquality,
+ "undefined": useStrictEquality,
+
+ "nan": function (b) {
+ return isNaN(b);
+ },
+
+ "date": function (b, a) {
+ return hoozit(b) === "date" && a.valueOf() ===
b.valueOf();
+ },
+
+ "regexp": function (b, a) {
+ return hoozit(b) === "regexp" &&
+ a.source === b.source && // the regex itself
+ a.global === b.global && // and its modifers (gmi) ...
+ a.ignoreCase === b.ignoreCase &&
+ a.multiline === b.multiline;
+ },
+
+ // - skip when the property is a method of an instance (OOP)
+ // - abort otherwise,
+ // initial === would have catch identical references anyway
+ "function": function () {
+ var caller = callers[callers.length - 1];
+ return caller !== Object &&
+ typeof caller !== "undefined";
+ },
+
+ "array": function (b, a) {
+ var i;
+ var len;
+
+ // b could be an object literal here
+ if ( ! (hoozit(b) === "array")) {
+ return false;
+ }
+
+ len = a.length;
+ if (len !== b.length) { // safe and faster
+ return false;
+ }
+ for (i = 0; i < len; i++) {
+ if ( ! innerEquiv(a[i], b[i])) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "object": function (b, a) {
+ var i;
+ var eq = true; // unless we can proove it
+ var aProperties = [], bProperties = []; // collection of strings
+
+ // comparing constructors is more strict than using instanceof
+ if ( a.constructor !== b.constructor) {
+ return false;
+ }
+
+ // stack constructor before traversing properties
+ callers.push(a.constructor);
+
+ for (i in a) { // be strict: don't ensures hasOwnProperty and go
deep
+
+ aProperties.push(i); // collect a's properties
+
+ if ( ! innerEquiv(a[i], b[i])) {
+ eq = false;
+ break;
+ }
+ }
+
+ callers.pop(); // unstack, we are done
+
+ for (i in b) {
+ bProperties.push(i); // collect b's properties
+ }
+
+ // Ensures identical properties name
+ return eq && innerEquiv(aProperties.sort(), bProperties.sort());
+ }
+ };
+ }();
+
+ innerEquiv = function () { // can take multiple arguments
+ var args = Array.prototype.slice.apply(arguments);
+ if (args.length < 2) {
+ return true; // end transition
+ }
+
+ return (function (a, b) {
+ if (a === b) {
+ return true; // catch the most you can
+ } else if (a === null || b === null || typeof a === "undefined" ||
typeof b === "undefined" || hoozit(a) !== hoozit(b)) {
+ return false; // don't lose time with error prone cases
+ } else {
+ return bindCallbacks(a, callbacks, [b, a]);
+ }
+
+ // apply transition with (1..n) arguments
+ })(args[0], args[1]) && arguments.callee.apply(this, args.splice(1,
args.length -1));
+ };
+
+ return innerEquiv;
+
+}();
+
+/**
+ * jsDump
+ * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
http://flesler.blogspot.com
+ * Licensed under BSD (
http://www.opensource.org/licenses/bsd-license.php)
+ * Date: 5/15/2008
+ * @projectDescription Advanced and extensible data dumping for Javascript.
+ * @version 1.0.0
+ * @author Ariel Flesler
+ * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
+ */
+QUnit.jsDump = (function() {
+ function quote( str ) {
+ return '"' + str.toString().replace(/"/g, '\\"') +
'"';
+ };
+ function literal( o ) {
+ return o + '';
+ };
+ function join( pre, arr, post ) {
+ var s = jsDump.separator(),
+ base = jsDump.indent(),
+ inner = jsDump.indent(1);
+ if ( arr.join )
+ arr = arr.join( ',' + s + inner );
+ if ( !arr )
+ return pre + post;
+ return [ pre, inner + arr, base + post ].join(s);
+ };
+ function array( arr ) {
+ var i = arr.length, ret = Array(i);
+ this.up();
+ while ( i-- )
+ ret[i] = this.parse( arr[i] );
+ this.down();
+ return join( '[', ret, ']' );
+ };
+
+ var reName = /^function (\w+)/;
+
+ var jsDump = {
+ parse:function( obj, type ) { //type is used mostly internally, you can fix a
(custom)type in advance
+ var parser = this.parsers[ type || this.typeOf(obj) ];
+ type = typeof parser;
+
+ return type == 'function' ? parser.call( this, obj ) :
+ type == 'string' ? parser :
+ this.parsers.error;
+ },
+ typeOf:function( obj ) {
+ var type;
+ if ( obj === null ) {
+ type = "null";
+ } else if (typeof obj === "undefined") {
+ type = "undefined";
+ } else if (QUnit.is("RegExp", obj)) {
+ type = "regexp";
+ } else if (QUnit.is("Date", obj)) {
+ type = "date";
+ } else if (QUnit.is("Function", obj)) {
+ type = "function";
+ } else if (QUnit.is("Array", obj)) {
+ type = "array";
+ } else if (QUnit.is("Window", obj) || QUnit.is("global", obj)) {
+ type = "window";
+ } else if (QUnit.is("HTMLDocument", obj)) {
+ type = "document";
+ } else if (QUnit.is("HTMLCollection", obj) || QUnit.is("NodeList",
obj)) {
+ type = "nodelist";
+ } else if (/^\[object HTML/.test(Object.prototype.toString.call( obj ))) {
+ type = "node";
+ } else {
+ type = typeof obj;
+ }
+ return type;
+ },
+ separator:function() {
+ return this.multiline ? this.HTML ? '<br />' : '\n' : this.HTML
? ' ' : ' ';
+ },
+ indent:function( extra ) {// extra can be a number, shortcut for
increasing-calling-decreasing
+ if ( !this.multiline )
+ return '';
+ var chr = this.indentChar;
+ if ( this.HTML )
+ chr = chr.replace(/\t/g,' ').replace(/ /g,' ');
+ return Array( this._depth_ + (extra||0) ).join(chr);
+ },
+ up:function( a ) {
+ this._depth_ += a || 1;
+ },
+ down:function( a ) {
+ this._depth_ -= a || 1;
+ },
+ setParser:function( name, parser ) {
+ this.parsers[name] = parser;
+ },
+ // The next 3 are exposed so you can use them
+ quote:quote,
+ literal:literal,
+ join:join,
+ //
+ _depth_: 1,
+ // This is the list of parsers, to modify them, use jsDump.setParser
+ parsers:{
+ window: '[Window]',
+ document: '[Document]',
+ error:'[ERROR]', //when no parser is found, shouldn't happen
+ unknown: '[Unknown]',
+ 'null':'null',
+ undefined:'undefined',
+ 'function':function( fn ) {
+ var ret = 'function',
+ name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never
have name in IE
+ if ( name )
+ ret += ' ' + name;
+ ret += '(';
+
+ ret = [ ret, this.parse( fn, 'functionArgs' ),
'){'].join('');
+ return join( ret, this.parse(fn,'functionCode'), '}' );
+ },
+ array: array,
+ nodelist: array,
+ arguments: array,
+ object:function( map ) {
+ var ret = [ ];
+ this.up();
+ for ( var key in map )
+ ret.push( this.parse(key,'key') + ': ' + this.parse(map[key]) );
+ this.down();
+ return join( '{', ret, '}' );
+ },
+ node:function( node ) {
+ var open = this.HTML ? '<' : '<',
+ close = this.HTML ? '>' : '>';
+
+ var tag = node.nodeName.toLowerCase(),
+ ret = open + tag;
+
+ for ( var a in this.DOMAttrs ) {
+ var val = node[this.DOMAttrs[a]];
+ if ( val )
+ ret += ' ' + a + '=' + this.parse( val, 'attribute' );
+ }
+ return ret + close + open + '/' + tag + close;
+ },
+ functionArgs:function( fn ) {//function calls it internally, it's the arguments
part of the function
+ var l = fn.length;
+ if ( !l ) return '';
+
+ var args = Array(l);
+ while ( l-- )
+ args[l] = String.fromCharCode(97+l);//97 is 'a'
+ return ' ' + args.join(', ') + ' ';
+ },
+ key:quote, //object calls it internally, the key part of an item in a map
+ functionCode:'[code]', //function calls it internally, it's the content of
the function
+ attribute:quote, //node calls it internally, it's an html attribute value
+ string:quote,
+ date:quote,
+ regexp:literal, //regex
+ number:literal,
+ 'boolean':literal
+ },
+ DOMAttrs:{//attributes to dump from nodes, name=>realName
+ id:'id',
+ name:'name',
+ 'class':'className'
+ },
+ HTML:true,//if true, entities are escaped ( <, >, \t, space and \n )
+ indentChar:' ',//indentation unit
+ multiline:true //if true, items in a collection, are separated by a \n, else just a
space.
+ };
+
+ return jsDump;
+})();
+
+})(this);
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js
===================================================================
---
trunk/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,30 +0,0 @@
-window.RichFaces = window.RichFaces || {};
-RichFaces.QUnit = (function(){
- var setTestHeader = function (header) {
- var e = document.getElementById("qunit-header");
- e.innerHTML = header;
- };
-
- return {
- appendDomElements: function (parent, html) {
- var element = document.createElement("div");
- element.innerHTML = html;
- var elements = [], e;
- while (e = element.firstChild) {
- elements.push(e);
- parent.appendChild(e);
- }
- return elements;
- },
- removeDomElements: function (elements) {
- var element;
- while (elements.length>0) {
- element = elements.pop();
- element.parentNode.removeChild(element);
- }
- },
- run: function (f) {
- jQuery(document).ready(f);
- }
- };
-}());
\ No newline at end of file
Copied:
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js
(from rev 19674,
trunk/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js)
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/qunit/richfaces-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,30 @@
+window.RichFaces = window.RichFaces || {};
+RichFaces.QUnit = (function(){
+ var setTestHeader = function (header) {
+ var e = document.getElementById("qunit-header");
+ e.innerHTML = header;
+ };
+
+ return {
+ appendDomElements: function (parent, html) {
+ var element = document.createElement("div");
+ element.innerHTML = html;
+ var elements = [], e;
+ while (e = element.firstChild) {
+ elements.push(e);
+ parent.appendChild(e);
+ }
+ return elements;
+ },
+ removeDomElements: function (elements) {
+ var element;
+ while (elements.length>0) {
+ element = elements.pop();
+ element.parentNode.removeChild(element);
+ }
+ },
+ run: function (f) {
+ jQuery(document).ready(f);
+ }
+ };
+}());
\ No newline at end of file
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests (from rev
19674, trunk/examples/input-demo/src/main/webapp/resources/tests)
Deleted:
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js
===================================================================
---
trunk/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,240 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, 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.
- */
-
-RichFaces.QUnit.run(function() {
- module("richfaces-autocomplete");
-
- var AUTOCOMPLETE_ID = "form:autocomplete";
-
- // Constructor tests
- test("RichFaces.ui.Autocomplete constructor test", function () {
- expect(15);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
-
- ok(c instanceof RichFaces.ui.AutocompleteBase, "inctance of
RichFaces.ui.AutocompleteBase");
- ok(c instanceof RichFaces.ui.Autocomplete, "inctance of
RichFaces.ui.Autocomplete");
- equals(c.name, "Autocomplete", "name");
- equals(c.id, AUTOCOMPLETE_ID+'Default', "id");
- // test default options
- equals(c.options.selectedItemClass, 'rf-au-sel',
"options.selectedItemClass");
- equals(c.options.itemClass, 'rf-au-opt', "options.itemClass");
- equals(c.options.autofill, true, "options.autofill");
- equals(c.options.minChars, 1, "options.minChars");
- equals(c.options.selectFirst, true, "options.selectFirst");
- equals(c.options.ajaxMode, true, "options.ajaxMode");
- equals(c.options.lazyClientMode, false, "options.lazyClientMode");
- equals(c.options.isCachedAjax, true, "options.isCachedAjax");
- equals(c.options.tokens, "", "options.tokens");
- equals(c.options.attachToBody, true, "options.attachToBody");
- equals(c.options.filterFunction, undefined, "options.filterFunction");
- });
-
- // Client API tests
- test("RichFaces.ui.Autocomplete client api function's", function () {
- expect(5);
- var CLIENT_API_BASE =
['show','hide','getNamespace','getInputValue','setInputValue'];
- var CLIENT_API = [];
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- var fn = "";
- for (var i=0; i<CLIENT_API_BASE.length; i++) {
- fn = CLIENT_API_BASE[i];
- ok(typeof c[fn] == "function", fn+" present in component");
- }
- });
-
- test("RichFaces.ui.Autocomplete client api: show/hide [attachToDom=true]",
function () {
- expect(6);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- var e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
- equals(e.parentNode.tagName.toLowerCase(), "div", "before show
list attached to");
- equals($(e).css("display"), "none", "list
style.display");
- c.show();
- e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
- equals(e.parentNode.tagName.toLowerCase(), "body", "after show
list attached to");
- equals(e.style.display, "block", "list style.display");
- c.hide();
- e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
- equals(e.parentNode.tagName.toLowerCase(), "div", "after hide list
attached to");
- equals(e.style.display, "none", "list style.display");
- });
-
- test("RichFaces.ui.Autocomplete client api: getNamespace", function () {
- expect(1);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- equals(c.getNamespace(), '.'+RichFaces.Event.createNamespace(c.name,
AUTOCOMPLETE_ID+'Default'), "getNamespace");
- });
-
- test("RichFaces.ui.Autocomplete client api: getInputValue / setInputValue",
function () {
- expect(2);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- equals(c.getInputValue(), 'a', "getInputValue");
- c.setInputValue("b");
- equals(c.getInputValue(), 'b', "getInputValue after
setInputValue");
- });
-
- //Inline user's event handlers tests
- window.checkInlineEvent = function (event, c, checkData) {
- var richContainer = event[RichFaces.RICH_CONTAINER];
- ok(richContainer, "rich container is present in event");
- ok(richContainer.component, "component is present in rich container");
- equals(richContainer.component, c, "component");
- if (checkData) {
- ok(typeof richContainer.data!="undefined", "data is present in rich
container");
- equals(richContainer.data,
RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input').value,
"data");
- }
- };
-
- test("RichFaces.ui.Autocomplete inline event handlers: focus/blur",
function () {
- expect(10);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
-
- window.onEvent = function (event) {
- ok(event, "event is present");
- equals(event.type, "focus", "event type after focus");
- checkInlineEvent(event, c);
- };
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
- input.focus();
-
- window.onEvent = function (event) {
- ok(event, "event is present");
- equals(event.type, "blur", "event type after blur");
- checkInlineEvent(event, c);
- };
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.focus();
- window.onEvent = function (){};
- });
-
- test("RichFaces.ui.Autocomplete inline event handlers: change", function ()
{
- expect(5);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
-
- window.onEvent = function (event) {
- if (event.type!="change") return;
- ok(event, "event is present");
- equals(event.type, "change", "event type");
- checkInlineEvent(event, c);
- };
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
- input.value="";
- input.focus();
- input.value="a";
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.focus();
- window.onEvent = function (){};
- });
-
- test("RichFaces.ui.Autocomplete inline event handlers: selectitem",
function () {
- expect(7);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default2');
-
- window.onEvent = function (event) {
- if (event.type!="selectitem") return;
- ok(event, "event is present");
- equals(event.type, "selectitem", "event type");
- checkInlineEvent(event, c, true);
- };
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.value="a";
- var button = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Button');
- RichFaces.Event.fire(button,"mousedown");
- c.__onEnter.call(c, {which:13});
- c.hide();
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'ClientModeInput');
- input.focus();
- window.onEvent = function (){};
- });
-
- //Binded user's event handlers tests
- window.checkBindedEvent = function (event, element, c) {
- equals(element.id, c.id, "element id");
- equals(RichFaces.$(element.id), c, "component");
- };
-
- test("RichFaces.ui.Autocomplete binded event handlers: focus/blur",
function () {
- expect(10);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default', {"focus":
function (event, element) {
- ok(event, "event is present");
- ok(element, "element is present");
- equals(event.type, "focus", "event type after focus");
- checkBindedEvent(event, element, c);
- },
- "blur": function (event, element) {
- ok(event, "event is present");
- ok(element, "element is present");
- equals(event.type, "blur", "event type after blur");
- checkBindedEvent(event, element, c);
- }
- });
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
- input.focus();
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.focus();
- RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default', "focus
blur");
- });
-
- test("RichFaces.ui.Autocomplete binded event handlers: change", function ()
{
- expect(5);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
- RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default', "change",
function (event, element) {
- ok(event, "event is present");
- ok(element, "element is present");
- equals(event.type, "change", "event type");
- checkBindedEvent(event, element, c);
- });
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
- input.value="";
- input.focus();
- input.value="a"
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.focus();
- RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default',
"change");
- });
-
- test("RichFaces.ui.Autocomplete binded event handlers: selectitem",
function () {
- expect(7);
- var c = RichFaces.$(AUTOCOMPLETE_ID+'Default2');
-
- RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default2',
"selectitem", function (event, element, data) {
- ok(event, "event is present");
- ok(element, "element is present");
- ok(data, "data is present");
- equals(data,
RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input').value,
"data");
- equals(event.type, "selectitem", "event type");
- checkBindedEvent(event, element, c);
- });
- var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
- input.value="a";
- var button = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Button');
- RichFaces.Event.fire(button,"mousedown");
- c.__onEnter.call(c, {which:13});
- c.hide();
- input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'ClientModeInput');
- input.focus();
- RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default2',
"selectitem");
- });
-
- // TODO add modes test ?? or create selenium tests for modes ??
-
-});
Copied:
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js
(from rev 19674,
trunk/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js)
===================================================================
---
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/resources/tests/autocomplete-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,240 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, 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.
+ */
+
+RichFaces.QUnit.run(function() {
+ module("richfaces-autocomplete");
+
+ var AUTOCOMPLETE_ID = "form:autocomplete";
+
+ // Constructor tests
+ test("RichFaces.ui.Autocomplete constructor test", function () {
+ expect(15);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+
+ ok(c instanceof RichFaces.ui.AutocompleteBase, "inctance of
RichFaces.ui.AutocompleteBase");
+ ok(c instanceof RichFaces.ui.Autocomplete, "inctance of
RichFaces.ui.Autocomplete");
+ equals(c.name, "Autocomplete", "name");
+ equals(c.id, AUTOCOMPLETE_ID+'Default', "id");
+ // test default options
+ equals(c.options.selectedItemClass, 'rf-au-sel',
"options.selectedItemClass");
+ equals(c.options.itemClass, 'rf-au-opt', "options.itemClass");
+ equals(c.options.autofill, true, "options.autofill");
+ equals(c.options.minChars, 1, "options.minChars");
+ equals(c.options.selectFirst, true, "options.selectFirst");
+ equals(c.options.ajaxMode, true, "options.ajaxMode");
+ equals(c.options.lazyClientMode, false, "options.lazyClientMode");
+ equals(c.options.isCachedAjax, true, "options.isCachedAjax");
+ equals(c.options.tokens, "", "options.tokens");
+ equals(c.options.attachToBody, true, "options.attachToBody");
+ equals(c.options.filterFunction, undefined, "options.filterFunction");
+ });
+
+ // Client API tests
+ test("RichFaces.ui.Autocomplete client api function's", function () {
+ expect(5);
+ var CLIENT_API_BASE =
['show','hide','getNamespace','getInputValue','setInputValue'];
+ var CLIENT_API = [];
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ var fn = "";
+ for (var i=0; i<CLIENT_API_BASE.length; i++) {
+ fn = CLIENT_API_BASE[i];
+ ok(typeof c[fn] == "function", fn+" present in component");
+ }
+ });
+
+ test("RichFaces.ui.Autocomplete client api: show/hide [attachToDom=true]",
function () {
+ expect(6);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ var e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
+ equals(e.parentNode.tagName.toLowerCase(), "div", "before show
list attached to");
+ equals($(e).css("display"), "none", "list
style.display");
+ c.show();
+ e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
+ equals(e.parentNode.tagName.toLowerCase(), "body", "after show
list attached to");
+ equals(e.style.display, "block", "list style.display");
+ c.hide();
+ e = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultList');
+ equals(e.parentNode.tagName.toLowerCase(), "div", "after hide list
attached to");
+ equals(e.style.display, "none", "list style.display");
+ });
+
+ test("RichFaces.ui.Autocomplete client api: getNamespace", function () {
+ expect(1);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ equals(c.getNamespace(), '.'+RichFaces.Event.createNamespace(c.name,
AUTOCOMPLETE_ID+'Default'), "getNamespace");
+ });
+
+ test("RichFaces.ui.Autocomplete client api: getInputValue / setInputValue",
function () {
+ expect(2);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ equals(c.getInputValue(), 'a', "getInputValue");
+ c.setInputValue("b");
+ equals(c.getInputValue(), 'b', "getInputValue after
setInputValue");
+ });
+
+ //Inline user's event handlers tests
+ window.checkInlineEvent = function (event, c, checkData) {
+ var richContainer = event[RichFaces.RICH_CONTAINER];
+ ok(richContainer, "rich container is present in event");
+ ok(richContainer.component, "component is present in rich container");
+ equals(richContainer.component, c, "component");
+ if (checkData) {
+ ok(typeof richContainer.data!="undefined", "data is present in rich
container");
+ equals(richContainer.data,
RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input').value,
"data");
+ }
+ };
+
+ test("RichFaces.ui.Autocomplete inline event handlers: focus/blur",
function () {
+ expect(10);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+
+ window.onEvent = function (event) {
+ ok(event, "event is present");
+ equals(event.type, "focus", "event type after focus");
+ checkInlineEvent(event, c);
+ };
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
+ input.focus();
+
+ window.onEvent = function (event) {
+ ok(event, "event is present");
+ equals(event.type, "blur", "event type after blur");
+ checkInlineEvent(event, c);
+ };
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.focus();
+ window.onEvent = function (){};
+ });
+
+ test("RichFaces.ui.Autocomplete inline event handlers: change", function ()
{
+ expect(5);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+
+ window.onEvent = function (event) {
+ if (event.type!="change") return;
+ ok(event, "event is present");
+ equals(event.type, "change", "event type");
+ checkInlineEvent(event, c);
+ };
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
+ input.value="";
+ input.focus();
+ input.value="a";
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.focus();
+ window.onEvent = function (){};
+ });
+
+ test("RichFaces.ui.Autocomplete inline event handlers: selectitem",
function () {
+ expect(7);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default2');
+
+ window.onEvent = function (event) {
+ if (event.type!="selectitem") return;
+ ok(event, "event is present");
+ equals(event.type, "selectitem", "event type");
+ checkInlineEvent(event, c, true);
+ };
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.value="a";
+ var button = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Button');
+ RichFaces.Event.fire(button,"mousedown");
+ c.__onEnter.call(c, {which:13});
+ c.hide();
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'ClientModeInput');
+ input.focus();
+ window.onEvent = function (){};
+ });
+
+ //Binded user's event handlers tests
+ window.checkBindedEvent = function (event, element, c) {
+ equals(element.id, c.id, "element id");
+ equals(RichFaces.$(element.id), c, "component");
+ };
+
+ test("RichFaces.ui.Autocomplete binded event handlers: focus/blur",
function () {
+ expect(10);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default', {"focus":
function (event, element) {
+ ok(event, "event is present");
+ ok(element, "element is present");
+ equals(event.type, "focus", "event type after focus");
+ checkBindedEvent(event, element, c);
+ },
+ "blur": function (event, element) {
+ ok(event, "event is present");
+ ok(element, "element is present");
+ equals(event.type, "blur", "event type after blur");
+ checkBindedEvent(event, element, c);
+ }
+ });
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
+ input.focus();
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.focus();
+ RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default', "focus
blur");
+ });
+
+ test("RichFaces.ui.Autocomplete binded event handlers: change", function ()
{
+ expect(5);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default');
+ RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default', "change",
function (event, element) {
+ ok(event, "event is present");
+ ok(element, "element is present");
+ equals(event.type, "change", "event type");
+ checkBindedEvent(event, element, c);
+ });
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'DefaultInput');
+ input.value="";
+ input.focus();
+ input.value="a"
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.focus();
+ RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default',
"change");
+ });
+
+ test("RichFaces.ui.Autocomplete binded event handlers: selectitem",
function () {
+ expect(7);
+ var c = RichFaces.$(AUTOCOMPLETE_ID+'Default2');
+
+ RichFaces.Event.bindById(AUTOCOMPLETE_ID+'Default2',
"selectitem", function (event, element, data) {
+ ok(event, "event is present");
+ ok(element, "element is present");
+ ok(data, "data is present");
+ equals(data,
RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input').value,
"data");
+ equals(event.type, "selectitem", "event type");
+ checkBindedEvent(event, element, c);
+ });
+ var input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Input');
+ input.value="a";
+ var button = RichFaces.getDomElement(AUTOCOMPLETE_ID+'Default2Button');
+ RichFaces.Event.fire(button,"mousedown");
+ c.__onEnter.call(c, {which:13});
+ c.hide();
+ input = RichFaces.getDomElement(AUTOCOMPLETE_ID+'ClientModeInput');
+ input.focus();
+ RichFaces.Event.unbindById(AUTOCOMPLETE_ID+'Default2',
"selectitem");
+ });
+
+ // TODO add modes test ?? or create selenium tests for modes ??
+
+});
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/templates (from rev 19674,
trunk/examples/input-demo/src/main/webapp/templates)
Deleted: branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/templates/template.xhtml 2010-10-26 17:10:27
UTC (rev 19674)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,67 +0,0 @@
-<!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" >
-
-<h:head>
- <title>
- <ui:define name="title">Application Title</ui:define>
- </title>
-
- <meta http-equiv="content-type" content="text/xhtml;
charset=UTF-8" />
-</h:head>
-
-<h:body>
-
-
- <ui:insert name="scripts" ></ui:insert>
- <table width="100%">
- <thead>
- <tr>
- <th width="20%"
align="left">Content</th>
- <th width="80%" align="left">
- <ui:insert
name="body_head">Example</ui:insert>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr valign="top">
- <td>
- <h:form id="nav">
- <p>Input Component's Examples</p>
- <ul>
- <li><h:commandLink value="rich:inplaceInput"
action="inplaceInput" /></li>
- <li><h:commandLink value="rich:inplaceSelect"
action="inplaceSelect" /></li>
- <li><h:commandLink value="rich:inputNumberSlider"
action="inputNumberSlider" /></li>
- <li><h:commandLink value="rich:inputNumberSpinner"
action="inputNumberSpinner" /></li>
- <li><h:commandLink value="rich:autocomplete"
action="autocomplete" /></li>
- </ul>
-
- <h:panelGrid columns="3">
- <h:commandButton value="Classic">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="classic" />
- </h:commandButton>
- <h:commandButton value="BlueSky">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="blueSky" />
- </h:commandButton>
- <h:commandButton value="DeepMarine">
- <f:setPropertyActionListener target="#{skinBean.skin}"
value="deepMarine" />
- </h:commandButton>
- </h:panelGrid>
-
- <p>QUnit tests</p>
- <ul>
- <li><h:commandLink value="rich:autocomplete
qunit" action="qunit/autocomplete" /></li>
- </ul>
- </h:form>
- </td>
- <td>
- <ui:insert name="body">Default
content</ui:insert>
- </td>
- </tr>
- </tbody>
- </table>
-
-</h:body>
-</html>
\ No newline at end of file
Copied: branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml
(from rev 19674, trunk/examples/input-demo/src/main/webapp/templates/template.xhtml)
===================================================================
--- branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml
(rev 0)
+++
branches/RF-7817/examples/input-demo/src/main/webapp/templates/template.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,67 @@
+<!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" >
+
+<h:head>
+ <title>
+ <ui:define name="title">Application Title</ui:define>
+ </title>
+
+ <meta http-equiv="content-type" content="text/xhtml;
charset=UTF-8" />
+</h:head>
+
+<h:body>
+
+
+ <ui:insert name="scripts" ></ui:insert>
+ <table width="100%">
+ <thead>
+ <tr>
+ <th width="20%"
align="left">Content</th>
+ <th width="80%" align="left">
+ <ui:insert
name="body_head">Example</ui:insert>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr valign="top">
+ <td>
+ <h:form id="nav">
+ <p>Input Component's Examples</p>
+ <ul>
+ <li><h:commandLink value="rich:inplaceInput"
action="inplaceInput" /></li>
+ <li><h:commandLink value="rich:inplaceSelect"
action="inplaceSelect" /></li>
+ <li><h:commandLink value="rich:inputNumberSlider"
action="inputNumberSlider" /></li>
+ <li><h:commandLink value="rich:inputNumberSpinner"
action="inputNumberSpinner" /></li>
+ <li><h:commandLink value="rich:autocomplete"
action="autocomplete" /></li>
+ </ul>
+
+ <h:panelGrid columns="3">
+ <h:commandButton value="Classic">
+ <f:setPropertyActionListener target="#{skinBean.skin}"
value="classic" />
+ </h:commandButton>
+ <h:commandButton value="BlueSky">
+ <f:setPropertyActionListener target="#{skinBean.skin}"
value="blueSky" />
+ </h:commandButton>
+ <h:commandButton value="DeepMarine">
+ <f:setPropertyActionListener target="#{skinBean.skin}"
value="deepMarine" />
+ </h:commandButton>
+ </h:panelGrid>
+
+ <p>QUnit tests</p>
+ <ul>
+ <li><h:commandLink value="rich:autocomplete
qunit" action="qunit/autocomplete" /></li>
+ </ul>
+ </h:form>
+ </td>
+ <td>
+ <ui:insert name="body">Default
content</ui:insert>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+</h:body>
+</html>
\ No newline at end of file
Modified: branches/RF-7817/examples/iteration-demo/src/main/webapp/dataGrid.xhtml
===================================================================
--- branches/RF-7817/examples/iteration-demo/src/main/webapp/dataGrid.xhtml 2010-10-27
16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/iteration-demo/src/main/webapp/dataGrid.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -39,15 +39,11 @@
<h:body>
<h:form id="form1">
- <it:dataGrid columns="3" var="record" elements="8"
value="#{dataBean.employeeList}">
+ <it:dataGrid id="dataGrid" columns="3" var="record"
elements="8" value="#{dataBean.employeeList}">
<f:facet name="header">
<h:outputText value="header"/>
</f:facet>
- <f:facet name="footer">
- <h:outputText value="footer"/>
- </f:facet>
-
<f:facet name="caption">
<h:outputText value="caption"/>
</f:facet>
Modified: branches/RF-7817/examples/output-demo/pom.xml
===================================================================
--- branches/RF-7817/examples/output-demo/pom.xml 2010-10-27 16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/output-demo/pom.xml 2010-10-27 16:28:07 UTC (rev 19704)
@@ -20,7 +20,7 @@
</properties>
<build>
- <finalName>${artifactId}-${project.version}</finalName>
+ <finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
Copied: branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java
(from rev 19674, trunk/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,196 @@
+package org.richfaces;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.RequestScoped;
+@ManagedBean
+@RequestScoped
+public class ModalPanel {
+ private boolean autosized;
+ private boolean keepVisualState;
+ private String left;
+ private String top;
+ private boolean rendered;
+ private String shadowDepth;
+ private String shadowOpacity;
+ private boolean show;
+ private int zindex;
+ private int minHeight;
+ private int minWidth;
+ private int maxHeight;
+ private int maxWidth;
+ private int height;
+ private int width;
+ private boolean moveable;
+ private boolean resizeable;
+ private String inputTextTest;
+ private String domElementAttachment;
+
+
+ public String getInputTextTest() {
+ return inputTextTest;
+ }
+
+ public void setInputTextTest(String inputTextTest) {
+ this.inputTextTest = inputTextTest;
+ }
+
+ public ModalPanel() {
+ this.inputTextTest = "text";
+ this.minHeight = 100;
+ this.minWidth = 100;
+ this.height = 300;
+ this.width = 300;
+ this.maxWidth = -1;
+ this.maxHeight = -1;
+ this.moveable=true;
+ this.resizeable=true;
+ this.autosized = false;
+ this.keepVisualState = false;
+ this.left = "auto";
+ this.top = "auto";
+ this.rendered = true;
+ this.shadowDepth = "3";
+ this.shadowOpacity = "3";
+ this.show = false;
+ this.domElementAttachment = "body";
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public int getMinHeight() {
+ return minHeight;
+ }
+
+ public void setMinHeight(int minHeight) {
+ this.minHeight = minHeight;
+ }
+
+ public int getMaxWidth() {
+ return maxWidth;
+ }
+
+ public void setMaxWidth(int maxWidth) {
+ this.maxWidth = minWidth;
+ }
+
+ public int getMaxHeight() {
+ return maxHeight;
+ }
+
+ public void setMaxHeight(int maxHeight) {
+ this.maxHeight = maxHeight;
+ }
+
+ public int getMinWidth() {
+ return minWidth;
+ }
+
+ public void setMinWidth(int minWidth) {
+ this.minWidth = minWidth;
+ }
+
+ public boolean isMoveable() {
+ return moveable;
+ }
+
+ public void setMoveable(boolean moveable) {
+ this.moveable = moveable;
+ }
+
+ public boolean isResizeable() {
+ return resizeable;
+ }
+
+ public void setResizeable(boolean resizeable) {
+ this.resizeable = resizeable;
+ }
+
+ public void setAutosized(boolean autosized) {
+ this.autosized = autosized;
+ }
+
+
+ public int getWidth() {
+ return width;
+ }
+
+ public void setWidth(int width) {
+ this.width = width;
+ }
+
+ public boolean isAutosized() {
+ return autosized;
+ }
+
+ public boolean isKeepVisualState() {
+ return keepVisualState;
+ }
+
+ public void setKeepVisualState(boolean keepVisualState) {
+ this.keepVisualState = keepVisualState;
+ }
+
+ public String getLeft() {
+ return left;
+ }
+
+ public void setLeft(String left) {
+ this.left = left;
+ }
+
+ public String getTop() {
+ return top;
+ }
+
+ public void setTop(String top) {
+ this.top = top;
+ }
+
+ public boolean getRendered() {
+ return rendered;
+ }
+
+ public void setRendered(boolean rendered) {
+ this.rendered = rendered;
+ }
+
+ public String getShadowDepth() {
+ return shadowDepth;
+ }
+
+ public void setShadowDepth(String shadowDepth) {
+ this.shadowDepth = shadowDepth;
+ }
+
+ public String getShadowOpacity() {
+ return shadowOpacity;
+ }
+
+ public void setShadowOpacity(String shadowOpacity) {
+ this.shadowOpacity = shadowOpacity;
+ }
+
+ public boolean isShow() {
+ return show;
+ }
+
+ public void setShow(boolean show) {
+ this.show = show;
+ }
+
+ public String getDomElementAttachment() {
+ return domElementAttachment;
+ }
+
+ public void setDomElementAttachment(String domElementAttachment) {
+ this.domElementAttachment = domElementAttachment;
+ }
+}
\ No newline at end of file
Copied:
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ProgressBarBean.java
(from rev 19674,
trunk/examples/output-demo/src/main/java/org/richfaces/ProgressBarBean.java)
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ProgressBarBean.java
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/ProgressBarBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package org.richfaces;
+
+import java.util.Date;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.ViewScoped;
+
+/**
+ * @author Ilya Shaikovsky
+ *
+ */
+@ManagedBean
+@ViewScoped
+public class ProgressBarBean {
+
+ private boolean buttonRendered = true;
+ private boolean enabled=false;
+ private Long startTime;
+
+ public String startProcess() {
+ setEnabled(true);
+ setButtonRendered(false);
+ setStartTime(new Date().getTime());
+ return null;
+ }
+
+ public Long getCurrentValue(){
+ if (isEnabled()) {
+ Long current = (new Date().getTime() - startTime)/1000;
+ if (current>100){
+ setButtonRendered(true);
+ } else if (current.equals(0)) {
+ return new Long(1);
+ }
+ return (new Date().getTime() - startTime)/1000;
+ }
+ if (startTime == null) {
+ return Long.valueOf(-1);
+ } else {
+ return Long.valueOf(101);
+ }
+
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public Long getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Long startTime) {
+ this.startTime = startTime;
+ }
+
+ public boolean isButtonRendered() {
+ return buttonRendered;
+ }
+
+ public void setButtonRendered(boolean buttonRendered) {
+ this.buttonRendered = buttonRendered;
+ }
+}
\ No newline at end of file
Copied: branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/SkinBean.java
(from rev 19674, trunk/examples/output-demo/src/main/java/org/richfaces/SkinBean.java)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/SkinBean.java
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/java/org/richfaces/SkinBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,61 @@
+package org.richfaces;
+
+import java.io.Serializable;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import javax.faces.model.SelectItem;
+
+@SessionScoped
+@ManagedBean(name = "skinBean")
+public class SkinBean implements Serializable {
+
+ private static final long serialVersionUID = 2744605279708632184L;
+
+ private SelectItem[] skinSetItems = {
+ new SelectItem("blueSky"),
+ new SelectItem("classic"),
+ new SelectItem("deepMarine"),
+ new SelectItem("DEFAULT"),
+ new SelectItem("emeraldTown"),
+ new SelectItem("japanCherry"),
+ new SelectItem("NULL"),
+ new SelectItem("plain"),
+ new SelectItem("ruby"),
+ new SelectItem("wine")
+ };
+
+ private String skin = "classic";
+
+ private boolean enableElementsSkinning = true;
+
+ private boolean enableClassesSkinning = false;
+
+ public String getSkin() {
+ return skin;
+ }
+
+ public void setSkin(String skin) {
+ this.skin = skin;
+ }
+
+ public boolean isEnableElementsSkinning() {
+ return enableElementsSkinning;
+ }
+
+ public void setEnableElementsSkinning(boolean enableElementsSkinning) {
+ this.enableElementsSkinning = enableElementsSkinning;
+ }
+
+ public boolean isEnableClassesSkinning() {
+ return enableClassesSkinning;
+ }
+
+ public void setEnableClassesSkinning(boolean enableClassesSkinning) {
+ this.enableClassesSkinning = enableClassesSkinning;
+ }
+
+ public SelectItem[] getSkinSetItems() {
+ return skinSetItems;
+ }
+}
Modified: branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -38,6 +38,22 @@
<from-outcome>collapsiblePanel</from-outcome>
<to-view-id>/examples/collapsiblePanel.xhtml</to-view-id>
</navigation-case>
+ <navigation-case>
+ <from-outcome>tabPanel</from-outcome>
+ <to-view-id>/examples/tabPanel.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>panel</from-outcome>
+ <to-view-id>/examples/panel.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>popup</from-outcome>
+ <to-view-id>/examples/popupPanel.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>progressbar</from-outcome>
+ <to-view-id>/examples/progressbar.xhtml</to-view-id>
+ </navigation-case>
<!-- QUnit -->
<navigation-case>
@@ -60,5 +76,9 @@
<from-outcome>qunit/collapsiblePanel</from-outcome>
<to-view-id>/qunit/collapsiblePanel.xhtml</to-view-id>
</navigation-case>
+ <navigation-case>
+ <from-outcome>qunit/tabPanel</from-outcome>
+ <to-view-id>/qunit/tabPanel.xhtml</to-view-id>
+ </navigation-case>
</navigation-rule>
</faces-config>
Modified: branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/web.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/output-demo/src/main/webapp/WEB-INF/web.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -5,7 +5,22 @@
version="2.5">
<display-name>Sample RichFaces 4 Application</display-name>
+
<context-param>
+ <param-name>org.richfaces.skin</param-name>
+ <param-value>#{skinBean.skin}</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.richfaces.enableControlSkinning</param-name>
+ <param-value>#{skinBean.enableElementsSkinning}</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.richfaces.enableControlSkinningClasses</param-name>
+ <param-value>#{skinBean.enableClassesSkinning}</param-value>
+ </context-param>
+
+
+ <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/examples/panel.xhtml (from
rev 19674, trunk/examples/output-demo/src/main/webapp/examples/panel.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/examples/panel.xhtml
(rev 0)
+++ branches/RF-7817/examples/output-demo/src/main/webapp/examples/panel.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,44 @@
+
+<!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:pn="http://richfaces.org/output">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+<ui:define name="body">
+ <pn:panel>
+ <f:facet name="header">
+ Test
+ </f:facet>
+ <pn:panel>
+ <f:facet name="header">
+ Test
+ </f:facet>
+ <pn:panel>
+ <f:facet name="header">
+ Test
+ </f:facet>
+ Body text
+ </pn:panel>
+ </pn:panel>
+ </pn:panel>
+ <br/>
+ <pn:panel>
+ <f:facet name="header">
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ </f:facet>
+ <h:form>
+ <h:outputText value="inside the form"/>
+ </h:form>
+ </pn:panel>
+ </ui:define>
+</ui:composition>
+</body>
+</html>
\ No newline at end of file
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml
(from rev 19674, trunk/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,75 @@
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/output"
template="/templates/template.xhtml">
+
+ <ui:define name="body">
+
+<h:form id="form">
+<h:outputLink value="#"
+ onclick="RichFaces.$('form:popup').show(); return
false;">
+ Open popup
+ </h:outputLink>
+<rich:popupPanel id="popup" left="#{modalPanel.left}"
+ top="#{modalPanel.top}" height="#{modalPanel.height}"
+ width="#{modalPanel.width}"
+ minHeight="#{modalPanel.minHeight}"
+ minWidth="#{modalPanel.minWidth}"
+ maxHeight="#{modalPanel.maxHeight}"
+ maxWidth="#{modalPanel.maxWidth}"
+ moveable="#{modalPanel.moveable}"
+ resizeable="#{modalPanel.resizeable}"
+ keepVisualState="#{modalPanel.keepVisualState}"
+ rendered="#{modalPanel.rendered}"
+ autosized="#{modalPanel.autosized}"
+ shadowDepth="#{modalPanel.shadowDepth}"
+ shadowOpacity="#{modalPanel.shadowOpacity}"
+ show="#{modalPanel.show}"
+ domElementAttachment="#{modalPanel.domElementAttachment}"
+ >
+ <f:facet name="header">
+ <h:outputText value="HEADER for popup" />
+ </f:facet>
+ <f:facet name="controls">
+ <h:outputLink value="#"
+ onclick="RichFaces.$('form:popup').hide(); return
false;">
+ X
+ </h:outputLink>
+ </f:facet>
+ <p>Any content might be inside the panel.</p>
+ <p>Consider inclusion of the form elements into the popup or
+ redefinition of <b>domElementAttachment</b> attribute.</p>
+ <p>The popup panel is open and closed from the javascript function
+ of component client side object. The following code <a href="#"
+ onclick="RichFaces.$('form:popup').hide()">hide this
panel</a>:
<f:verbatim>#</f:verbatim>RichFaces.$('form:popup').hide()</p>
+
+ <h:inputText value="#{modalPanel.inputTextTest}" />
+
+ </rich:popupPanel>
+
+ <h:panelGrid columns="2">
+ <h:outputText value="Left: "/><h:inputText
value="#{modalPanel.left}"/>
+ <h:outputText value="Top: "/><h:inputText
value="#{modalPanel.top}"/>
+ <h:outputText value="Height: "/><h:inputText
value="#{modalPanel.height}"/>
+ <h:outputText value="Width: "/><h:inputText
value="#{modalPanel.width}"/>
+ <h:outputText value="MinHeight: "/><h:inputText
value="#{modalPanel.minHeight}"/>
+ <h:outputText value="MinWidth: "/><h:inputText
value="#{modalPanel.minWidth}"/>
+ <h:outputText value="MaxHeight: "/><h:inputText
value="#{modalPanel.maxHeight}"/>
+ <h:outputText value="MaxWidth: "/><h:inputText
value="#{modalPanel.maxWidth}"/>
+ <h:outputText value="Shadow depth: "/><h:inputText
value="#{modalPanel.shadowDepth}"/>
+ <h:outputText value="Shadow opacity: "/><h:inputText
value="#{modalPanel.shadowOpacity}"/>
+ <h:outputText value="Rendered: "/><h:selectBooleanCheckbox
value="#{modalPanel.rendered}"/>
+ <h:outputText value="Moveable: "/><h:selectBooleanCheckbox
value="#{modalPanel.moveable}"/>
+ <h:outputText value="Resizeable: "/><h:selectBooleanCheckbox
value="#{modalPanel.resizeable}"/>
+ <h:outputText value="Autosized: "/><h:selectBooleanCheckbox
value="#{modalPanel.autosized}"/>
+ <h:outputText value="Show: "/><h:selectBooleanCheckbox
value="#{modalPanel.show}"/>
+ <h:outputText value="keepVisualState: "/><h:selectBooleanCheckbox
value="#{modalPanel.keepVisualState}"/>
+ </h:panelGrid>
+ <h:commandButton value="Apply changes"/>
+</h:form>
+</ui:define>
+</ui:composition>
+
+
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/examples/progressbar.xhtml
(from rev 19674, trunk/examples/output-demo/src/main/webapp/examples/progressbar.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/examples/progressbar.xhtml
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/examples/progressbar.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,79 @@
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/output"
template="/templates/template.xhtml">
+
+ <ui:define name="body">
+ <script>
+//<![CDATA[
+ var counter = 1;
+ var intervalID;
+ function updateProgress(i) {
+ RichFaces.$('form2:progressBar').setValue(counter*5);
+ if ((counter++)>20){
+ clearInterval(intervalID);
+ document.getElementById('button').disabled=false;
+ }
+ }
+
+ function startProgress(){
+ counter=1;
+ document.getElementById('button').disabled=true;
+ RichFaces.$('form2:progressBar').enable();
+ RichFaces.$('form2:progressBar').setValue(1);
+ intervalID = setInterval(updateProgress,5000);
+ }
+//]]>
+ </script>
+ <h:form id="form">
+ Ajax mode:
+ <rich:progressBar mode="ajax"
value="#{progressBarBean.currentValue}"
+ interval="2000"
+ enabled="#{progressBarBean.enabled}" minValue="-1"
maxValue="100"
+ reRenderAfterComplete="progressPanel">
+ <f:facet name="initial">
+ <br />
+ <h:outputText value="Process doesn't started yet"
/>
+ <a4j:commandButton
action="#{progressBarBean.startProcess}"
+ value="Start Process"
+ render="form"
+ style="margin: 9px 0px 5px;" />
+ </f:facet>
+ <f:facet name="complete">
+ <br />
+ <h:outputText value="Process Done" />
+ <a4j:commandButton
action="#{progressBarBean.startProcess}"
+ value="Restart Process" execute="@form"
+ rendered="#{progressBarBean.buttonRendered}"
+ style="margin: 9px 0px 5px;" />
+ </f:facet>
+ <h:outputText value="#{progressBarBean.currentValue}
%"/>
+ </rich:progressBar>
+ <h:panelGroup id="progressPanel">
+ <h:outputText value="#{progressBarBean.currentValue}"/>
+ </h:panelGroup>
+ </h:form>
+
+
+
+ Client mode:
+
+
+ <h:form id="form2">
+ <rich:progressBar mode="client" id="progressBar">
+ <f:facet name="initial">
+ <h:outputText value="Process doesn't started yet"/>
+ </f:facet>
+ <f:facet name="complete">
+ <h:outputText value="Process Done"/>
+ </f:facet>
+ </rich:progressBar>
+ <button type="button" onclick="startProgress();"
style="margin: 9px 0px 5px;" id="button">Start
Progress</button>
+ </h:form>
+ </ui:define>
+</ui:composition>
+
+
+
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/examples/tabPanel.xhtml
(from rev 19674, trunk/examples/output-demo/src/main/webapp/examples/tabPanel.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/examples/tabPanel.xhtml
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/examples/tabPanel.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,31 @@
+<!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:pn="http://richfaces.org/output">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="title">Tab Panel Example</ui:define>
+ <ui:define name="body_head">Tab Panel Example</ui:define>
+
+ <ui:define name="body">
+ <p>Page</p>
+
+ <h:form id="f">
+ <pn:tabPanel id="panel" switchType="ajax"
tabHeaderClassDisabled="myClass_01">
+ <pn:tab header="tab1 header"
headerClassDisabled="myClass_02">
+ Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here.
+ </pn:tab>
+ <pn:tab header="tab2 header">
+ He he
+ </pn:tab>
+ </pn:tabPanel>
+ </h:form>
+ </ui:define>
+</ui:composition>
+</body>
+</html>
+
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tab.xhtml (from rev
19674, trunk/examples/output-demo/src/main/webapp/qunit/tab.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tab.xhtml
(rev 0)
+++ branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tab.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,259 @@
+<!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:pn="http://richfaces.org/output">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="scripts">
+ <h:outputScript name="qunit/qunit.js" />
+ <h:outputScript name="qunit/richfaces-qunit.js" />
+
+ <h:outputScript name="Tab.js" />
+ <h:outputScript name="TabPanel.js" />
+
+ <h:outputStylesheet name="qunit/qunit.css" />
+ </ui:define>
+
+ <ui:define name="title">Tab Example</ui:define>
+ <ui:define name="body_head">Tab Example</ui:define>
+
+ <ui:define name="body">
+ <p>Page</p>
+
+ <h:form id="f" style="border:blue solid thin;">
+ <pn:accordion >
+ <pn:accordionItem></pn:accordionItem>
+ </pn:accordion>
+
+ <div id="f:panel" style="width: 100%;">
+ <input type="hidden" name="f:panel-value"
id="f:panel-value" value="name1" />
+ <script type="text/javascript">
+ new RichFaces.ui.TabPanel(
+ "f:panel",
+ {
+
"onbeforeitemchange":function(event){RichFaces.ajax("f:panel",event,{"incId":"1"}
)},
+
"onitemchange":function(event){RichFaces.ajax("f:panel",event,{"incId":"1"}
)},
+ "activeItem":"name1",
+ "ajax":{"incId":"1"} ,
+ "cycledSwitching":false,
+ "isKeepHeight":true
+ }
+ )
+
+ </script>
+
+ <div id="f:panel:header"
class="rftp_toptab_tabline_vis">
+ <div class="rftp_toptab_tabs">
+ <div style="display: table-row;">
+ <div style="padding-left: 5px;"
class="rftp_toptab_spacer" ></div>
+
+ <div id="f:name1:header">
+ <div id="f:name1:header:active"
class="rftp_toptab rftp_active_top">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt=""/>
+ </div>
+ <div class="rftp_label">Tab
name 1 Active</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close.gif" alt=""/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name1:header:inactive"
style="display:none" class="rftp_toptab rftp_active_top">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt=""/>
+ </div>
+ <div class="rftp_label">Tab
name 1 Inactive</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close.gif" alt=""/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name1:header:disabled"
style="display:none" class="rftp_toptab rftp_active_top">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt=""/>
+ </div>
+ <div class="rftp_label">Tab
name 1 Disabled</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close.gif" alt=""/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="rftp_toptab_spacer
rftp_horizonttab_tabspacer_width"></div>
+
+ <div id="f:name2:header">
+ <div id="f:name2:header:active"
style="display:none" class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 2 Active</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name2:header:inactive"
class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 2 Inactive</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name2:header:disabled"
style="display:none" class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 2 Disabled</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="rftp_toptab_spacer
rftp_horizonttab_tabspacer_width"></div>
+
+ <div id="f:name3:header">
+ <div id="f:name3:header:active"
style="display:none" class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 3 Active</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name3:header:inactive"
class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 3 Inactive</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="f:name3:header:disabled"
style="display:none" class="rftp_toptab">
+ <div style="display: table;">
+ <div style="display:
table-row;">
+ <div class="rftp_icon">
+ <img width="16"
height="16" src="ico.gif" alt="" />
+ </div>
+ <div class="rftp_label">Tab
name 3 Disabled</div>
+ <div class="rftp_close">
+ <img width="16"
height="16" src="close_act.gif" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="rftp_toptab_spacer
rftp_horizonttab_tabspacer_width"></div>
+
+ <div style="padding-right: 5px; width: 100%;"
class="rftp_toptab_spacer"></div>
+ </div>
+ </div>
+
+ <div class="rftp_toptab_scroll_left
rftp_hidden">«</div>
+ <div class="rftp_toptab_tabslist
rftp_hidden">↓</div>
+ <div class="rftp_toptab_scroll_right
rftp_hidden">»</div>
+ </div>
+
+ <div class="rftp_toptab_border"></div>
+
+ <div id="f:panel:content" >
+ <div id="f:name1" class="rftp_toptab_content"
>
+ <script type="text/javascript">
+ new RichFaces.ui.Tab(
+ "f:name1",
+ {
+
"onleave":function(event){RichFaces.ajax("f:name1",event,{"incId":"1"}
)},
+
"onenter":function(event){RichFaces.ajax("f:name1",event,{"incId":"1"}
)},
+ "index":0,
+ "togglePanelId":"f:panel",
+ "switchMode":"client",
+ "name":"name1"
+ }
+ )
+ </script>
+ Content 01 will be here.
+ </div>
+ <div id="f:name2" class="rftp_toptab_content"
style="display:none;">
+ <script type="text/javascript">
+ new RichFaces.ui.Tab(
+ "f:name2",
+ {
+
"onleave":function(event){RichFaces.ajax("f:name2",event,{"incId":"1"}
)},
+
"onenter":function(event){RichFaces.ajax("f:name2",event,{"incId":"1"}
)},
+ "index":1,
+ "togglePanelId":"f:panel",
+ "switchMode":"client",
+ "name":"name2"
+ }
+ )
+ </script>
+ Content 02 will be here.
+ </div>
+ <div id="f:name3" class="rftp_toptab_content"
style="display:none;">
+ <script type="text/javascript">
+ new RichFaces.ui.Tab(
+ "f:name3",
+ {
+
"onleave":function(event){RichFaces.ajax("f:name3",event,{"incId":"1"}
)},
+
"onenter":function(event){RichFaces.ajax("f:name3",event,{"incId":"1"}
)},
+ "index":2,
+ "togglePanelId":"f:panel",
+ "switchMode":"client",
+ "name":"name3"
+ }
+ )
+ </script>
+ Content 03 will be here.
+ </div>
+ </div>
+ </div>
+
+ </h:form>
+
+ <p>Result</p>
+ <div>
+ <ol id="qunit-tests"></ol>
+
+ <div id="testDiv" style="margin-top:10px; border:1px solid
#a0a0a0">Main Test Div</div>
+ </div>
+ <h:outputScript name="tests/richfaces-tab-qunit.js" />
+ </ui:define>
+</ui:composition>
+</body>
+</html>
+
Copied: branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tabPanel.xhtml (from
rev 19674, trunk/examples/output-demo/src/main/webapp/qunit/tabPanel.xhtml)
===================================================================
--- branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tabPanel.xhtml
(rev 0)
+++ branches/RF-7817/examples/output-demo/src/main/webapp/qunit/tabPanel.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,47 @@
+<!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:pn="http://richfaces.org/output">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="scripts">
+ <h:outputScript name="qunit/qunit.js" />
+ <h:outputScript name="qunit/richfaces-qunit.js" />
+
+ <h:outputStylesheet name="qunit/qunit.css" />
+ </ui:define>
+
+ <ui:define name="title">Tab Panel Example</ui:define>
+ <ui:define name="body_head">Tab Panel Example</ui:define>
+
+ <ui:define name="body">
+ <p>Page</p>
+
+ <h:form id="f">
+ <pn:tabPanel id="panel" switchType="ajax">
+ <pn:tab header="tab1 header">
+ Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here. Content will be here.
Content will be here. Content will be here. Content will be here.
+ </pn:tab>
+ <pn:tab header="tab2 header">
+ He he
+ </pn:tab>
+ </pn:tabPanel>
+ </h:form>
+
+ <p>Result</p>
+ <div>
+ <ol id="qunit-tests"></ol>
+
+ <div id="testDiv" style="margin-top:10px; border:1px solid
#a0a0a0">Main Test Div</div>
+
+ </div>
+ <h:outputScript name="tests/richfaces-tab-panel-qunit.js" />
+ </ui:define>
+</ui:composition>
+</body>
+</html>
+
Copied:
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-accordion-item-qunit.js
(from rev 19674,
trunk/examples/output-demo/src/main/webapp/resources/tests/richfaces-accordion-item-qunit.js)
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-accordion-item-qunit.js
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-accordion-item-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, 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.
+ */
+
+RichFaces.QUnit.run(function() {
+ module("richfaces-accordion-item");
+
+ var ACCORDION_ITEM_ID = "f:panel";
+
+ test("RichFaces.ui.AccordionItem test constructor", function () {
+ var c = RichFaces.$(ACCORDION_ITEM_ID);
+
+ ok(c instanceof RichFaces.ui.AccordionItem, "inctance of
RichFaces.ui.AccordionItem");
+ equals(c.id, ACCORDION_ITEM_ID, "id");
+ // TODO other params
+
+ });
+
+ test("RichFaces.ui.AccordionItem test public api", function () {
+ var c = RichFaces.$(ACCORDION_ITEM_ID);
+
+ var PUBLIC_API = [/* ... */];
+
+ for (i in PUBLIC_API) {
+ var funcName = PUBLIC_API[i];
+ ok(c.[funcName], funcName + "present in component")
+ // TODO check other functions + check is it function
+ }
+ });
+
+ test("RichFaces.ui.AccordionItem test events", function () {
+ var componentId = ACCORDION_ITEM_ID;
+ var c = RichFaces.$(componentId);
+
+ expect(5);
+ var beforeitemchngeHandler = function (event, comp, data) {
+ ok(true, "beforeitemchnge handler invouked");
+
+ same(data.id, componentId, "component id");
+ same(data.oldItem.getName(), c.items[0].getName(), "old item");
+ same(data.newItem.getName(), c.items[1].getName(), "new item");
+
+ return true;
+ };
+
+ var beforeitemchngeHandlerWrapper = RichFaces.Event.bindById(componentId,
"beforeitemchange", beforeitemchngeHandler);
+
+ var itemchangeHandler = handler("itemchnge handler invouked",
undefined);
+ var itemchangeHandlerWrapper = RichFaces.Event.bindById(componentId,
"itemchange", itemchangeHandler);
+
+ c.switchToItem("name2");
+
+ RichFaces.Event.unbindById(componentId, "beforeitemchange",
beforeitemchngeHandlerWrapper);
+ RichFaces.Event.unbindById(componentId, "itemchange",
itemchangeHandlerWrapper);
+
+ c.switchToItem("name1");
+ });
+});
Copied:
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-panel-qunit.js
(from rev 19674,
trunk/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-panel-qunit.js)
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-panel-qunit.js
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-panel-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, 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.
+ */
+
+RichFaces.QUnit.run(function() {
+ module("richfaces-tab-panel");
+
+ var TAB_PANEL_ID = "f:panel";
+
+ function handler (msg, returnValue) {
+ return function () {
+ ok(true, msg);
+
+ if (returnValue != undefined) {
+ return returnValue;
+ }
+ };
+ }
+
+ test("RichFaces.ui.TabPanel test constructor", function () {
+ var c = RichFaces.$(TAB_PANEL_ID);
+
+ ok(c instanceof RichFaces.ui.TabPanel, "inctance of
RichFaces.ui.TabPanel");
+ equals(c.id, TAB_PANEL_ID, "id");
+ });
+
+ test("RichFaces.ui.TabPanel test public api", function () {
+ var c = RichFaces.$(TAB_PANEL_ID);
+
+ var PUBLIC_API = [/* ... */];
+
+ for (var i in PUBLIC_API) {
+ var funcName = PUBLIC_API[i];
+ ok(c[funcName], funcName + "present in component");
+ // TODO check other functions + check is it function
+ }
+ });
+
+ test("RichFaces.ui.TabPanel test events", function () {
+ var componentId = TAB_PANEL_ID;
+ var c = RichFaces.$(componentId);
+
+ expect(5);
+ var beforeitemchngeHandler = function (event, comp, data) {
+ ok(true, "beforeitemchnge handler invouked");
+
+ same(data.id, componentId, "component id");
+ same(data.oldItem.getName(), c.items[0].getName(), "old item");
+ same(data.newItem.getName(), c.items[1].getName(), "new item");
+
+ return true;
+ };
+
+ var beforeitemchngeHandlerWrapper = RichFaces.Event.bindById(componentId,
"beforeitemchange", beforeitemchngeHandler);
+
+ var itemchangeHandler = handler("itemchnge handler invouked",
undefined);
+ var itemchangeHandlerWrapper = RichFaces.Event.bindById(componentId,
"itemchange", itemchangeHandler);
+
+ c.switchToItem("name2");
+
+ RichFaces.Event.unbindById(componentId, "beforeitemchange",
beforeitemchngeHandlerWrapper);
+ RichFaces.Event.unbindById(componentId, "itemchange",
itemchangeHandlerWrapper);
+
+ c.switchToItem("name1");
+ });
+});
Copied:
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-qunit.js
(from rev 19674,
trunk/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-qunit.js)
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-qunit.js
(rev 0)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/resources/tests/richfaces-tab-qunit.js 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, 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.
+ */
+
+RichFaces.QUnit.run(function() {
+ module("richfaces-tab");
+
+ var TAB_ID = "f:panel";
+
+ test("RichFaces.ui.Tab test constructor", function () {
+ var c = RichFaces.$(TAB_ID);
+
+ ok(c instanceof RichFaces.ui.Tab, "inctance of RichFaces.ui.Tab");
+ equals(c.id, TAB_ID, "id");
+ // TODO other params
+
+ });
+
+ test("RichFaces.ui.Tab test public api", function () {
+ var c = RichFaces.$(TAB_ID);
+
+ var PUBLIC_API = [/* ... */];
+
+ for (var i in PUBLIC_API) {
+ var funcName = PUBLIC_API[i];
+ ok(c.[funcName], funcName + "present in component");
+ // TODO check other functions + check is it function
+ }
+ });
+
+ test("RichFaces.ui.Tab test events", function () {
+ var componentId = TAB_ID;
+ var c = RichFaces.$(componentId);
+
+ expect(5);
+ var beforeitemchngeHandler = function (event, comp, data) {
+ ok(true, "beforeitemchnge handler invouked");
+
+ same(data.id, componentId, "component id");
+ same(data.oldItem.getName(), c.items[0].getName(), "old item");
+ same(data.newItem.getName(), c.items[1].getName(), "new item");
+
+ return true;
+ };
+
+ var beforeitemchngeHandlerWrapper = RichFaces.Event.bindById(componentId,
"beforeitemchange", beforeitemchngeHandler);
+
+ var itemchangeHandler = handler("itemchnge handler invouked",
undefined);
+ var itemchangeHandlerWrapper = RichFaces.Event.bindById(componentId,
"itemchange", itemchangeHandler);
+
+ c.switchToItem("name2");
+
+ RichFaces.Event.unbindById(componentId, "beforeitemchange",
beforeitemchngeHandlerWrapper);
+ RichFaces.Event.unbindById(componentId, "itemchange",
itemchangeHandlerWrapper);
+
+ c.switchToItem("name1");
+ });
+});
Modified: branches/RF-7817/examples/output-demo/src/main/webapp/templates/template.xhtml
===================================================================
---
branches/RF-7817/examples/output-demo/src/main/webapp/templates/template.xhtml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/output-demo/src/main/webapp/templates/template.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -10,157 +10,6 @@
</title>
<meta http-equiv="content-type" content="text/xhtml;
charset=UTF-8" />
-
- <style type="text/css">
- * {
- font-family: verdana
- }
-
- .rftp_toptab {
- display: table-cell;
- border: 1px solid #A6A6A6;
- padding: 0px 0px 3px 0px;
- vertical-align: bottom;
- background: url(tab_bg.gif) top repeat-x #DAE7F5;
- }
-
- .rftp_active_top {
- border-bottom: 0px;
- font-weight: bold;
- padding: 3px 0px 0px 0px;
- vertical-align: top;
- background: url(acttab_bg.gif) top repeat-x #C9DBEF;
- }
-
- .rftp_active2_top {
- border-bottom: 0px;
- font-weight: bold;
- padding: 3px 0px 0px 0px;
- vertical-align: top;
- background: url(acttab2_bg.gif) top repeat-x #FFFFFF;
- }
-
- .rftp_toptab_tabline_vis {
- border: 1px solid #a6a6a6;
- background: url(tabline_bg.gif) top repeat-x #EEF4FB;
- border-bottom: 0px;
- padding-top: 2px;
- overflow: hidden;
- height: 23px;
- white-space: nowrap;
- position: relative;
- }
-
- .rftp_toptab_tabline_dis {
- border-bottom: 0px;
- padding-top: 2px;
- overflow: hidden;
- height: 25px;
- white-space: nowrap;
- position: relative;
- }
-
- .rftp_toptab_tabs {
- display: table;
- border: 0px;
- width: 100%;
- height: 100%;
- }
-
- .rftp_toptab_spacer {
- display: table-cell;
- border-bottom: 1px solid #A6A6A6;
- }
-
- .rftp_horizonttab_tabspacer_width {
- padding-left: 1px;
- }
-
- .rftp_icon {
- display: table-cell;
- vertical-align: middle;
- padding: 0px 5px 0px 5px;
- }
-
- .rftp_close {
- display: table-cell;
- vertical-align: middle;
- padding: 0px 3px 0px 15px;
- }
-
- .rftp_label {
- display: table-cell;
- vertical-align: middle;
- font-family: verdana;
- font-size: 11px;
- }
-
- .rftp_toptab_scroll_left {
- background: url(acttab_bg.gif) top repeat-x #C9DBEF;
- position: absolute;
- top: 1px;
- left: 1px;
- width: 15px;
- height: 250px;
- border: 1px solid #a6a6a6;
- font-weight: bold;
- text-align: center;
- font-family: verdana;
- font-size: 11px;
- padding-top: 6px;
- }
-
- .rftp_toptab_scroll_right {
- background: url(acttab_bg.gif) top repeat-x #C9DBEF;
- position: absolute;
- top: 1px;
- right: 17px;
- width: 15px;
- height: 250px;
- border: 1px solid #a6a6a6;
- font-weight: bold;
- text-align: center;
- font-family: verdana;
- font-size: 11px;
- padding-top: 6px;
- }
-
- .rftp_toptab_tabslist {
- background: url(acttab_bg.gif) top repeat-x #C9DBEF;
- position: absolute;
- top: 1px;
- right: 1px;
- width: 15px;
- height: 250px;
- border: 1px solid #a6a6a6;
- font-weight: bold;
- text-align: center;
- font-family: verdana;
- font-size: 14px;
- padding-top: 2px;
- }
-
- .rftp_toptab_border {
- border: 1px solid #A6A6A6;
- border-top: 0px;
- height: 2px;
- background: #C9DBEF;
- }
-
- .rftp_toptab_content {
- border: 1px solid #A6A6A6;
- border-top: 0px;
- font-family: verdana;
- font-size: 11px;
- padding: 10px;
- background: #ffffff;
- }
-
- .rftp_hidden {
- display: none
- }
- </style>
-
</h:head>
<h:body>
@@ -198,12 +47,36 @@
<li><h:commandLink
value="accordion" action="accordion" /></li>
</ul>
</li>
+ <li>
+ <p>Panel</p>
+ <ul>
+ <li><h:commandLink value="panel"
action="panel" /></li>
+ </ul>
+ </li>
+ <li>
+ <p>Popup panel</p>
+ <ul>
+ <li><h:commandLink value="popup"
action="popup" /></li>
+ </ul>
+ </li>
+ <li>
+ <p>ProgressBar</p>
+ <ul>
+ <li><h:commandLink
value="progressbar" action="progressbar" /></li>
+ </ul>
+ </li>
<li>
<p>Collapsible Panel</p>
<ul>
<li><h:commandLink value="Collapsible
Panel" action="collapsiblePanel" /></li>
</ul>
</li>
+ <li>
+ <p>Tab Panel</p>
+ <ul>
+ <li><h:commandLink value="Tab
Panel" action="tabPanel" /></li>
+ </ul>
+ </li>
</ul>
<p>QUnit</p>
<ul>
@@ -212,6 +85,7 @@
<li><h:commandLink value="accordion"
action="qunit/accordion" /></li>
<li><h:commandLink
value="accordionHeaders" action="qunit/accordionHeaders"
/></li>
<li><h:commandLink
value="collapsiblePanel" action="qunit/collapsiblePanel"
/></li>
+ <li><h:commandLink value="tabPanel"
action="qunit/tabPanel" /></li>
</ul>
</h:form>
</td>
Modified: branches/RF-7817/examples/parent/pom.xml
===================================================================
--- branches/RF-7817/examples/parent/pom.xml 2010-10-27 16:17:45 UTC (rev 19703)
+++ branches/RF-7817/examples/parent/pom.xml 2010-10-27 16:28:07 UTC (rev 19704)
@@ -100,10 +100,11 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
- <version>2.3</version>
+ <version>2.5</version>
<configuration>
-
<configLocation>richfaces-checkstyle/richfaces-checkstyle.xml
- </configLocation>
+
<configLocation>richfaces-checkstyle/richfaces-checkstyle.xml</configLocation>
+
<logViolationsToConsole>true</logViolationsToConsole>
+ <violationSeverity>error</violationSeverity>
</configuration>
<executions>
<execution>
Modified: branches/RF-7817/examples/richfaces-showcase/pom.xml
===================================================================
--- branches/RF-7817/examples/richfaces-showcase/pom.xml 2010-10-27 16:17:45 UTC (rev
19703)
+++ branches/RF-7817/examples/richfaces-showcase/pom.xml 2010-10-27 16:28:07 UTC (rev
19704)
@@ -145,6 +145,14 @@
</dependency>
</dependencies>
<build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <directory>src/main/resources-gae</directory>
+ </resource>
+ </resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
Modified: branches/RF-7817/examples/richfaces-showcase/readme.txt
===================================================================
--- branches/RF-7817/examples/richfaces-showcase/readme.txt 2010-10-27 16:17:45 UTC (rev
19703)
+++ branches/RF-7817/examples/richfaces-showcase/readme.txt 2010-10-27 16:28:07 UTC (rev
19704)
@@ -46,7 +46,8 @@
* mvn clean package -Pgae -Denforcer.skip=true
(enforcer skipped as resource plugin using snapshot plugin)
-And now you're ready to publish the application to GAE. just use appcfg as for any
other one like described at google documentation.
+And now you're ready to publish the application to GAE. just use appcfg as for any
other one like described at google documentation. Do not forget to register your
+own application name and rename the demo application accordingly.
more details about the resource plugin(it could be highly usefull not only in case of GAE
usage but for general cases like serving resources at separate content systems) -
will be published at our wiki and announced at RichFaces usage space.
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java
===================================================================
---
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,74 +0,0 @@
-/**
- *
- */
-package org.richfaces.demo.progressBar;
-
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.faces.bean.ManagedBean;
-import javax.faces.bean.ViewScoped;
-
-/**
- * @author Ilya Shaikovsky
- *
- */
-@ManagedBean
-@ViewScoped
-public class ProgressBarBean implements Serializable {
-
- private static final long serialVersionUID = -314414475508376585L;
-
- private boolean buttonRendered = true;
- private boolean enabled=false;
- private Long startTime;
-
- public String startProcess() {
- setEnabled(true);
- setButtonRendered(false);
- setStartTime(new Date().getTime());
- return null;
- }
-
- public Long getCurrentValue(){
- if (isEnabled()) {
- Long current = (new Date().getTime() - startTime)/1000;
- if (current>100){
- setButtonRendered(true);
- } else if (current.equals(0)) {
- return new Long(1);
- }
- return (new Date().getTime() - startTime)/1000;
- }
- if (startTime == null) {
- return Long.valueOf(-1);
- } else {
- return Long.valueOf(101);
- }
-
- }
-
- public boolean isEnabled() {
- return enabled;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
-
- public Long getStartTime() {
- return startTime;
- }
-
- public void setStartTime(Long startTime) {
- this.startTime = startTime;
- }
-
- public boolean isButtonRendered() {
- return buttonRendered;
- }
-
- public void setButtonRendered(boolean buttonRendered) {
- this.buttonRendered = buttonRendered;
- }
-}
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/java/org/richfaces/demo/progressBar/ProgressBarBean.java 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,74 @@
+/**
+ *
+ */
+package org.richfaces.demo.progressBar;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.ViewScoped;
+
+/**
+ * @author Ilya Shaikovsky
+ *
+ */
+@ManagedBean
+@ViewScoped
+public class ProgressBarBean implements Serializable {
+
+ private static final long serialVersionUID = -314414475508376585L;
+
+ private boolean buttonRendered = true;
+ private boolean enabled=false;
+ private Long startTime;
+
+ public String startProcess() {
+ setEnabled(true);
+ setButtonRendered(false);
+ setStartTime(new Date().getTime());
+ return null;
+ }
+
+ public Long getCurrentValue(){
+ if (isEnabled()) {
+ Long current = (new Date().getTime() - startTime)/1000;
+ if (current>100){
+ setButtonRendered(true);
+ } else if (current.equals(0)) {
+ return new Long(1);
+ }
+ return (new Date().getTime() - startTime)/1000;
+ }
+ if (startTime == null) {
+ return Long.valueOf(-1);
+ } else {
+ return Long.valueOf(101);
+ }
+
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public Long getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Long startTime) {
+ this.startTime = startTime;
+ }
+
+ public boolean isButtonRendered() {
+ return buttonRendered;
+ }
+
+ public void setButtonRendered(boolean buttonRendered) {
+ this.buttonRendered = buttonRendered;
+ }
+}
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/jdoconfig.xml
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/jdoconfig.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/jdoconfig.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<jdoconfig
xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdocon...
-
- <persistence-manager-factory name="transactions-optional">
- <property name="javax.jdo.PersistenceManagerFactoryClass"
-
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
- <property name="javax.jdo.option.ConnectionURL"
value="appengine"/>
- <property name="javax.jdo.option.NontransactionalRead"
value="true"/>
- <property name="javax.jdo.option.NontransactionalWrite"
value="true"/>
- <property name="javax.jdo.option.RetainValues"
value="true"/>
- <property name="datanucleus.appengine.autoCreateDatastoreTxns"
value="true"/>
- </persistence-manager-factory>
-</jdoconfig>
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/persistence.xml
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/persistence.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources/META-INF/persistence.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
- version="1.0">
- <persistence-unit name="transactions-optional">
-
<provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
- <properties>
- <property name="datanucleus.NontransactionalRead"
value="true"/>
- <property name="datanucleus.NontransactionalWrite"
value="true"/>
- <property name="datanucleus.ConnectionURL"
value="appengine"/>
- </properties>
- </persistence-unit>
-
-</persistence>
\ No newline at end of file
Modified:
branches/RF-7817/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml 2010-10-27
16:17:45 UTC (rev 19703)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -162,7 +162,7 @@
</sample>
</samples>
</demo>
- <demo new="true">
+ <demo>
<id>mediaOutput</id>
<name>a4j:mediaOutput</name>
<samples>
@@ -230,7 +230,7 @@
</sample>
</samples>
</demo>
- <demo new="true">
+ <demo>
<id>extendedDataTable</id>
<name>rich:extendedDataTable</name>
<samples>
@@ -238,7 +238,7 @@
<id>simpleTable</id>
<name>ExtendedData Table Basic Usage</name>
</sample>
- <sample new="true">
+ <sample>
<id>exTableSelection</id>
<name>ExtendedData Table Selection usage</name>
</sample>
@@ -268,7 +268,7 @@
</sample>
</samples>
</demo>
- <demo new="true">
+ <demo>
<id>list</id>
<name>rich:list</name>
<samples>
@@ -278,7 +278,7 @@
</sample>
</samples>
</demo>
- <demo new="true">
+ <demo>
<id>dataGrid</id>
<name>rich:dataGrid</name>
<samples>
@@ -290,7 +290,7 @@
</demo>
</demos>
</group>
- <group new="true">
+ <group>
<name>Output/Panels</name>
<demos>
<demo>
@@ -317,6 +317,37 @@
</sample>
</samples>
</demo>
+ <demo new="true">
+ <id>tabPanel</id>
+ <name>rich:tabPanel</name>
+ <samples>
+ <sample>
+ <id>simple</id>
+ <description>Simple Tab Panels</description>
+ <name>Simple Tab Panels</name>
+ </sample>
+ <!-- sample>
+ <id>headerCustomization</id>
+ <description>Headers Customization</description>
+ <name>Headers Customization</name>
+ </sample-->
+ <sample>
+ <id>valueManagement</id>
+ <description>Selected Tab Management</description>
+ <name>Selected Tab Management</name>
+ </sample>
+ </samples>
+ </demo>
+ <demo new="true">
+ <id>collapsiblePanel</id>
+ <name>rich:collapsiblePanel</name>
+ <samples>
+ <sample>
+ <id>simple</id>
+ <name>Simple Collapsible Panel</name>
+ </sample>
+ </samples>
+ </demo>
<demo>
<id>accordion</id>
<name>rich:accordion</name>
@@ -341,9 +372,23 @@
</sample>
</samples>
</demo>
+ <demo>
+ <id>progressBar</id>
+ <name>rich:progressBar</name>
+ <samples>
+ <sample>
+ <id>ajaxProgressBar</id>
+ <name>ProgressBar in ajax mode</name>
+ </sample>
+ <sample>
+ <id>clientProgressBar</id>
+ <name>ProgressBar in client mode</name>
+ </sample>
+ </samples>
+ </demo>
</demos>
</group>
- <group new="true">
+ <group>
<name>Inputs and Selects</name>
<demos>
<demo>
@@ -367,6 +412,16 @@
</samples>
</demo>
<demo>
+ <id>inputNumberSpinner</id>
+ <name>rich:inputNumberSpinner</name>
+ <samples>
+ <sample>
+ <id>spinners</id>
+ <name>Different Spinners samples</name>
+ </sample>
+ </samples>
+ </demo>
+ <demo>
<id>inplaceInput</id>
<name>rich:inplaceInput</name>
<samples>
@@ -411,7 +466,7 @@
</sample>
</samples>
</demo>
- <demo new="true">
+ <demo>
<id>jquery</id>
<name>rich:jQuery</name>
<samples>
Copied: branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae (from rev
19674, trunk/examples/richfaces-showcase/src/main/resources-gae)
Copied: branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF (from
rev 19674, trunk/examples/richfaces-showcase/src/main/resources-gae/META-INF)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<jdoconfig
xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdocon...
-
- <persistence-manager-factory name="transactions-optional">
- <property name="javax.jdo.PersistenceManagerFactoryClass"
-
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
- <property name="javax.jdo.option.ConnectionURL"
value="appengine"/>
- <property name="javax.jdo.option.NontransactionalRead"
value="true"/>
- <property name="javax.jdo.option.NontransactionalWrite"
value="true"/>
- <property name="javax.jdo.option.RetainValues"
value="true"/>
- <property name="datanucleus.appengine.autoCreateDatastoreTxns"
value="true"/>
- </persistence-manager-factory>
-</jdoconfig>
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/jdoconfig.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jdoconfig
xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdocon...
+
+ <persistence-manager-factory name="transactions-optional">
+ <property name="javax.jdo.PersistenceManagerFactoryClass"
+
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
+ <property name="javax.jdo.option.ConnectionURL"
value="appengine"/>
+ <property name="javax.jdo.option.NontransactionalRead"
value="true"/>
+ <property name="javax.jdo.option.NontransactionalWrite"
value="true"/>
+ <property name="javax.jdo.option.RetainValues"
value="true"/>
+ <property name="datanucleus.appengine.autoCreateDatastoreTxns"
value="true"/>
+ </persistence-manager-factory>
+</jdoconfig>
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
- version="1.0">
- <persistence-unit name="transactions-optional">
-
<provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
- <properties>
- <property name="datanucleus.NontransactionalRead"
value="true"/>
- <property name="datanucleus.NontransactionalWrite"
value="true"/>
- <property name="datanucleus.ConnectionURL"
value="appengine"/>
- </properties>
- </persistence-unit>
-
-</persistence>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/resources-gae/META-INF/persistence.xml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="transactions-optional">
+
<provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
+ <properties>
+ <property name="datanucleus.NontransactionalRead"
value="true"/>
+ <property name="datanucleus.NontransactionalWrite"
value="true"/>
+ <property name="datanucleus.ConnectionURL"
value="appengine"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel)
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition
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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
- <h:form>
- <p><b>Here is simple panel in client mode:</b></p>
-
- <rich:collapsiblePanel header="Overview" switchType="client">
- <h:graphicImage value="/images/icons/common/rf.png"
- style="float:right" />
- RichFaces is a component library for JSF and an advanced framework for
- easily integrating AJAX capabilities into business applications.
- <ul>
- <li>100+ AJAX enabled components in two libraries</li>
- <li>a4j: page centric AJAX controls</li>
- <li>rich: self contained, ready to use components</li>
- <li>Whole set of JSF benefits while working with AJAX</li>
- <li>Skinnability mechanism</li>
- <li>Component Development Kit (CDK)</li>
- <li>Dynamic resources handling</li>
- <li>Testing facilities for components, actions, listeners, and
- pages</li>
- <li>Broad cross-browser support</li>
- <li>Large and active community</li>
- </ul>
- </rich:collapsiblePanel>
-
- <p><b>And that panel switched by ajax and closed by
default:</b></p>
-
- <rich:collapsiblePanel header="JSF 2 and RichFaces 4"
expanded="false"
- switchType="ajax">
- <p>We are working hard on RichFaces 4.0 which will have full JSF
- 2 integration. That is not all though, here is a summary of updates
- and features:</p>
- <ul>
- <li>Redesigned modular repository and build system.</li>
- <li>Simplified Component Development Kit with annotations,
- faces-config extensions, advanced templates support and more..</li>
- <li>Ajax framework improvements extending the JSF 2
- specification.</li>
- <li>Component review for consistency, usability, and redesign
- following semantic HTML principles where possible.</li>
- <li>Both server-side and client-side performance optimization.</li>
- <li>Strict code clean-up and review.</li>
- </ul>
- </rich:collapsiblePanel>
- </h:form>
-</ui:composition>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/samples/simple-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+ <h:form>
+ <p><b>Here is simple panel in client mode:</b></p>
+
+ <rich:collapsiblePanel header="Overview" switchType="client">
+ <h:graphicImage value="/images/icons/common/rf.png"
+ style="float:right" />
+ RichFaces is a component library for JSF and an advanced framework for
+ easily integrating AJAX capabilities into business applications.
+ <ul>
+ <li>100+ AJAX enabled components in two libraries</li>
+ <li>a4j: page centric AJAX controls</li>
+ <li>rich: self contained, ready to use components</li>
+ <li>Whole set of JSF benefits while working with AJAX</li>
+ <li>Skinnability mechanism</li>
+ <li>Component Development Kit (CDK)</li>
+ <li>Dynamic resources handling</li>
+ <li>Testing facilities for components, actions, listeners, and
+ pages</li>
+ <li>Broad cross-browser support</li>
+ <li>Large and active community</li>
+ </ul>
+ </rich:collapsiblePanel>
+
+ <p><b>And that panel switched by ajax and closed by
default:</b></p>
+
+ <rich:collapsiblePanel header="JSF 2 and RichFaces 4"
expanded="false"
+ switchType="ajax">
+ <p>We are working hard on RichFaces 4.0 which will have full JSF
+ 2 integration. That is not all though, here is a summary of updates
+ and features:</p>
+ <ul>
+ <li>Redesigned modular repository and build system.</li>
+ <li>Simplified Component Development Kit with annotations,
+ faces-config extensions, advanced templates support and more..</li>
+ <li>Ajax framework improvements extending the JSF 2
+ specification.</li>
+ <li>Component review for consistency, usability, and redesign
+ following semantic HTML principles where possible.</li>
+ <li>Both server-side and client-side performance optimization.</li>
+ <li>Strict code clean-up and review.</li>
+ </ul>
+ </rich:collapsiblePanel>
+ </h:form>
+</ui:composition>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,25 +0,0 @@
-<!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">
-
-<ui:composition>
- <p><b>collapsiblePanel</b> representation is fully analogous to
simple
- <b>rich:panel</b> component. Additionally that component could be toggled
- between two representations. In collapsed state only header shown and
- in expanded state there is complete panel.</p>
- <p>As most of switchable components it has three <b>switch types</b>
for
- switching between states - <b>ajax</b>, <b>server</b> and
<b>client</b>
- </p>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
- <p>In ajax and server mode <b>PanelToggleEvent</b> queued and could be
handled
- using <b>Listener</b> defined via <b>toggleListener</b>
attribute</p>
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/collapsiblePanel/simple.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,25 @@
+<!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">
+
+<ui:composition>
+ <p><b>collapsiblePanel</b> representation is fully analogous to
simple
+ <b>rich:panel</b> component. Additionally that component could be toggled
+ between two representations. In collapsed state only header shown and
+ in expanded state there is complete panel.</p>
+ <p>As most of switchable components it has three <b>switch types</b>
for
+ switching between states - <b>ajax</b>, <b>server</b> and
<b>client</b>
+ </p>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+ <p>In ajax and server mode <b>PanelToggleEvent</b> queued and could be
handled
+ using <b>Listener</b> defined via <b>toggleListener</b>
attribute</p>
+</ui:composition>
+</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner)
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition
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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
-
- <p>Here is an example of default inputNumberSpinner:</p>
-
- <rich:inputNumberSpinner value="50"/>
-
- <p>Here is one more inputNumberSpinner:</p>
-
- <rich:inputNumberSpinner value="50" step="10"/>
-
-</ui:composition>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/samples/spinners-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+
+ <p>Here is an example of default inputNumberSpinner:</p>
+
+ <rich:inputNumberSpinner value="50"/>
+
+ <p>Here is one more inputNumberSpinner:</p>
+
+ <rich:inputNumberSpinner value="50" step="10"/>
+
+</ui:composition>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,20 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>InputNumberSpinner is a highly customizable component that is used to define a
numeric
- input in a given range. A user can use a spinner control or just type some text into an
input field.</p>
-
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
-</ui:composition>
-
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSpinner/spinners.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,20 @@
+<!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">
+
+<ui:composition>
+ <p>InputNumberSpinner is a highly customizable component that is used to define a
numeric
+ input in a given range. A user can use a spinner control or just type some text into an
input field.</p>
+
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+</ui:composition>
+
+</html>
\ No newline at end of file
Copied: branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar
(from rev 19674, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,25 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>ProgressBar worked in "ajax" mode </p>
- <br/>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src"
value="/WEB-INF/src/org/richfaces/demo/progressBar/ProgressBarBean.java" />
- <ui:param name="sourceType" value="java" />
- <ui:param name="openLabel" value="View Bean Source" />
- <ui:param name="hideLabel" value="Hide Bean Source" />
- </ui:include>
-</ui:composition>
-
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/ajaxProgressBar.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,25 @@
+<!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">
+
+<ui:composition>
+ <p>ProgressBar worked in "ajax" mode </p>
+ <br/>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src"
value="/WEB-INF/src/org/richfaces/demo/progressBar/ProgressBarBean.java" />
+ <ui:param name="sourceType" value="java" />
+ <ui:param name="openLabel" value="View Bean Source" />
+ <ui:param name="hideLabel" value="Hide Bean Source" />
+ </ui:include>
+</ui:composition>
+
+</html>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,22 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>ProgressBar worked in "client" mode </p>
- <br/>
-
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
-
-
-</ui:composition>
-
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/clientProgressBar.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,22 @@
+<!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">
+
+<ui:composition>
+ <p>ProgressBar worked in "client" mode </p>
+ <br/>
+
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+
+
+</ui:composition>
+
+</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition
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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
- <h:form id="form">
- <rich:progressBar mode="ajax"
value="#{progressBarBean.currentValue}"
- interval="2000"
- enabled="#{progressBarBean.enabled}" minValue="-1"
maxValue="100"
- reRenderAfterComplete="progressPanel">
- <f:facet name="initial">
- <br />
- <h:outputText value="Process doesn't started yet"
/>
- <a4j:commandButton
action="#{progressBarBean.startProcess}"
- value="Start Process" execute="@form"
- rendered="#{progressBarBean.buttonRendered}"
- style="margin: 9px 0px 5px;" />
- </f:facet>
- <f:facet name="complete">
- <br />
- <h:outputText value="Process Done" />
- <a4j:commandButton
action="#{progressBarBean.startProcess}"
- value="Restart Process" execute="@form"
- rendered="#{progressBarBean.buttonRendered}"
- style="margin: 9px 0px 5px;" />
- </f:facet>
- <h:outputText value="#{progressBarBean.currentValue} %"/>
- </rich:progressBar>
- </h:form>
-</ui:composition>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/ajaxProgressBar-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+ <h:form id="form">
+ <rich:progressBar mode="ajax"
value="#{progressBarBean.currentValue}"
+ interval="2000"
+ enabled="#{progressBarBean.enabled}" minValue="-1"
maxValue="100"
+ reRenderAfterComplete="progressPanel">
+ <f:facet name="initial">
+ <br />
+ <h:outputText value="Process doesn't started yet"
/>
+ <a4j:commandButton
action="#{progressBarBean.startProcess}"
+ value="Start Process" execute="@form"
+ rendered="#{progressBarBean.buttonRendered}"
+ style="margin: 9px 0px 5px;" />
+ </f:facet>
+ <f:facet name="complete">
+ <br />
+ <h:outputText value="Process Done" />
+ <a4j:commandButton
action="#{progressBarBean.startProcess}"
+ value="Restart Process" execute="@form"
+ rendered="#{progressBarBean.buttonRendered}"
+ style="margin: 9px 0px 5px;" />
+ </f:facet>
+ <h:outputText value="#{progressBarBean.currentValue} %"/>
+ </rich:progressBar>
+ </h:form>
+</ui:composition>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition
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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
- <script>
-//<![CDATA[
- var counter = 1;
- var intervalID;
- function updateProgress(i) {
- RichFaces.$('form2:progressBar').setValue(counter*5);
- if ((counter++)>20){
- clearInterval(intervalID);
- document.getElementById('button').disabled=false;
- }
- }
-
- function startProgress(){
- counter=1;
- document.getElementById('button').disabled=true;
- RichFaces.$('form2:progressBar').enable();
- RichFaces.$('form2:progressBar').setValue(1);
- intervalID = setInterval(updateProgress,5000);
- }
-//]]>
- </script>
- <h:form id="form2">
- <rich:progressBar mode="client" id="progressBar">
- <f:facet name="initial">
- <h:outputText value="Process doesn't started yet"/>
- </f:facet>
- <f:facet name="complete">
- <h:outputText value="Process Done"/>
- </f:facet>
- </rich:progressBar>
- <button type="button" onclick="startProgress();"
style="margin: 9px 0px 5px;" id="button">Start
Progress</button>
- </h:form>
-</ui:composition>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar/samples/clientProgressBar-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+ <script>
+//<![CDATA[
+ var counter = 1;
+ var intervalID;
+ function updateProgress(i) {
+ RichFaces.$('form2:progressBar').setValue(counter*5);
+ if ((counter++)>20){
+ clearInterval(intervalID);
+ document.getElementById('button').disabled=false;
+ }
+ }
+
+ function startProgress(){
+ counter=1;
+ document.getElementById('button').disabled=true;
+ RichFaces.$('form2:progressBar').enable();
+ RichFaces.$('form2:progressBar').setValue(1);
+ intervalID = setInterval(updateProgress,5000);
+ }
+//]]>
+ </script>
+ <h:form id="form2">
+ <rich:progressBar mode="client" id="progressBar">
+ <f:facet name="initial">
+ <h:outputText value="Process doesn't started yet"/>
+ </f:facet>
+ <f:facet name="complete">
+ <h:outputText value="Process Done"/>
+ </f:facet>
+ </rich:progressBar>
+ <button type="button" onclick="startProgress();"
style="margin: 9px 0px 5px;" id="button">Start
Progress</button>
+ </h:form>
+</ui:composition>
\ No newline at end of file
Copied: branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel
(from rev 19674, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,23 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>Tab panel is used to create "tabbed" pages.
- RichFaces tab panel can be switched in 3 ways: using "normal" server-side
- update, using "ajax" style update, when only tab panel area is updated
- on the page, and using "client" type, without any interaction with the
- server. Note, that in case of a "client" switch type, all tabs are
- rendered at the same time. </p>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
-
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/headerCustomization.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,23 @@
+<!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">
+
+<ui:composition>
+ <p>Tab panel is used to create "tabbed" pages.
+ RichFaces tab panel can be switched in 3 ways: using "normal" server-side
+ update, using "ajax" style update, when only tab panel area is updated
+ on the page, and using "client" type, without any interaction with the
+ server. Note, that in case of a "client" switch type, all tabs are
+ rendered at the same time. </p>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+
+</ui:composition>
+</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples)
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,44 +0,0 @@
-<!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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
- <strong>Tab Panel with headers attached to top or bottom side</strong>
- <br />
- <br />
- <h:form>
- <h:panelGrid columns="2">
- <h:outputLabel value="Header Position:" for="position" />
- <h:selectOneRadio id="position">
- <f:selectItem itemLabel="Top" itemValue="top" />
- <f:selectItem itemLabel="Bottom" itemValue="bottom" />
- <a4j:ajax event="change" render="tp" />
- </h:selectOneRadio>
- <h:outputLabel value="Header Location:" for="location" />
- <h:selectOneRadio id="location">
- <f:selectItem itemLabel="Left" itemValue="left" />
- <f:selectItem itemLabel="Right" itemValue="right" />
- <f:selectItem itemLabel="Center" itemValue="center" />
- <a4j:ajax event="change" render="tp" />
- </h:selectOneRadio>
- </h:panelGrid>
- <rich:tabPanel switchType="ajax" id="tp"
- headerPosition="top"
- headerLocation="center">
- <rich:tab header="First">
- Here is tab #1
- </rich:tab>
- <rich:tab header="Second">
- Here is tab #2
- </rich:tab>
- <rich:tab header="Third">
- Here is tab #3
- </rich:tab>
- </rich:tabPanel>
- </h:form>
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/headerCustomization-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,44 @@
+<!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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+ <strong>Tab Panel with headers attached to top or bottom side</strong>
+ <br />
+ <br />
+ <h:form>
+ <h:panelGrid columns="2">
+ <h:outputLabel value="Header Position:" for="position" />
+ <h:selectOneRadio id="position">
+ <f:selectItem itemLabel="Top" itemValue="top" />
+ <f:selectItem itemLabel="Bottom" itemValue="bottom" />
+ <a4j:ajax event="change" render="tp" />
+ </h:selectOneRadio>
+ <h:outputLabel value="Header Location:" for="location" />
+ <h:selectOneRadio id="location">
+ <f:selectItem itemLabel="Left" itemValue="left" />
+ <f:selectItem itemLabel="Right" itemValue="right" />
+ <f:selectItem itemLabel="Center" itemValue="center" />
+ <a4j:ajax event="change" render="tp" />
+ </h:selectOneRadio>
+ </h:panelGrid>
+ <rich:tabPanel switchType="ajax" id="tp"
+ headerPosition="top"
+ headerLocation="center">
+ <rich:tab header="First">
+ Here is tab #1
+ </rich:tab>
+ <rich:tab header="Second">
+ Here is tab #2
+ </rich:tab>
+ <rich:tab header="Third">
+ Here is tab #3
+ </rich:tab>
+ </rich:tabPanel>
+ </h:form>
+</ui:composition>
+</html>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,49 +0,0 @@
-<!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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
- <rich:tabPanel switchType="client">
- <rich:tab header="Overview">
- <h:graphicImage value="/images/icons/common/rf.png"
- style="float:right" />
- RichFaces is a component library for JSF and an advanced framework for
- easily integrating AJAX capabilities into business applications.
- <ul>
- <li>100+ AJAX enabled components in two libraries</li>
- <li>a4j: page centric AJAX controls</li>
- <li>rich: self contained, ready to use components</li>
- <li>Whole set of JSF benefits while working with AJAX</li>
- <li>Skinnability mechanism</li>
- <li>Component Development Kit (CDK)</li>
- <li>Dynamic resources handling</li>
- <li>Testing facilities for components, actions, listeners, and
- pages</li>
- <li>Broad cross-browser support</li>
- <li>Large and active community</li>
- </ul>
- </rich:tab>
- <rich:tab header="JSF 2 and RichFaces 4">
- <p>We are working hard on RichFaces 4.0 which will have full JSF
- 2 integration. That is not all though, here is a summary of updates
- and features:</p>
- <ul>
- <li>Redesigned modular repository and build system.</li>
- <li>Simplified Component Development Kit with annotations,
- faces-config extensions, advanced templates support and more..</li>
- <li>Ajax framework improvements extending the JSF 2
- specification.</li>
- <li>Component review for consistency, usability, and redesign
- following semantic HTML principles where possible.</li>
- <li>Both server-side and client-side performance optimization.</li>
- <li>Strict code clean-up and review.</li>
- </ul>
- </rich:tab>
- </rich:tabPanel>
-
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/simple-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,49 @@
+<!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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+ <rich:tabPanel switchType="client">
+ <rich:tab header="Overview">
+ <h:graphicImage value="/images/icons/common/rf.png"
+ style="float:right" />
+ RichFaces is a component library for JSF and an advanced framework for
+ easily integrating AJAX capabilities into business applications.
+ <ul>
+ <li>100+ AJAX enabled components in two libraries</li>
+ <li>a4j: page centric AJAX controls</li>
+ <li>rich: self contained, ready to use components</li>
+ <li>Whole set of JSF benefits while working with AJAX</li>
+ <li>Skinnability mechanism</li>
+ <li>Component Development Kit (CDK)</li>
+ <li>Dynamic resources handling</li>
+ <li>Testing facilities for components, actions, listeners, and
+ pages</li>
+ <li>Broad cross-browser support</li>
+ <li>Large and active community</li>
+ </ul>
+ </rich:tab>
+ <rich:tab header="JSF 2 and RichFaces 4">
+ <p>We are working hard on RichFaces 4.0 which will have full JSF
+ 2 integration. That is not all though, here is a summary of updates
+ and features:</p>
+ <ul>
+ <li>Redesigned modular repository and build system.</li>
+ <li>Simplified Component Development Kit with annotations,
+ faces-config extensions, advanced templates support and more..</li>
+ <li>Ajax framework improvements extending the JSF 2
+ specification.</li>
+ <li>Component review for consistency, usability, and redesign
+ following semantic HTML principles where possible.</li>
+ <li>Both server-side and client-side performance optimization.</li>
+ <li>Strict code clean-up and review.</li>
+ </ul>
+ </rich:tab>
+ </rich:tabPanel>
+
+</ui:composition>
+</html>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,37 +0,0 @@
-<!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:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
- <h:form>
- <strong>External controls for switching the panel:</strong>
- <br />
- <h:commandLink value="Previous tab">
- <rich:toggleControl targetPanel="tp" targetItem="@prev" />
- </h:commandLink>
- <h:outputText value=" | " />
- <h:commandLink value="Next tab">
- <rich:toggleControl targetPanel="tp" targetItem="@next" />
- </h:commandLink>
- <br />
- <br />
- <rich:tabPanel switchType="ajax" id="tp"
headerPosition="top"
- headerLocation="center">
- <rich:tab header="First">
- Here is tab #1
- </rich:tab>
- <rich:tab header="Second">
- Here is tab #2
- </rich:tab>
- <rich:tab header="Third">
- Here is tab #3
- </rich:tab>
- </rich:tabPanel>
-
- </h:form>
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/samples/valueManagement-sample.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,37 @@
+<!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:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+ <h:form>
+ <strong>External controls for switching the panel:</strong>
+ <br />
+ <h:commandLink value="Previous tab">
+ <rich:toggleControl targetPanel="tp" targetItem="@prev" />
+ </h:commandLink>
+ <h:outputText value=" | " />
+ <h:commandLink value="Next tab">
+ <rich:toggleControl targetPanel="tp" targetItem="@next" />
+ </h:commandLink>
+ <br />
+ <br />
+ <rich:tabPanel switchType="ajax" id="tp"
headerPosition="top"
+ headerLocation="center">
+ <rich:tab header="First">
+ Here is tab #1
+ </rich:tab>
+ <rich:tab header="Second">
+ Here is tab #2
+ </rich:tab>
+ <rich:tab header="Third">
+ Here is tab #3
+ </rich:tab>
+ </rich:tabPanel>
+
+ </h:form>
+</ui:composition>
+</html>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,23 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>Tab panel is used to create "tabbed" pages.
- RichFaces tab panel can be switched in 3 ways: using "normal" server-side
- update, using "ajax" style update, when only tab panel area is updated
- on the page, and using "client" type, without any interaction with the
- server. Note, that in case of a "client" switch type, all tabs are
- rendered at the same time. </p>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
-
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/simple.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,23 @@
+<!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">
+
+<ui:composition>
+ <p>Tab panel is used to create "tabbed" pages.
+ RichFaces tab panel can be switched in 3 ways: using "normal" server-side
+ update, using "ajax" style update, when only tab panel area is updated
+ on the page, and using "client" type, without any interaction with the
+ server. Note, that in case of a "client" switch type, all tabs are
+ rendered at the same time. </p>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+
+</ui:composition>
+</html>
\ No newline at end of file
Deleted:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml 2010-10-26
17:10:27 UTC (rev 19674)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -1,31 +0,0 @@
-<!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">
-
-<ui:composition>
- <p>That sample shows how to use external controls for switching the
- panel</p>
- <p><b>toggleControl</b> behavior used as for any other switchable
- panel (<i>togglePanel, accordion</i>)</p>
- <p><b>targetItem</b> could be <b>defined with tab name</b>
and
- additionally tabPanel supports next <b>predefined shortcuts</b>:</p>
- <ul>
- <li>@next</li>
- <li>@prev</li>
- <li>@first</li>
- <li>@last</li>
- </ul>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
- <p>Additionally you could manage the current tab at server side
- using <b>activeItem</b> attribute at tabPanel <b>bound to some Bean
- property</b> which holds current tab name.</p>
-</ui:composition>
-</html>
\ No newline at end of file
Copied:
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml
(from rev 19674,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml)
===================================================================
---
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml
(rev 0)
+++
branches/RF-7817/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/valueManagement.xhtml 2010-10-27
16:28:07 UTC (rev 19704)
@@ -0,0 +1,31 @@
+<!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">
+
+<ui:composition>
+ <p>That sample shows how to use external controls for switching the
+ panel</p>
+ <p><b>toggleControl</b> behavior used as for any other switchable
+ panel (<i>togglePanel, accordion</i>)</p>
+ <p><b>targetItem</b> could be <b>defined with tab name</b>
and
+ additionally tabPanel supports next <b>predefined shortcuts</b>:</p>
+ <ul>
+ <li>@next</li>
+ <li>@prev</li>
+ <li>@first</li>
+ <li>@last</li>
+ </ul>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+ <p>Additionally you could manage the current tab at server side
+ using <b>activeItem</b> attribute at tabPanel <b>bound to some Bean
+ property</b> which holds current tab name.</p>
+</ui:composition>
+</html>
\ No newline at end of file