JBoss Rich Faces SVN: r11120 - in trunk/test-applications/automator/src/main/webapp: main and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-11-12 12:19:12 -0500 (Wed, 12 Nov 2008)
New Revision: 11120
Added:
trunk/test-applications/automator/src/main/webapp/javascripts/common.js
Modified:
trunk/test-applications/automator/src/main/webapp/main/main.jsp
Log:
+ common.js
Added: trunk/test-applications/automator/src/main/webapp/javascripts/common.js
===================================================================
--- trunk/test-applications/automator/src/main/webapp/javascripts/common.js (rev 0)
+++ trunk/test-applications/automator/src/main/webapp/javascripts/common.js 2008-11-12 17:19:12 UTC (rev 11120)
@@ -0,0 +1,7 @@
+function checkValidatorMessage(){
+ var mes = document.getElementById('mainForm:comboBoxSubview:mess');
+ var inp = document.getElementById('mainForm:comboBoxSubview:hiddenInput');
+ if ((mes != null)&&(inp != null)) {
+ inp.value = mes.textContent;
+ }
+}
\ No newline at end of file
Modified: trunk/test-applications/automator/src/main/webapp/main/main.jsp
===================================================================
--- trunk/test-applications/automator/src/main/webapp/main/main.jsp 2008-11-12 17:18:45 UTC (rev 11119)
+++ trunk/test-applications/automator/src/main/webapp/main/main.jsp 2008-11-12 17:19:12 UTC (rev 11120)
@@ -8,6 +8,7 @@
<head>
<title>Automator</title>
<script type="text/javascript" src="javascripts/handlers.js"></script>
+ <script type="text/javascript" src="javascripts/common.js"></script>
<body>
<h:form id="mainForm">
<div align="center"><h:panelGrid columns="2">
16 years, 10 months
JBoss Rich Faces SVN: r11119 - trunk/test-applications/automator/src/main/webapp/component.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-11-12 12:18:45 -0500 (Wed, 12 Nov 2008)
New Revision: 11119
Modified:
trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp
Log:
+ testValidatorMessage
Modified: trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp
===================================================================
--- trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp 2008-11-12 16:40:28 UTC (rev 11118)
+++ trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp 2008-11-12 17:18:45 UTC (rev 11119)
@@ -16,9 +16,8 @@
required="#{comboBoxGeneral.required}"
validatorMessage="#{comboBoxGeneral.validatorMessage}"
onblur="callOnblur('comboBox')"
- onmouseover="callOnmouseover('comboBox')"
- onclick="callOnclick('comboBox')"
- onchange="callOnchange('comboBox')"
+ onmouseover="callOnmouseover('comboBox')"
+ onclick="callOnclick('comboBox')" onchange="callOnchange('comboBox')"
ondblclick="callOndblclick('comboBox')"
onfocus="callOnfocus('comboBox')"
onkeydown="callOnkeydown('comboBox')"
@@ -29,7 +28,7 @@
onmousemove="callOnmousemove('comboBox')"
onmouseout="callOnmouseout('comboBox')"
onmouseup="callOnmouseup('comboBox')"
- onselect="callOnselect('comboBox')" >
+ onselect="callOnselect('comboBox')">
<f:selectItems value="#{comboBoxGeneral.selectItems}" />
<f:selectItem itemValue="Gosha" itemLabel="Gosha" />
</rich:comboBox>
@@ -42,15 +41,15 @@
<f:facet name="header">
<h:outputText value="Results of testing" />
</f:facet>
- <a4j:commandButton value="testGeneralAttrs"
- actionListener="#{comboBoxGeneral.testGeneralAttributes}"
- reRender="generalResult, comboBoxGrid"></a4j:commandButton>
+ <a4j:commandButton value="testGeneralAttrs" onclick="checkValidatorMessage()"
+ actionListener="#{comboBoxGeneral.testGeneralAttributes}"
+ reRender="generalResult, comboBoxGrid"></a4j:commandButton>
<a4j:commandButton value="testHandlers"
- actionListener="#{comboBoxHandlers.testHandlers}"
- reRender="handlersResult, comboBoxGrid"></a4j:commandButton>
+ actionListener="#{comboBoxHandlers.testHandlers}"
+ reRender="handlersResult, comboBoxGrid"></a4j:commandButton>
<a4j:commandButton value="testStyles"
- actionListener="#{comboBoxStyles.testStyles}"
- reRender="stylesResult, comboBoxGrid"></a4j:commandButton>
+ actionListener="#{comboBoxStyles.testStyles}"
+ reRender="stylesResult, comboBoxGrid"></a4j:commandButton>
<h:panelGroup>
<h:panelGrid id="generalResult"
binding="#{comboBoxGeneral.panelGrid}" columns="2">
16 years, 10 months
JBoss Rich Faces SVN: r11118 - branches/3.2.x/ui/assembly.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2008-11-12 11:40:28 -0500 (Wed, 12 Nov 2008)
New Revision: 11118
Modified:
branches/3.2.x/ui/assembly/pom.xml
Log:
Proper tlib-version for assembly implemented
Modified: branches/3.2.x/ui/assembly/pom.xml
===================================================================
--- branches/3.2.x/ui/assembly/pom.xml 2008-11-12 16:04:07 UTC (rev 11117)
+++ branches/3.2.x/ui/assembly/pom.xml 2008-11-12 16:40:28 UTC (rev 11118)
@@ -9,6 +9,11 @@
<artifactId>richfaces-ui</artifactId>
<name>RichFaces JSF components library</name>
<packaging>jar</packaging>
+
+ <properties>
+ <tlibVersion>${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}.${project.artifact.selectedVersion.incrementalVersion}</tlibVersion>
+ </properties>
+
<build>
<plugins>
<plugin>
@@ -21,7 +26,7 @@
<description>RichFaces components</description>
<taglibs>
<taglib>
- <tlibVersion>3.2.1</tlibVersion>
+ <tlibVersion>${tlibVersion}</tlibVersion>
<shortName>richfaces</shortName>
<taglib>richfaces</taglib>
<uri>
@@ -33,7 +38,7 @@
<excludeModules>core</excludeModules>
</taglib>
<taglib>
- <tlibVersion>3.2.1</tlibVersion>
+ <tlibVersion>${tlibVersion}</tlibVersion>
<shortName>rich</shortName>
<taglib>rich</taglib>
<uri>http://richfaces.org/rich</uri>
@@ -41,7 +46,7 @@
<excludeModules>core</excludeModules>
</taglib>
<taglib>
- <tlibVersion>3.2.1</tlibVersion>
+ <tlibVersion>${tlibVersion}</tlibVersion>
<shortName>a4j</shortName>
<taglib>ajax4jsf</taglib>
<uri>http://richfaces.org/a4j</uri>
@@ -49,7 +54,7 @@
<includeModules>core</includeModules>
</taglib>
<taglib>
- <tlibVersion>3.2.1</tlibVersion>
+ <tlibVersion>${tlibVersion}</tlibVersion>
<shortName>ajax</shortName>
<taglib>a4j</taglib>
<uri>
16 years, 10 months
JBoss Rich Faces SVN: r11117 - trunk/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2008-11-12 11:04:07 -0500 (Wed, 12 Nov 2008)
New Revision: 11117
Modified:
trunk/docs/userguide/en/src/main/docbook/modules/RFCGettingStarted.xml
Log:
RF-4616: jboss wiki articles links
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCGettingStarted.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCGettingStarted.xml 2008-11-12 15:37:31 UTC (rev 11116)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCGettingStarted.xml 2008-11-12 16:04:07 UTC (rev 11117)
@@ -16,7 +16,7 @@
for plugging the RichFaces components into a JSF appplication. The description
relies on a simple JSF with RichFaces application creation process from
downloading the libraries to running the application in a browser. The process
- of application creation described here is common and does not depends on used
+ of application creation described here is common and does not depend on used
IDE. </para>
<para>See "<ulink
url="http://docs.jboss.org/tools/movies/demos/rich_faces_demo/rich_faces_demo.htm"
@@ -33,10 +33,16 @@
>JBoss RichFaces Downloads area</ulink> at JBoss community.
Binary files (uploaded there in <code>*.bin.zip</code> or
<code>*.bin.tar.gz</code> archives) contains compiled,
- ready-to-use version of RichFaces with set of basic skins. </para>
- <para>To start with RichFaces in computer file system create new folder with
+ ready-to-use version of RichFaces with set of basic skins.
+ </para>
+ <para>To start with RichFaces in computer file system create new folder with
name "RichFaces", download and unzip the archive with binaries there.
- </para>
+ </para>
+ <para>For those who want to download and compile the RichFaces by themselfs there is an article
+ at JBoss community that describes the
+ <ulink url="http://www.jboss.org/community/docs/DOC-11864">RichFaces repository's structure overview</ulink> and
+ some aspects of working with it.
+ </para>
</section>
<section id="Simple JSF application with RichFaces">
@@ -84,7 +90,7 @@
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
...]]></programlisting>
- <para>Finally the <code>web.xml</code> should look like the following: </para>
+ <para>Finally the <code>web.xml</code> should look like this: </para>
<programlisting role="XML"><![CDATA[<?xml version="1.0"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
@@ -143,7 +149,7 @@
<section id="Managed bean">
<title>Managed bean</title>
- <para>The "RichFaces Greeter" application need a managed bean. In
+ <para>The "RichFaces Greeter" application needs a managed bean. In
project <code>JavaSource</code> folder create a new managed
bean with name <code>user</code> in <code>demo</code>
package and paste there the following simple code: </para>
16 years, 10 months
JBoss Rich Faces SVN: r11116 - trunk/sandbox/ui/editor/src/main/antlr.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2008-11-12 10:37:31 -0500 (Wed, 12 Nov 2008)
New Revision: 11116
Modified:
trunk/sandbox/ui/editor/src/main/antlr/html-seamtext.g
Log:
Modified: trunk/sandbox/ui/editor/src/main/antlr/html-seamtext.g
===================================================================
--- trunk/sandbox/ui/editor/src/main/antlr/html-seamtext.g 2008-11-12 15:14:21 UTC (rev 11115)
+++ trunk/sandbox/ui/editor/src/main/antlr/html-seamtext.g 2008-11-12 15:37:31 UTC (rev 11116)
@@ -1,6 +1,6 @@
header
{
- package org.richfaces.antlr;
+ package org.richfaces;
}
{
@@ -71,7 +71,9 @@
private final String SEAM_GT = ">";
+ public boolean preformatted = false;
+
protected java.util.Set<String> seamTextSymbols = new java.util.HashSet(java.util.Arrays.asList(
SEAMTEXT_MONOSPACE, SEAMTEXT_TWIDDLE, SEAMTEXT_HASH, SEAMTEXT_HAT, SEAMTEXT_PLUS, SEAMTEXT_STAR,
SEAMTEXT_UNDERSCORE, SEAMTEXT_EQ, SEAMTEXT_BACKTICK, BLANK_LINE, SEAM_DOUBLEQUOTE, SEAM_OPEN,
@@ -291,31 +293,41 @@
}
- public String escapeSeamText(Token token, java.util.Stack <Token> parentHtmlTokens) throws TokenStreamException {
+ public String escapeSeamText(Token token, boolean preformatted) throws TokenStreamException {
StringBuilder result = new StringBuilder();
String tokenName = token.getText();
-
- if(parentHtmlTokens != null && !parentHtmlTokens.isEmpty()){
- Token parentToken = parentHtmlTokens.peek();
- String parentTokenName = parentToken.getText().toLowerCase();
-
- if ("tt".equals(parentTokenName) || "pre".equals(parentTokenName)) {
-
- if ("<".equals(tokenName)) {
- result.append("<");
- } else if("&".equals(tokenName)) {
- result.append("&");
- } else if (">".equals(tokenName)) {
- result.append(">");
- } else if(""".equals(tokenName)){
- result.append("\"");
- }else if(seamTextSymbols.contains(tokenName)) {
- result.append(tokenName);
- }
- }
- }
- result = result.length() != 0 ? result : result.append("\\").append(tokenName);
+
+ if(preformatted) {
+ if ("<".equals(tokenName)) {
+ result.append("<");
+ } else if("&".equals(tokenName)) {
+ result.append("&");
+ } else if (">".equals(tokenName)) {
+ result.append(">");
+ } else if(""".equals(tokenName)){
+ result.append("\"");
+ } else if(seamTextSymbols.contains(tokenName)) {
+ result.append(tokenName);
+ }
+
+ } else {
+
+ if ("<".equals(tokenName)) {
+ result.append("\\<");
+ } else if("&".equals(tokenName)) {
+ result.append("&");
+ } else if (">".equals(tokenName)) {
+ result.append("\\>");
+ } else if(""".equals(tokenName)){
+ result.append("\"");
+ } else if("\\".equals(tokenName)){
+ result.append("\\\\");
+ }else if(seamTextSymbols.contains(tokenName)) {
+ result.append("\\").append(tokenName);
+ }
+ }
+
return result.toString();
}
@@ -336,6 +348,11 @@
return formattedHtmlSeamTextElements.contains(name);
}
+ public boolean isPreFormattedElement(Token element) {
+ String name = element.getText().toLowerCase();
+ return ("pre".equals(name) || "tt".equals(name));
+ }
+
}
@@ -353,10 +370,10 @@
htmlSpecialChars:
DOUBLEQUOTE { append("\""); }
- | lt:ESCAPED_LT {append(escapeSeamText(lt, htmlElementStack));}
- | gt:ESCAPED_GT {append(escapeSeamText(gt, htmlElementStack));}
- | amp:ESCAPED_AMP {append(escapeSeamText(amp, htmlElementStack));}
- | qout:ESCAPED_QOUT {append(escapeSeamText(qout, htmlElementStack));}
+ | lt:ESCAPED_LT {append(escapeSeamText(lt, preformatted));}
+ | gt:ESCAPED_GT {append(escapeSeamText(gt, preformatted));}
+ | amp:ESCAPED_AMP {append(escapeSeamText(amp, preformatted));}
+ | qout:ESCAPED_QOUT {append(escapeSeamText(qout, preformatted));}
| nbsp:ESCAPED_NBSP {append(nbsp.getText());}
;
@@ -381,32 +398,31 @@
seamCharacters:
- hat:HAT {append(escapeSeamText(hat, htmlElementStack));}
- | hash:HASH {append(escapeSeamText(hash, htmlElementStack));}
- | open:OPEN {append(escapeSeamText(open, htmlElementStack)) ;}
- | close:CLOSE {append(escapeSeamText(close, htmlElementStack));}
- | twiddle:TWIDDLE {append(escapeSeamText(twiddle, htmlElementStack));}
- | bar:BAR {append(escapeSeamText(bar, htmlElementStack));}
- | eq:EQ {append(escapeSeamText(eq, htmlElementStack));}
- | plus:PLUS {append(escapeSeamText(plus, htmlElementStack));}
- | backtick:BACKTICK {append(escapeSeamText(backtick, htmlElementStack));}
- | st:STAR {append(escapeSeamText(st, htmlElementStack));}
- | e:ESCAPE {append(escapeSeamText(e, htmlElementStack));}
- | gt:GT {append(escapeSeamText(gt, htmlElementStack));}
+ hat:HAT {append(escapeSeamText(hat, preformatted));}
+ | hash:HASH {append(escapeSeamText(hash, preformatted));}
+ | open:OPEN {append(escapeSeamText(open, preformatted)) ;}
+ | close:CLOSE {append(escapeSeamText(close, preformatted));}
+ | twiddle:TWIDDLE {append(escapeSeamText(twiddle, preformatted));}
+ | bar:BAR {append(escapeSeamText(bar, preformatted));}
+ | eq:EQ {append(escapeSeamText(eq, preformatted));}
+ | plus:PLUS {append(escapeSeamText(plus, preformatted));}
+ | backtick:BACKTICK {append(escapeSeamText(backtick, preformatted));}
+ | st:STAR {append(escapeSeamText(st, preformatted));}
+ | e:ESCAPE {append(escapeSeamText(e, preformatted));}
+ | gt:GT {append(escapeSeamText(gt, preformatted));}
;
space: s:SPACE {
if(!htmlElementStack.isEmpty()) {
Token token = htmlElementStack.peek();
- if(!isSeamTextElement(token)) {
- append(s.getText());
- }
+ if(!isSeamTextElement(token)) {
+ append(s.getText());
+ }
}
-
- }
+ }
;
-newline: n:NEWLINE {append(n.getText());}
+newline: n:NEWLINE { if (preformatted && valueCollector!=null) valueCollector.append(n.getText());}
;
newlineOrEof: newline | EOF
@@ -423,39 +439,37 @@
boolean isLink = isLink(token);
}
+
(
- seamCharacters|
-
{
beginCapture();
- }
- plain
+ }
- {
- String plain = endCapture();
+ (seamCharacters|plain|htmlSpecialChars
+ {
+ if(isLink) {
+ String message = "unexpected token";
+ throw new SemanticException(message);
+ }
+ }
+ )
+
+ {
+ String plain = endCapture();
if(valueCollector == null) {
valueCollector = new StringBuilder();
}
valueCollector.append(plain);
- }
-
+ }
|html
- |
- {
- append(valueCollector.toString());
- valueCollector=null;
- }
- htmlSpecialChars
- {
- if(isLink) {
- String message = "unexpected token";
- throw new SemanticException(message);
+ {
+ if(valueCollector != null) {
+ append(valueCollector.toString());
}
-
- }
- |NEWLINE
+ }
+ |newline
)*)
;
@@ -467,6 +481,10 @@
Token token = null;
+ if(isPreFormattedElement(name)) {
+ preformatted = true;
+ }
+
if (isFormattedHtmlSeamTextElement(name)) {
if(!isPlainHMTLRequired(name, htmlElementStack)) {
if (isListItem(name)) {
@@ -474,10 +492,10 @@
}else if (isHeader(name)) {
append(createSeamTextHeader(name));
}
- if(valueCollector != null) {
- append(valueCollector.toString().trim());
- valueCollector = null;
- }
+// if(valueCollector != null) {
+// append(valueCollector.toString().trim());
+// valueCollector = null;
+// }
} else {
if(valueCollector != null) {
append(valueCollector.toString().trim());
@@ -547,7 +565,8 @@
if(valueCollector != null) {
value = valueCollector.toString();
}
-
+
+
if(isFormattedHtmlSeamTextElement(name)) {
if(isLink(name)){
@@ -589,6 +608,9 @@
}
valueCollector = null;
+ if(isPreFormattedElement(name)) {
+ preformatted = false;
+ }
}
;
16 years, 10 months
JBoss Rich Faces SVN: r11115 - trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: piotr.buda
Date: 2008-11-12 10:14:21 -0500 (Wed, 12 Nov 2008)
New Revision: 11115
Modified:
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
Log:
'EDT not in form' information added
Modified: trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
===================================================================
--- trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-11-12 14:56:42 UTC (rev 11114)
+++ trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-11-12 15:14:21 UTC (rev 11115)
@@ -29,10 +29,12 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIForm;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
@@ -45,6 +47,8 @@
import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.richfaces.component.Column;
import org.richfaces.component.Row;
import org.richfaces.component.UIColumn;
@@ -103,6 +107,8 @@
private static final String GROUP_TOGGLE_ACTION_NAME = "groupToggleAction";
private static final String MIN_COLUMN_WIDTH = "20";
+
+ private final Log log = LogFactory.getLog(UIExtendedDataTable.class);
/**
* Encode all table structure - colgroups definitions, caption, header,
@@ -1286,6 +1292,17 @@
}
public void encodeBegin(FacesContext context, UIComponent component)throws IOException {
+ UIComponent c = null;
+ boolean inForm = false;
+ while((c = c.getParent()) != null) {
+ if(c instanceof UIForm) {
+ inForm = true;
+ break;
+ }
+ }
+ if(inForm && log.isWarnEnabled()) {
+ log.warn("Extended Data Table must be enclosed in a Form component");
+ }
super.encodeBegin(context, component);
//component.getAttributes().put(AjaxRendererUtils.AJAX_SINGLE_ATTR, Boolean.TRUE);
}
16 years, 10 months
JBoss Rich Faces SVN: r11114 - trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: pgolawski
Date: 2008-11-12 09:56:42 -0500 (Wed, 12 Nov 2008)
New Revision: 11114
Modified:
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
Log:
[RF-4814]: set sort order for grouping column if is not set before encode
Modified: trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
===================================================================
--- trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-11-12 14:34:00 UTC (rev 11113)
+++ trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-11-12 14:56:42 UTC (rev 11114)
@@ -1044,7 +1044,12 @@
column.setId(column.getId());
}
- table.ensureTableStateInitialized();
+ if (table.isGroupingOn()) {// grouping is on
+ UIColumn column = table.getGroupByColumn();
+ if (column.getSortOrder().equals(Ordering.UNSORTED)){
+ column.setSortOrder(Ordering.ASCENDING);
+ }
+ }
}
super.preEncodeBegin(context, component);
}
16 years, 10 months
JBoss Rich Faces SVN: r11113 - in trunk/test-applications/seleniumTest/richfaces/src: main/webapp/pages/orderingList and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2008-11-12 09:34:00 -0500 (Wed, 12 Nov 2008)
New Revision: 11113
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/orderingList/orderingListTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
Log:
RF-4894
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java 2008-11-12 14:01:02 UTC (rev 11112)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/OrderingListTestBean.java 2008-11-12 14:34:00 UTC (rev 11113)
@@ -41,6 +41,8 @@
private Boolean orderControlsVisible;
private Boolean showButtonLabels;
private Boolean rendered;
+ private String string;
+ private Boolean immediate;
public OrderingListTestBean() {
init();
@@ -56,6 +58,8 @@
orderControlsVisible = true;
showButtonLabels = true;
setRendered(true);
+ setString("something");
+ immediate = false;
}
public Object getActionResult() {
@@ -134,6 +138,24 @@
}
+ public void setString(String string) {
+ this.string = string;
+ }
+
+ public String getString() {
+ return string;
+ }
+
+
+ public void setImmediate(Boolean immediate) {
+ this.immediate = immediate;
+ }
+
+ public Boolean getImmediate() {
+ return immediate;
+ }
+
+
private class ItemConverter implements Converter {
/* (non-Javadoc)
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/orderingList/orderingListTest.xhtml
===================================================================
(Binary files differ)
Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-12 14:01:02 UTC (rev 11112)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-12 14:34:00 UTC (rev 11113)
@@ -29,7 +29,9 @@
public class OrderingListTest extends SeleniumTestBase {
private String initMethod = "#{orderingListBean.init}";
-
+
+ private String inputTextId;
+
private String orderingListId;
private String submitId;
@@ -72,7 +74,24 @@
private String renderedId;
- /**
+ private String immediateId;
+
+ /**
+ * immediate = true component works respectively
+ */
+ @Test
+ public void testImmediate(Template template) {
+ renderPage(template, initMethod);
+ initFields();
+ selenium.type(inputTextId, "");
+ clickAjaxCommandAndWait(getParentId() + "testRequiredAndImmediate:submit");
+ Assert.assertEquals(selenium.getText(messagesId), "Input is required");
+ clickAjaxCommandAndWait(immediateId);
+ clickAjaxCommandAndWait(getParentId() + "testRequiredAndImmediate:submit");
+ Assert.assertFalse("Input is required".equals(selenium.getText(messagesId)));
+ }
+
+ /**
* component with rendered = false is not present on the page
*/
@Test
@@ -197,7 +216,7 @@
renderPage(template);
initFields();
Assert.assertTrue(selenium.getText(messagesId).length() == 0);
- clickAjaxCommandAndWait(getParentId() + "testRequired:submit");
+ clickAjaxCommandAndWait(getParentId() + "testRequiredAndImmediate:submit");
Assert.assertFalse(selenium.getText(messagesId).length() == 0);
}
@@ -339,6 +358,7 @@
private void initFields() {
String formId = getParentId() + "_form:";
String attrFormId = getParentId() + "attrFormId";
+ inputTextId = getParentId() + "testRequiredAndImmediate:inputTextId";
orderingListId = formId + "orderingList";
submitId = formId + "submitId";
firstButton = orderingListId + "first";
@@ -365,6 +385,7 @@
orderControlsVisibleId = attrFormId + ":orderControlsVisibleId";
showButtonLabelsId = attrFormId + ":showButtonLabelsId";
renderedId = attrFormId + ":renderedId";
+ immediateId = attrFormId + ":immediateId";
}
public String getTestUrl() {
16 years, 10 months
JBoss Rich Faces SVN: r11112 - in trunk/sandbox/ui/editor/src/main: java/org/richfaces/renderkit and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alevkovsky
Date: 2008-11-12 09:01:02 -0500 (Wed, 12 Nov 2008)
New Revision: 11112
Modified:
trunk/sandbox/ui/editor/src/main/config/component/editor.xml
trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/EditorRendererBase.java
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/editor.js
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/paste/js/pasteword.js
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/preview/editor_plugin_src.js
trunk/sandbox/ui/editor/src/main/templates/editor.jspx
Log:
Editor: implementation of parameters intersection with attributes
Modified: trunk/sandbox/ui/editor/src/main/config/component/editor.xml
===================================================================
--- trunk/sandbox/ui/editor/src/main/config/component/editor.xml 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/config/component/editor.xml 2008-11-12 14:01:02 UTC (rev 11112)
@@ -52,17 +52,15 @@
<name>width</name>
<classname>int</classname>
<description>
- Attribute defines width of component. Default value is "300".
+ Attribute defines width of component.
</description>
- <defaultvalue>300</defaultvalue>
</property>
<property>
<name>height</name>
<classname>int</classname>
<description>
- Attribute defines height of component. Default value is "200".
+ Attribute defines height of component.
</description>
- <defaultvalue>200</defaultvalue>
</property>
<property>
<name>theme</name>
@@ -70,7 +68,6 @@
<description>
Attribute defines Editor theme
</description>
- <defaultvalue>"simple"</defaultvalue>
</property>
<property>
<name>useSeamText</name>
@@ -94,7 +91,6 @@
<description>
Attribute defines Editor is readonly
</description>
- <defaultvalue>false</defaultvalue>
</property>
<property>
<name>language</name>
@@ -102,7 +98,6 @@
<description>
Attribute defines Editor language
</description>
- <defaultvalue>"en"</defaultvalue>
</property>
<property>
<name>autoResize</name>
@@ -110,7 +105,6 @@
<description>
Attribute enables to get the Editor area to resize to the boundaries of the contents.
</description>
- <defaultvalue>false</defaultvalue>
</property>
<property>
<name>tabindex</name>
@@ -170,7 +164,6 @@
<description>
Attribute defines Editor skin
</description>
- <defaultvalue>"default"</defaultvalue>
</property>
</component>
</components>
Modified: trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/EditorRendererBase.java
===================================================================
--- trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/EditorRendererBase.java 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/EditorRendererBase.java 2008-11-12 14:01:02 UTC (rev 11112)
@@ -153,4 +153,50 @@
}
return ret.append("} ").toString();
}
+
+ public void writeEditorConfigurationAttributes(FacesContext context,
+ UIEditor component) throws IOException {
+ ResponseWriter writer = context.getResponseWriter();
+
+ if(component.getTheme() != null){
+ writer.writeText("tinyMceParams.theme = '" + component.getTheme() + "';\n", null);
+ }
+ if(component.getLanguage() != null){
+ writer.writeText("tinyMceParams.language = '" + component.getLanguage() + "';\n", null);
+ }
+ if(component.getAutoResize() != null){
+ writer.writeText("tinyMceParams.auto_resize = " + component.getAutoResize()+ ";\n", null);
+ }
+ if(component.getReadonly() != null){
+ writer.writeText("tinyMceParams.readonly = " + component.getReadonly()+ ";\n", null);
+ }
+ if(component.getPlugins() != null){
+ writer.writeText("tinyMceParams.plugins = '" + component.getPlugins() +"';\n", null);
+ }
+ if(component.getWidth() != 0){
+ writer.writeText("tinyMceParams.width = " + component.getWidth() +";\n", null);
+ }
+ if(component.getHeight() != 0){
+ writer.writeText("tinyMceParams.height = " + component.getHeight() +";\n", null);
+ }
+ if(component.getOninit() != null){
+ writer.writeText("tinyMceParams.oninit = '" + component.getOninit() +"';\n", null);
+ }
+ if(component.getOnsave() != null){
+ writer.writeText("tinyMceParams.save_callback = '" + component.getOnsave() +"';\n", null);
+ }
+ if(component.getOnchange() != null){
+ writer.writeText("tinyMceParams.onchange_callback = '" + component.getOnchange() +"';\n", null);
+ }
+ if(component.getOnsetup() != null){
+ writer.writeText("tinyMceParams.setup = '" + component.getOnsetup() +"';\n", null);
+ }
+ if(component.getSkin() != null){
+ writer.writeText("tinyMceParams.skin = '" + component.getSkin() +"';\n", null);
+ }else{
+ writer.writeText("if(!tinyMceParams.skin){\n", null);
+ writer.writeText(" tinyMceParams.skin = 'richfaces';\n", null);
+ writer.writeText("}\n", null);
+ }
+ }
}
Modified: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/editor.js
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/editor.js 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/editor.js 2008-11-12 14:01:02 UTC (rev 11112)
@@ -1,7 +1,7 @@
if (!window.Richfaces) window.Richfaces = {};
+tinymce.richfaces = Richfaces;
Richfaces.Editor = {};
Richfaces.Editor.REGEXP_CSS = /(\/tiny_mce\/(?:themes|plugins)\/[\w\.\\\/]*[\w\.]+\.)(c|C)[sS]{2}$/;
-Richfaces.Editor.extSuffix = "";
RichEditor = Class.create();
Object.extend(RichEditor.prototype, {
Modified: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/paste/js/pasteword.js
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/paste/js/pasteword.js 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/paste/js/pasteword.js 2008-11-12 14:01:02 UTC (rev 11112)
@@ -21,7 +21,7 @@
function createIFrame() {
// RF: added extsuffix // PY
- document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm'+(Richfaces && Richfaces.Editor ? Richfaces.Editor.extSuffix : '')+'" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+ document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm'+tinymce.richfaces.Editor.extScriptSuffix+'" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
}
var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
Modified: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/preview/editor_plugin_src.js
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/preview/editor_plugin_src.js 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/plugins/preview/editor_plugin_src.js 2008-11-12 14:01:02 UTC (rev 11112)
@@ -19,7 +19,11 @@
ed.addCommand('mcePreview', function() {
ed.windowManager.open({
- file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"),
+
+ //RF changes : added extsuffix // LA
+ file : ed.getParam("plugin_preview_pageurl", url + "/preview.html" + tinymce.richfaces.Editor.extScriptSuffix),
+ //RF changes end
+
width : parseInt(ed.getParam("plugin_preview_width", "550")),
height : parseInt(ed.getParam("plugin_preview_height", "600")),
resizable : "yes",
Modified: trunk/sandbox/ui/editor/src/main/templates/editor.jspx
===================================================================
--- trunk/sandbox/ui/editor/src/main/templates/editor.jspx 2008-11-12 11:57:14 UTC (rev 11111)
+++ trunk/sandbox/ui/editor/src/main/templates/editor.jspx 2008-11-12 14:01:02 UTC (rev 11112)
@@ -12,7 +12,7 @@
<f:clientid var="clientId"/>
<h:styles>css/editor.xcss</h:styles>
- <h:scripts>new org.ajax4jsf.javascript.AjaxScript(), new org.ajax4jsf.javascript.PrototypeScript(), scripts/editor.js, scripts/tiny_mce/tiny_mce_src.js</h:scripts>
+ <h:scripts>new org.ajax4jsf.javascript.AjaxScript(), new org.ajax4jsf.javascript.PrototypeScript(), scripts/tiny_mce/tiny_mce_src.js, scripts/editor.js</h:scripts>
<div id="#{clientId}" x:passThruWithExclusions="id,value,styleClass,class"
class="rich-editor #{component.attributes['styleClass']}" style="#{component.attributes['style']}">
@@ -20,24 +20,20 @@
style="visibility: hidden">
#{this:getFormattedComponentStringValue(context, component)}
</textarea>
-
+ <jsp:scriptlet>
+ <![CDATA[
+ String onsetup = null;
+ if (component.getAttributes().get("onsetup") != null) {
+ onsetup = (String) component.getAttributes().get("onsetup");
+ }
+ variables.setVariable("onsetup", onsetup);
+ ]]>
+ </jsp:scriptlet>
<script type="text/javascript">
- <f:call name="writeEditorConfigurationParameters" />
-
- tinyMceParams.theme = '#{component.attributes["theme"]}';
- tinyMceParams.language = '#{component.attributes["language"]}';
- tinyMceParams.autoResize = #{component.attributes["autoResize"]};
- tinyMceParams.readonly = #{component.attributes["readonly"]};
- tinyMceParams.plugins = '#{component.attributes["plugins"]}';
- tinyMceParams.width = '#{component.attributes["width"]}';
- tinyMceParams.height = '#{component.attributes["height"]}';
- tinyMceParams.oninit = '#{component.attributes["oninit"]}';
- tinyMceParams.onchange_callback = '#{component.attributes["onchange"]}';
- tinyMceParams.save_callback = '#{component.attributes["onsave"]}';
- tinyMceParams.setup = '#{component.attributes["onsetup"]}';
- tinyMceParams.skin = '#{component.attributes["skin"]}';
-
+ <f:call name="writeEditorConfigurationParameters" />
+ <f:call name="writeEditorConfigurationAttributes" />
+
var richParams = {extScriptSuffix:'#{this:getSriptMappingSuffix(context)}',
extCssSuffix:'#{this:getCssMappingSuffix(context)}'}
16 years, 10 months
JBoss Rich Faces SVN: r11111 - in trunk/test-applications/seleniumTest/richfaces/src/main: resources and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-11-12 06:57:14 -0500 (Wed, 12 Nov 2008)
New Revision: 11111
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/tree/rich/AudioLibrary.java
trunk/test-applications/seleniumTest/richfaces/src/main/resources/digester-rules.xml
Log:
some fixes
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/tree/rich/AudioLibrary.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/tree/rich/AudioLibrary.java 2008-11-12 11:53:44 UTC (rev 11110)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/tree/rich/AudioLibrary.java 2008-11-12 11:57:14 UTC (rev 11111)
@@ -59,6 +59,7 @@
public void addPerformer(Performer performer) {
addChild(performer.getId(), performer);
+ performer.setParent(this);
}
public String getType() {
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/resources/digester-rules.xml
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/resources/digester-rules.xml 2008-11-12 11:53:44 UTC (rev 11110)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/resources/digester-rules.xml 2008-11-12 11:57:14 UTC (rev 11111)
@@ -26,26 +26,18 @@
<object-create-rule classname="org.ajax4jsf.bean.tree.rich.Performer"/>
<set-properties-rule/>
<set-next-rule methodname="addPerformer"/>
- <pattern value="name">
- <call-method-rule methodname="setName" paramcount="0"/>
- </pattern>
+ <bean-property-setter-rule pattern="name"/>
<pattern value="album">
<object-create-rule classname="org.ajax4jsf.bean.tree.rich.Album"/>
- <set-properties-rule/>
<set-next-rule methodname="addAlbum"/>
- <pattern value="title">
- <call-method-rule methodname="setTitle" paramcount="0"/>
- </pattern>
- <pattern value="year">
- <call-method-rule methodname="setYear" paramcount="1" paramtypes="java.lang.Integer"/>
- </pattern>
+ <set-properties-rule/>
+ <bean-property-setter-rule pattern="title"/>
+ <bean-property-setter-rule pattern="year"/>
<pattern value="song">
<object-create-rule classname="org.ajax4jsf.bean.tree.rich.Song"/>
- <set-properties-rule/>
<set-next-rule methodname="addSong"/>
- <pattern value="title">
- <call-method-rule methodname="setTitle" paramcount="0"/>
- </pattern>
+ <set-properties-rule/>
+ <bean-property-setter-rule pattern="title"/>
</pattern>
</pattern>
</pattern>
16 years, 10 months