[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>[&#10;</xsl:text>
+    <xsl:text>/*({identifier:"value", label:"label", items:[</xsl:text>
     <xsl:apply-templates/>
-    <xsl:text>&#10;]</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>, &#10;</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