You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by br...@apache.org on 2007/02/01 13:53:01 UTC
svn commit: r502204 - in /cocoon: branches/BRANCH_2_1_X/
trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/
trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/...
Author: bruno
Date: Thu Feb 1 04:53:00 2007
New Revision: 502204
URL: http://svn.apache.org/viewvc?view=rev&rev=502204
Log:
CForms: change some things now that I have a better understanding of the dojo locale things:
- dojo works best with one default locale for the whole page, set this locale via djConfig.locale, taken from a sitemap parameter.
- don't use dojo.extraLocales
- leave the locale attribute on the form tag there to be able to provide helpful debugging in datetime picker widget
Modified:
cocoon/branches/BRANCH_2_1_X/status.xml
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/DropdownDateTimePicker.js
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-sample/src/main/resources/COB-INF/sitemap.xmap
Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/status.xml?view=diff&rev=502204&r1=502203&r2=502204
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Thu Feb 1 04:53:00 2007
@@ -190,6 +190,7 @@
</action>
<action dev="BRD" type="update">
CForms: introduce a new dojo-based popup-picker for dates, times and datetimes.
+ For correct localization, supply a "dojo-locale" parameter to the forms styling XSLT (see samples).
</action>
<action dev="BRD" type="add">
CForms: add support for a "timeStyle" attribute on the formatting date convertor, so
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl?view=diff&rev=502204&r1=502203&r2=502204
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl Thu Feb 1 04:53:00 2007
@@ -28,7 +28,19 @@
exclude-result-prefixes="fi">
<xsl:param name="dojo-debug">false</xsl:param><!-- option to turn on console debugging for dojo on the browser, from a parameter in the sitemap -->
- <xsl:param name="dojo-languages">["en", "de", "nl", "fr", "it", "pt"]</xsl:param> <!-- Allows to configure the dojo languages from a parameter in the sitemap. This should be a valid javascript array. -->
+ <xsl:param name="dojo-locale">en</xsl:param> <!-- Allows to configure the dojo locale from a parameter in the sitemap. This should be the same as the form locale. -->
+
+ <!-- Create a variable with the normalized locale, dojo needs locale parts to be separated with a dash -->
+ <xsl:variable name="dojoLocale">
+ <xsl:choose>
+ <xsl:when test="$dojo-locale != ''">
+ <xsl:value-of select="translate($dojo-locale, '_', '-')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>en</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
<!--+
| Setup the scripts for CForms
@@ -65,7 +77,7 @@
<xsl:if test="$dojo-debug = 'true'"> <!-- turn on debugging, if requested -->
<xsl:text> djConfig.isDebug = true; </xsl:text>
</xsl:if>
- djConfig.extraLocale = <xsl:value-of select="$dojo-languages"/>;
+ djConfig.locale = "<xsl:value-of select="$dojoLocale"/>";
var cocoon;
if (!cocoon)
cocoon = {};
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/DropdownDateTimePicker.js
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/DropdownDateTimePicker.js?view=diff&rev=502204&r1=502203&r2=502204
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/DropdownDateTimePicker.js (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/DropdownDateTimePicker.js Thu Feb 1 04:53:00 2007
@@ -60,10 +60,11 @@
this.locale = formLocale;
}
- // make sure locale is supported by dojo, otherwise fall back to 'en'
- if (this.locale == null || this.locale == "" || !djConfig.extraLocale || !dojo.lang.inArray(djConfig.extraLocale, this.locale.split("-")[0])) {
- dojo.debug("DropdownDateTimePicker: no locale specified or locale used by widget or CForm (" + this.locale + ") is not loaded via djConfig.extraLocale, will fall back to 'en'.");
+ this.locale = dojo.locale;
+ if (this.locale == null)
this.locale = "en";
+ if (this.locale != formLocale) {
+ dojo.debug("DropdownDateTimePicker: form locale (" + formLocale + ") is different from dojo locale (" + dojo.locale + ")")
}
this._splitPattern();
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-sample/src/main/resources/COB-INF/sitemap.xmap
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-sample/src/main/resources/COB-INF/sitemap.xmap?view=diff&rev=502204&r1=502203&r2=502204
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-sample/src/main/resources/COB-INF/sitemap.xmap (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-sample/src/main/resources/COB-INF/sitemap.xmap Thu Feb 1 04:53:00 2007
@@ -218,6 +218,7 @@
</map:call>
<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
+ <map:parameter name="dojo-locale" value="{flow-attr:locale}"/>
</map:transform>
<map:transform type="i18n">
</map:transform>
@@ -240,7 +241,8 @@
</map:call>
<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
- <map:parameter name="dojo-debug" value="false"/><!-- set to true to turn on dojo debugging in the Browser -->
+ <map:parameter name="dojo-debug" value="true"/><!-- set to true to turn on dojo debugging in the Browser -->
+ <map:parameter name="dojo-locale" value="{flow-attr:locale}"/>
</map:transform>
<map:transform type="i18n">
<map:parameter name="locale" value="{flow-attribute:locale}"/>