You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2004/11/26 09:44:36 UTC
svn commit: r106646 - in cocoon/trunk/src/blocks/forms: conf lib samples samples/flow samples/forms samples/resources
Author: reinhard
Date: Fri Nov 26 00:44:32 2004
New Revision: 106646
URL: http://svn.apache.org/viewcvs?view=rev&rev=106646
Log:
HTMLcleaningConvertor, htmlarea in HTML-tables, improved examples, XMLized strings - utility class by Bruno
Added:
cocoon/trunk/src/blocks/forms/lib/daisy-htmlcleaner-1.1.jar (contents, props changed)
cocoon/trunk/src/blocks/forms/lib/daisy-util-1.1.jar (contents, props changed)
cocoon/trunk/src/blocks/forms/lib/nekodtd-0.1.10.jar (contents, props changed)
Modified:
cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf
cocoon/trunk/src/blocks/forms/samples/flow/bindings.js
cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js
cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml
cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml
cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx
cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml
cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl
cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl
cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl
cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js
cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl
cocoon/trunk/src/blocks/forms/samples/sitemap.xmap
Modified: cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf&r1=106645&p2=cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf (original)
+++ cocoon/trunk/src/blocks/forms/conf/forms-datatype.xconf Fri Nov 26 00:44:32 2004
@@ -25,6 +25,7 @@
<datatype name="string" src="org.apache.cocoon.forms.datatype.typeimpl.StringTypeBuilder">
<convertors default="dummy" plain="dummy">
<convertor name="dummy" src="org.apache.cocoon.forms.datatype.convertor.DummyStringConvertorBuilder"/>
+ <convertor name="htmlcleaner" src="org.apache.cocoon.forms.datatype.convertor.HtmlCleaningConvertorBuilder"/>
</convertors>
</datatype>
<datatype name="integer" src="org.apache.cocoon.forms.datatype.typeimpl.IntegerTypeBuilder">
Added: cocoon/trunk/src/blocks/forms/lib/daisy-htmlcleaner-1.1.jar
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/lib/daisy-htmlcleaner-1.1.jar?view=auto&rev=106646
==============================================================================
Binary file. No diff available.
Added: cocoon/trunk/src/blocks/forms/lib/daisy-util-1.1.jar
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/lib/daisy-util-1.1.jar?view=auto&rev=106646
==============================================================================
Binary file. No diff available.
Added: cocoon/trunk/src/blocks/forms/lib/nekodtd-0.1.10.jar
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/lib/nekodtd-0.1.10.jar?view=auto&rev=106646
==============================================================================
Binary file. No diff available.
Modified: cocoon/trunk/src/blocks/forms/samples/flow/bindings.js
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/flow/bindings.js?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/flow/bindings.js&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/flow/bindings.js&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/flow/bindings.js (original)
+++ cocoon/trunk/src/blocks/forms/samples/flow/bindings.js Fri Nov 26 00:44:32 2004
@@ -66,7 +66,7 @@
// all back-end models are bound to essentially the same form, using the same binding!
var form = createFormForSample(sampleCode);
- // the beack-end model itself however depends on sample and type.
+ // the back-end model itself however depends on sample and type.
var bean = createBeanForSample(backendType, sampleCode);
// loads the backend-bean into the form
@@ -78,7 +78,7 @@
// saves the form into the backend-bean
form.save(bean);
var bizData = new Object();
- //hack the XML content to a string for display
+ // hack the XML content to a string for display
if (backendType.equals("XML")) {
bean = {xml: serializeNode(bean)};
}
Modified: cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js (original)
+++ cocoon/trunk/src/blocks/forms/samples/flow/htmlarea.js Fri Nov 26 00:44:32 2004
@@ -21,6 +21,9 @@
form.showForm("htmlarea-display-pipeline");
var model = form.getModel();
- var htmldata = { "data" : model.data }
+ var htmldata = {
+ "data1" : new Packages.org.apache.cocoon.xml.StringXMLizable(model.data1),
+ "data2" : new Packages.org.apache.cocoon.xml.StringXMLizable(model.data2)
+ }
cocoon.sendPage("htmlarea-success-pipeline", htmldata);
-}
+}
\ No newline at end of file
Modified: cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml (original)
+++ cocoon/trunk/src/blocks/forms/samples/forms/form2_bind_xml.xml Fri Nov 26 00:44:32 2004
@@ -107,7 +107,7 @@
</fb:on-bind>
<fb:on-delete-row>
- <!-- chose on of these to test -->
+ <!-- choose one of these to test -->
<!--
<fb:set-attribute name="row-state" value="deleted" />
-->
Modified: cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml (original)
+++ cocoon/trunk/src/blocks/forms/samples/forms/htmlarea.xml Fri Nov 26 00:44:32 2004
@@ -19,9 +19,17 @@
xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<fd:widgets>
- <fd:field id="data">
- <fd:label>HTML:</fd:label>
- <fd:datatype base="string" />
+ <fd:field id="data1">
+ <fd:label>in div; configuration within cForms template</fd:label>
+ <fd:datatype base="string">
+ <fd:convertor type="htmlcleaner" config="resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/>
+ </fd:datatype>
+ </fd:field>
+ <fd:field id="data2">
+ <fd:label>in a table</fd:label>
+ <fd:datatype base="string">
+ <fd:convertor type="htmlcleaner" config="resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/>
+ </fd:datatype>
</fd:field>
</fd:widgets>
</fd:form>
Modified: cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx (original)
+++ cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_success.jx Fri Nov 26 00:44:32 2004
@@ -14,11 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<page>
- <title>Editing successful</title>
- <content>
- Editing was successful:<br/>
- <br/>
- ${data}
- </content>
-</page>
+<result>
+ <data1>#{data1}</data1>
+ <data2>#{data2}</data2>
+</result>
Modified: cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml (original)
+++ cocoon/trunk/src/blocks/forms/samples/forms/htmlarea_template.xml Fri Nov 26 00:44:32 2004
@@ -19,14 +19,48 @@
<title>HTMLArea</title>
<content>
<ft:form-template action="#{$continuation/id}.continue" method="POST">
- <div>
- <ft:widget-label id="data"/><br/>
- <ft:widget id="data">
- <fi:styling type="htmlarea" style="width: 100%;" rows="20" cols="80"/>
+ <div style="width:500px">
+ <ft:widget-label id="data1"/><br/>
+ <ft:widget id="data1">
+ <fi:styling type="htmlarea" rows="8" style="width:100%">
+ <!-- at this place, the configuration property of the HTMLArea is under 'conf'
+ available. Find more info about the available properties at
+ http://www.htmlarea.com/htmlarea_2/documentation.html -->
+ <conf>
+ conf.statusBar = false;
+ conf.sizeIncludesToolbar = false;
+ conf.fullPage = false;
+ conf.toolbar = [
+ [ "bold", "italic", "separator",
+ "subscript", "superscript", "separator",
+ "insertorderedlist", "insertunorderedlist",
+ "outdent", "indent", "separator",
+ "inserthorizontalrule", "separator",
+ "copy", "cut", "paste", "space", "undo", "redo",
+ "separator", "showhelp"]
+ ];
+ </conf>
+ </fi:styling>
</ft:widget>
- <br/>
- <input type="submit"/>
</div>
+ <p/>
+ <table border="1">
+ <tr>
+ <td><ft:widget-label id="data2"/></td>
+ </tr>
+ <tr>
+ <td>
+ <ft:widget id="data2">
+ <fi:styling type="htmlarea" rows="8" cols="70">
+ <!-- if you add initFunction, make sure that it is available at the browser -->
+ <!--initFunction>myInit</initFunction-->
+ </fi:styling>
+ </ft:widget>
+ </td>
+ </tr>
+ </table>
+ <p/>
+ <input type="submit"/>
</ft:form-template>
</content>
</page>
Modified: cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl (original)
+++ cocoon/trunk/src/blocks/forms/samples/resources/forms-advanced-field-styling.xsl Fri Nov 26 00:44:32 2004
@@ -24,7 +24,7 @@
| The very specific advanced stylings as the calendar or htmlarea (both
| also need additional JS files) are separated out of this file.
+-->
-
+
<xsl:import href="forms-field-styling.xsl"/>
<xsl:include href="forms-calendar-styling.xsl"/>
<xsl:include href="forms-htmlarea-styling.xsl"/>
@@ -99,7 +99,7 @@
</th>
<th> </th>
<th>
- <xsl:copy-of select="fi:styling/fi:selected-label/node()"/>
+ <xsl:copy-of select="fi:styling/fi:selected-label/node()"/>
</th>
</tr>
</xsl:if>
@@ -116,7 +116,7 @@
<xsl:copy-of select="fi:label/node()"/>
</option>
</xsl:if>
- </xsl:for-each>
+ </xsl:for-each>
</select>
</td>
<td>
@@ -125,7 +125,7 @@
<xsl:text> </xsl:text>
<input type="button" value=">" onclick="opt{generate-id()}.forms_transferRight()">
<xsl:if test="@state='disabled'">
- <xsl:attribute name="disabled">disabled</xsl:attribute>
+ <xsl:attribute name="disabled">disabled</xsl:attribute>
</xsl:if>
</input>
<xsl:text> </xsl:text>
Modified: cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl (original)
+++ cocoon/trunk/src/blocks/forms/samples/resources/forms-field-styling.xsl Fri Nov 26 00:44:32 2004
@@ -33,7 +33,13 @@
<xsl:template match="body" mode="forms-field">
<xsl:copy-of select="@*"/>
- <xsl:attribute name="onload">forms_onload(); <xsl:value-of select="@onload"/></xsl:attribute>
+ <xsl:attribute name="onload">forms_onload();<xsl:value-of select="@onload"/></xsl:attribute>
+ </xsl:template>
+
+ <xsl:template match="body" mode="forms-afterload">
+ <script language="Javascript">
+ forms_afterLoad();
+ </script>
</xsl:template>
<!--+
Modified: cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl (original)
+++ cocoon/trunk/src/blocks/forms/samples/resources/forms-htmlarea-styling.xsl Fri Nov 26 00:44:32 2004
@@ -47,11 +47,46 @@
</textarea>
<xsl:apply-templates select="." mode="common"/>
<xsl:choose>
- <xsl:when test="fi:styling/initFunction">
- <script language="JavaScript"><xsl:value-of select="fi:styling/initFunction"/>('<xsl:value-of select="@id"/>');</script>
+ <xsl:when test="fi:styling/conf">
+ <!-- use an 'ad hoc' configuration -->
+ <script type="text/javascript">
+ var handler = new Object();
+ handler.fieldId = "<xsl:value-of select="@id"/>";
+ handler.forms_afterLoad = function() {
+ var id = "<xsl:value-of select="@id"/>";
+ var textarea = document.getElementById(id);
+ var editor = new HTMLArea(id);
+ textarea.htmlarea = editor;
+ var conf = editor.config;
+ <xsl:value-of select="fi:styling/conf/text()"/>
+ editor.generate();
+ }
+ forms_afterLoadHandler.push(handler);
+ </script>
</xsl:when>
+ <!-- use a passed configuration function -->
+ <xsl:when test="fi:styling/initFunction and not(fi:styling/conf)">
+ <script type="text/javascript">
+ var handler = new Object();
+ handler.fieldId = "<xsl:value-of select="@id"/>";
+ if(typeof(<xsl:value-of select="fi:styling/initFunction"/>)!="function") {
+ alert("<xsl:value-of select="fi:styling/initFunction"/> is not a function " +
+ or not available! Can't render widget '<xsl:value-of select="@id"/>'");
+ }
+ handler.forms_afterLoad = <xsl:value-of select="fi:styling/initFunction"/>;
+ forms_afterLoadHandler.push(handler);
+ </script>
+ </xsl:when>
+ <!-- default mode with all buttons available -->
<xsl:otherwise>
- <script type="text/javascript">HTMLArea.replace('<xsl:value-of select="@id"/>');</script>
+ <script type="text/javascript">
+ var handler = new Object();
+ handler.fieldId = "<xsl:value-of select="@id"/>";
+ handler.forms_afterLoad = function() {
+ HTMLArea.replace('<xsl:value-of select="@id"/>');
+ }
+ forms_afterLoadHandler.push(handler);
+ </script>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Modified: cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js (original)
+++ cocoon/trunk/src/blocks/forms/samples/resources/forms-lib.js Fri Nov 26 00:44:32 2004
@@ -31,8 +31,20 @@
forms_onloadHandlers = null;
}
+// Handlers that are to be called at the end of the document
+// (called before the closing body element)
+var forms_afterLoadHandler = new Array();
+
+function forms_afterLoad() {
+ for (var i = 0; i < forms_afterLoadHandler.length; i++) {
+ forms_afterLoadHandler[i].forms_afterLoad(forms_afterLoadHandler[i].fieldId);
+ }
+ // Clear it (we no more need them)
+ forms_afterLoadHandler = null;
+}
+
// Handlers that are to be called in form's "onsubmit" event
-//FIXME: this single var implies only one form per page, and needs to be
+// FIXME: this single var implies only one form per page, and needs to be
// visited if we decide to support several forms per page.
var forms_onsubmitHandlers = new Array();
Modified: cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl (original)
+++ cocoon/trunk/src/blocks/forms/samples/resources/forms-samples-styling.xsl Fri Nov 26 00:44:32 2004
@@ -29,7 +29,7 @@
<head>
<xsl:apply-templates/>
<xsl:apply-templates select="." mode="forms-page"/>
- <xsl:apply-templates select="." mode="forms-field"/>
+ <xsl:apply-templates select="." mode="forms-field"/>
</head>
</xsl:template>
@@ -41,6 +41,7 @@
<xsl:apply-templates select="." mode="forms-page"/>
<xsl:apply-templates select="." mode="forms-field"/>
<xsl:apply-templates/>
+ <xsl:apply-templates select="." mode="forms-afterload"/>
</body>
</xsl:template>
Modified: cocoon/trunk/src/blocks/forms/samples/sitemap.xmap
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/samples/sitemap.xmap?view=diff&rev=106646&p1=cocoon/trunk/src/blocks/forms/samples/sitemap.xmap&r1=106645&p2=cocoon/trunk/src/blocks/forms/samples/sitemap.xmap&r2=106646
==============================================================================
--- cocoon/trunk/src/blocks/forms/samples/sitemap.xmap (original)
+++ cocoon/trunk/src/blocks/forms/samples/sitemap.xmap Fri Nov 26 00:44:32 2004
@@ -40,6 +40,10 @@
<map:view name="content" from-label="content">
<map:serialize type="xml"/>
</map:view>
+
+ <map:view name="content1" from-label="content1">
+ <map:serialize type="xml"/>
+ </map:view>
<map:view from-label="content" name="pretty-content">
<map:transform src="context://stylesheets/system/xml2html.xslt"/>
@@ -124,7 +128,7 @@
<!-- pipeline to show the form -->
<map:generate src="forms/form1_template_action.xml"/>
- <map:transform type="forms">
+ <map:transform type="forms" label="content1">
<map:parameter name="attribute-name" value="form1"/>
</map:transform>
<map:transform type="i18n">
@@ -162,7 +166,7 @@
-->
<map:match pattern="*-display-pipeline">
<map:generate src="forms/{1}_template.xml"/>
- <map:transform type="forms"/>
+ <map:transform type="forms" label="content1"/>
<map:transform type="i18n">
<map:parameter name="locale" value="en-US"/>
</map:transform>
@@ -177,7 +181,7 @@
| Show a form, using the jx template macros
-->
<map:match pattern="*-display-pipeline.jx">
- <map:generate type="jx" src="forms/{1}_template.xml"/>
+ <map:generate type="jx" src="forms/{1}_template.xml" label="content1"/>
<map:transform type="i18n">
<map:parameter name="locale" value="en-US"/>
</map:transform>
@@ -414,14 +418,7 @@
<map:match pattern="htmlarea-success-pipeline">
<map:generate type="jx" src="forms/htmlarea_success.jx"/>
- <map:transform src="context://samples/common/style/xsl/html/simple-page2html.xsl">
- <map:parameter name="contextPath" value="{request:contextPath}"/>
- <map:parameter name="servletPath" value="{request:servletPath}"/>
- <map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
- <map:parameter name="file" value="forms/htmlarea_success.jx"/>
- <map:parameter name="remove" value="{0}"/>
- </map:transform>
- <map:serialize/>
+ <map:serialize type="xml"/>
</map:match>
<map:match pattern="resources/**">