Author: maksimkaszynski
Date: 2007-11-20 11:31:12 -0500 (Tue, 20 Nov 2007)
New Revision: 4114
Modified:
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/MacroDefinitionJSContentHandler.java
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java
branches/3.1.x/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/utils.js
Log:
context menu moved to 3.1.x branch
Modified:
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/MacroDefinitionJSContentHandler.java
===================================================================
---
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/MacroDefinitionJSContentHandler.java 2007-11-20
16:30:57 UTC (rev 4113)
+++
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/MacroDefinitionJSContentHandler.java 2007-11-20
16:31:12 UTC (rev 4114)
@@ -29,7 +29,7 @@
this.epilog = epilog;
}
- private List parseExpressiion(String expressionString) throws SAXException {
+ protected List parseExpressiion(String expressionString) throws SAXException {
try {
List result = new RichMacroDefinition(new
StringReader(expressionString)).expression();
@@ -41,6 +41,12 @@
private void encodeExpressionString(String string) throws IOException,
SAXException {
+
+ if (string.length() == 0) {
+ outputWriter.write("\'\'");
+ return;
+ }
+
List parsedExpressiion = parseExpressiion(string);
boolean isExpression = false;
Modified:
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java
===================================================================
---
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java 2007-11-20
16:30:57 UTC (rev 4113)
+++
branches/3.1.x/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java 2007-11-20
16:31:12 UTC (rev 4114)
@@ -7,6 +7,7 @@
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
+import java.io.Writer;
import java.util.Properties;
import javax.faces.component.UIComponent;
@@ -26,11 +27,11 @@
import org.ajax4jsf.webapp.tidy.TidyParser;
import org.ajax4jsf.webapp.tidy.TidyXMLFilter;
import org.richfaces.component.TemplateComponent;
-import org.richfaces.json.JSContentHandler;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.xml.sax.ContentHandler;
/**
* @author Nick Belaevski - mailto:nbelaevski@exadel.com
@@ -95,7 +96,7 @@
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
- JSContentHandler contentHandler = new MacroDefinitionJSContentHandler(writer,
"Richfaces.evalMacro(\"", "\", context)");
+ ContentHandler contentHandler = createContentHandler(writer);
Result result = new SAXResult(contentHandler);
for (int i = 0; i < bodyChildrenLength; i++) {
@@ -158,4 +159,9 @@
writer.write(";\n new Insertion.Top($('" + component.getClientId(context)
+ "'), evaluator.invoke('getContent', window).join(''));");
writer.endElement("script");
}
+
+
+ protected ContentHandler createContentHandler(Writer writer) {
+ return new MacroDefinitionJSContentHandler(writer,
"Richfaces.evalMacro(\"", "\", context)");
+ }
}
Modified:
branches/3.1.x/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/utils.js
===================================================================
---
branches/3.1.x/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/utils.js 2007-11-20
16:30:57 UTC (rev 4113)
+++
branches/3.1.x/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/utils.js 2007-11-20
16:31:12 UTC (rev 4114)
@@ -142,6 +142,19 @@
return value;
}
+Richfaces.interpolate = function (placeholders, context) {
+
+ for(var k in context) {
+ var v = context[k];
+ var regexp = new RegExp("\\{" + k + "\\}", "g");
+ placeholders = placeholders.replace(regexp, v);
+ }
+
+ return placeholders;
+
+};
+
+
Richfaces.getComponent = function(componentType, element)
{
var attribute="richfacesComponent";
Show replies by date