[prev in list] [next in list] [prev in thread] [next in thread]
List: xml-cocoon-dev
Subject: Re: BRANCH_2_1_X-dojo1_1 - dojoId is not defined
From: "Carlos Chávez" <cchavez () agssa ! net>
Date: 2010-07-14 6:47:27
Message-ID: d2bd94659c9fda9b17b82bc541b05a6c.squirrel () mail ! agssa ! net
[Download RAW message or body]
Jeroen Reijn Escribio :-)
> Hi,
>
> there was some effort of updating to dojo 1.1, but the work in the
> branch as far as I know is not finished.
>
> Jeroen
Hi Jeroen.
thanks for the feedback.
I'm trying to help in the testing, I know Jeremy work sometime ago
on this branch.
So, in anycase I'm attaching another patch, this patch is to make work
again the suggestion list of type javascript:
<fd:suggestion-list type="javascript">
--
Cheers.
Carlos Chávez.
>
> On Mon, Jul 5, 2010 at 6:56 AM, "Carlos Chávez" <cchavez@agssa.net> wrote:
>> Hi guys.
>>
>> I was testing the branch
>> http://svn.apache.org/repos/asf/cocoon/branches/BRANCH_2_1_X-dojo1_1. I
>> enter in the sample:
>>
>> http://localhost:8888/samples/blocks/forms/do-calculatedfields.flow
>>
>> I tried to add a row to the repeater and it shows the error:
>>
>> dojoId is not defined.
>>
>> I attached to the email the fix for this error.
>>
>> --
>> Cheers.
>> Carlos Chávez.
>>
>
["suggestion_list_type_javascript_patch.txt" (text/plain)]
### Eclipse Workspace Patch 1.0
#P BRANCH_2_1_X-dojo1_1
Index: src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl (revision \
960158)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl (working \
copy) @@ -47,13 +47,14 @@
<xsl:param name="dojo-resources"><xsl:value-of \
select="$context-path"/>/_cocoon/resources/dojotoolkit</xsl:param> <!-- Url prefix \
for dojo resources --> <xsl:param name="forms-resources"><xsl:value-of \
select="$context-path"/>/_cocoon/resources/forms</xsl:param> <!-- Url prefix for \
forms block resources --> <xsl:param name="forms-system"><xsl:value-of \
select="$context-path"/>/_cocoon/system/forms</xsl:param> <!-- Url prefix \
for forms block system pipelines -->
-
+ <xsl:param name="forms-suggest">_cocoon/system/forms/suggestionlist</xsl:param> \
<!-- Special case for the suggest widget --> +
<!-- set the default dojo css theme, other choices are currently 'nihilo' and \
'soria' --> <xsl:param name="dojo-theme-default">tundra</xsl:param>
-
+
<!-- A convenient way for samples to have a url that switches the theme. If your \
app does not want this, don't send this param from your sitemap --> <xsl:param \
name="dojo-theme-param"></xsl:param>
-
+
<!-- the determine dojo css theme to use -->
<xsl:variable name="dojo-theme">
<xsl:choose>
@@ -61,15 +62,15 @@
<xsl:otherwise><xsl:value-of select="$dojo-theme-param"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
-
+
<!-- option to turn on console debugging for dojo on the browser and loading of \
uncompressed resources, from a parameter in the sitemap --> <xsl:param \
name="dojo-debug">false</xsl:param> <xsl:variable name="dojo-debug-js"><xsl:if \
test="$dojo-debug='true'">.uncompressed.js</xsl:if></xsl:variable><!-- load the \
uncompressed version for debug mode --> <xsl:variable name="dojo-debug-css"><xsl:if \
test="$dojo-debug='true'">.commented.css</xsl:if></xsl:variable>
-
+
<!-- Configure the dojo locale from a parameter in the sitemap (required?). -->
- <xsl:param name="dojo-locale"></xsl:param>
-
+ <xsl:param name="dojo-locale"></xsl:param>
+
<!-- Create a variable with the normalized locale, dojo needs locale parts to be \
separated with a dash --> <xsl:variable name="dojoLocale">
<xsl:choose>
@@ -81,7 +82,7 @@
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
-
+
<!-- create a variable for the dojo configuration -->
<xsl:variable name="djConfig">
isDebug: <xsl:value-of select="$dojo-debug"/>,
@@ -94,11 +95,11 @@
locale: '<xsl:value-of select="$dojoLocale"/>'<xsl:if test="$dojo-use-cdn = \
'true' and $dojo-cdn != ''">,
dojoBlankHtmlUrl: '<xsl:value-of \
select="$dojo-resources"/>/dojo/resources/blank.html',
dojoIframeHistoryUrl: '<xsl:value-of \
select="$dojo-resources"/>/dojo/resources/iframe_history.html', <!-- not currently \
used by cforms itself -->
- baseUrl: './',
+ baseUrl: './',
xdWaitSeconds: 10</xsl:if>
</xsl:variable>
- <xsl:template match="head" mode="forms-field">
+ <xsl:template match="head" mode="forms-field">
<xsl:choose>
<xsl:when test="$dojo-use-cdn = 'true' and $dojo-cdn != ''">
<link rel="stylesheet" type="text/css" \
href="{$dojo-cdn}/dijit/themes/dijit.css"/><!-- Google CDN does not keep \
*.commented.css --> @@ -146,11 +147,11 @@
| Adds support for live data validation on the client, based on fi:datatype
| (Browser validation may be turned off with \
fi:styling/@browserValidation="false") +-->
-
+
<!-- TODO: Document new options -->
<!-- TODO: fi:styling/@regExp should not be a user tag, it should come from \
the validator (eventually?) -->
-
- <xsl:template match="fi:field[not(fi:styling/@type='inplace-area') and \
(@state='active' or @state='disabled')] | +
+ <xsl:template match="fi:field[not(fi:styling/@type='inplace-area') and \
(@state='active' or @state='disabled')] |
fi:aggregatefield[not(fi:styling/@type='inplace-area') and \
(@state='active' or @state='disabled')]"> <!-- isValidating --><xsl:variable \
name="v" select="@required = 'true' or fi:validation-message or fi:styling/@regExp != \
'' or fi:styling/@browserValidation != 'false'"/>
<!-- isFormatted --><xsl:variable name="f" select="fi:datatype/fi:convertor"/>
@@ -399,7 +400,7 @@
+-->
<xsl:template match="fi:field[(fi:styling/@type='suggest' or fi:styling/@dataUrl \
!= '') and @state='active']" priority="1"> <xsl:variable name="value" \
select="fi:value"/>
- <xsl:variable name="isStore" select="not(fi:selection-list) or \
fi:styling/@dataUrl"/> + <xsl:variable name="isStore" \
select="not(fi:selection-list) or fi:styling/@dataUrl"/> <!-- <xsl:variable \
name="queryExpr"> <xsl:choose>
<xsl:when test="fi:styling/@match = 'contains'">*${0}*</xsl:when>
@@ -438,7 +439,7 @@
| A dojo.data ReadStore for retrieving suggestion lists dynamically
| Works with either a fd:suggestion-list/@type="javascript" in the Model
| - in which case the fd:suggestion-list must contain an implementation
- | and there must be pipeline at "_cocoon/forms/suggest" (relative)
+ | and there must be pipeline at "_cocoon/system/forms/suggestionlist" \
(relative)
| that uses the SuggestionListGenerator to return the list (see samples)
| Or fi:styling/@dataUrl in the Template
| - in which case there must be a pipeline at that url to return the list
@@ -458,18 +459,17 @@
<xsl:if test="fi:styling/@pageSize"><xsl:attribute \
name="pageSize"><xsl:value-of \
select="fi:styling/@pageSize"/></xsl:attribute></xsl:if> <xsl:choose>
<xsl:when test="$isWidget">
- <!-- TODO: maybe a candidate for a system pipeline? -->
- <!-- Reads from a widget, via a pipeline: you must have a pipeline that \
serves this url
- - the widget adds: continuation-id, widget (name) and filter (search) \
request parameters + <!-- Reads from a widget, via a pipeline: you must \
have a pipeline that serves this url relative + - the widget adds: \
continuation-id, widget (name) and filter (search) request parameters
- there must be a suggestion-list providing this data, in your Model \
-->
- <xsl:attribute name="url"><xsl:value-of \
select="$forms-system"/>/suggestionlist</xsl:attribute> + <xsl:attribute \
name="url"><xsl:value-of select="$forms-suggest"/></xsl:attribute>
<xsl:attribute name="client"><xsl:value-of \
select="@id"/>:input</xsl:attribute> </xsl:when>
<xsl:otherwise>
<!-- Reads from a pipeline: you must have a pipeline that serves this url \
(the widget adds a filter request parameter) -->
- <xsl:attribute name="url"><xsl:value-of \
select="$forms-system"/>/suggestionlist/<xsl:value-of \
select="fi:styling/@dataUrl"/></xsl:attribute> + <xsl:attribute \
name="url"><xsl:value-of select="$context-path"/>/<xsl:value-of \
select="$forms-suggest"/>/<xsl:value-of \
select="fi:styling/@dataUrl"/></xsl:attribute> </xsl:otherwise>
- </xsl:choose>
+ </xsl:choose>
</div>
</xsl:template>
Index: src/blocks/forms/samples/forms/lists.xml
===================================================================
--- src/blocks/forms/samples/forms/lists.xml (revision 960158)
+++ src/blocks/forms/samples/forms/lists.xml (working copy)
@@ -170,7 +170,6 @@
</fd:selection-list>
</fd:field>
- <!-- TODO: this version of the FilteringSelect WIdget is not working properly \
yet. --> <fd:field id="personId">
<fd:label>Person</fd:label>
<fd:help>A suggestion-list made using a Widget, by adding a \
fd:suggestion-list/@type="javascript" to the model.</fd:help>
Index: src/blocks/forms/resources/org/apache/cocoon/forms/system/sitemap.xmap
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/system/sitemap.xmap (revision \
960158)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/system/sitemap.xmap (working \
copy) @@ -20,7 +20,7 @@
CForms system pipelines sitemap
- @version $Id$
+ @version $Id$
-->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
@@ -42,32 +42,23 @@
<map:flow language="javascript">
<map:script src="System.Collections.js"/>
</map:flow>
-
+
<map:pipelines>
<map:pipeline>
-
+
<!-- JSON support -->
<map:match pattern="send-json">
<map:read src="module:flow-attr:json" \
mime-type="text/json-comment-filtered" /> </map:match>
-
- <!--+
- | Show a suggestion list provided by a Widget
- +-->
- <map:match pattern="suggestionlist">
- <map:generate type="suggestion-list"/>
- <!-- <map:transform type="i18n"/>TODO: SHould'nt need i18n (once \
implemented in ) -->
- <map:transform \
src="resource://org/apache/cocoon/forms/resources/selection-list2json.xsl"/>
- <map:serialize type="json"/>
- </map:match>
-
+
+ <!-- the parameter {1} represent the name of the register function that \
serve + the list of elements to populate the widget -->
<map:match pattern="suggestionlist/*">
<map:call function="System.Collections.doSuggestionList">
<map:parameter name="id" value="{1}"/>
</map:call>
</map:match>
-
-
+
</map:pipeline>
</map:pipelines>
Index: src/blocks/forms/samples/forms/lists_template.xml
===================================================================
--- src/blocks/forms/samples/forms/lists_template.xml (revision 960158)
+++ src/blocks/forms/samples/forms/lists_template.xml (working copy)
@@ -17,10 +17,10 @@
-->
<!-- The only difference between this file and the form1_template_flow.xml
is the value of the action attribute on the ft:form-template element -->
-<page xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
+<page xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-
+
<!-- Import the macros that define CForms template elements -->
<jx:import uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
<jx:import uri="resources/samples-jx-macros.xml"/><!-- common macros for samples \
--> @@ -89,9 +89,9 @@
<ft:widget id="vegetables">
<fi:styling type="suggest"/>
</ft:widget>
- <!--<ft:widget id="personId"> TODO: currently broken, \
org.apache.cocoon.forms.generation.SuggestionListGenerator cannot find the \
continuation + <ft:widget id="personId">
<fi:styling type="suggest"/>
- </ft:widget>-->
+ </ft:widget>
<ft:widget id="workplace">
<fi:styling type="suggest" dataUrl="countries" pageSize="10"/>
</ft:widget>
@@ -107,10 +107,10 @@
</fi:group>
</fi:items>
</fi:group>
-
+
<p><ft:widget id="ok"/></p>
</div>
- <p>Supported Locales:
+ <p>Supported Locales:
<sample-locale-chooser/><!-- a macro from samples-jx-macros.xml -->
</p>
<p>
Index: src/blocks/forms/resources/org/apache/cocoon/forms/resources/selection-list2json.xsl
===================================================================
--- src/blocks/forms/resources/org/apache/cocoon/forms/resources/selection-list2json.xsl (revision \
960158)
+++ src/blocks/forms/resources/org/apache/cocoon/forms/resources/selection-list2json.xsl (working \
copy) @@ -29,15 +29,15 @@
<xsl:template match="fi:selection-list">
<dummy-root>
- <xsl:text>[ </xsl:text>
+ <xsl:text>/*({identifier:"value", label:"label", items:[</xsl:text>
<xsl:apply-templates/>
- <xsl:text> ]</xsl:text>
+ <xsl:text>]})*/</xsl:text>
</dummy-root>
</xsl:template>
<xsl:template match="fi:item">
- <xsl:text>["</xsl:text>
- <!-- displayed text -->
+ <xsl:text>{label:"</xsl:text>
+ <!-- label -->
<xsl:choose>
<xsl:when test="fi:label">
<xsl:value-of select="fi:label"/>
@@ -46,10 +46,10 @@
<xsl:value-of select="@value"/>
</xsl:otherwise>
</xsl:choose>
- <xsl:text>", "</xsl:text>
+ <xsl:text>", value:"</xsl:text>
<!-- value -->
<xsl:value-of select="@value"/>
- <xsl:text>"]</xsl:text>
+ <xsl:text>"}</xsl:text>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
Index: src/blocks/forms/samples/sitemap.xmap
===================================================================
--- src/blocks/forms/samples/sitemap.xmap (revision 960158)
+++ src/blocks/forms/samples/sitemap.xmap (working copy)
@@ -200,14 +200,14 @@
<!--
| Show a suggestion list
-->
- <map:match pattern="_cocoon/forms/suggest">
+ <map:match pattern="_cocoon/system/forms/suggestionlist">
<map:generate type="suggestion-list"/>
<map:transform type="i18n"/>
<map:transform \
src="resource://org/apache/cocoon/forms/resources/selection-list2json.xsl"/> \
<map:serialize type="json"/> </map:match>
- <map:match pattern="_cocoon/forms/suggest/*">
+ <map:match pattern="_cocoon/system/forms/suggestionlist/*">
<map:call function="{1}Lookup"/>
</map:match>
<map:match pattern="*.json-combo-data">
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic