You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by aw...@apache.org on 2007/08/14 18:26:48 UTC
svn commit: r565825 - in
/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main:
java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
javascript/META-INF/adf/jsLibs/Core.js javascript/META-INF/adf/jsLibs/Page.js
Author: awiner
Date: Tue Aug 14 09:26:46 2007
New Revision: 565825
URL: http://svn.apache.org/viewvc?view=rev&rev=565825
Log:
Step 3 of TRINIDAD-96: Validators should be added incrementally, not set as a whole
- Move the array of hidden-fields-to-be-reset onto Page, and make it incremental too
Modified:
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Page.js
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java?view=diff&rev=565825&r1=565824&r2=565825
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java Tue Aug 14 09:26:46 2007
@@ -1085,10 +1085,9 @@
// render the type="text/javascript" attribute in accessibility mode
renderScriptTypeAttribute(context, arc);
- writer.writeText("var _reset", null);
- writer.writeText(XhtmlUtils.getJSIdentifier(fData.getName()),
- null);
- writer.writeText("Names=[\"", null);
+ writer.writeText("TrPage.getInstance()._addResetFields('", null);
+ writer.writeText(fData.getName(), null);
+ writer.writeText("',[\"", null);
writer.writeText(neededValues.get(0), null);
for (int i = 1; i < realNeededIndex; i++)
@@ -1097,7 +1096,7 @@
writer.writeText(neededValues.get(i), null);
}
- writer.writeText("\"];", null);
+ writer.writeText("\"]);", null);
writer.endElement("script");
}
}
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js?view=diff&rev=565825&r1=565824&r2=565825
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js Tue Aug 14 09:26:46 2007
@@ -1782,7 +1782,7 @@
if (doSubmit)
{
// reset any hidden form values before submitting
- _resetHiddenValues(form);
+ TrPage.getInstance()._resetHiddenValues(form);
if (isPartial)
{
@@ -2084,40 +2084,6 @@
{
}
return ( datatosend.substring(0, datatosend.length - 1));
-}
-
-
-
-
-/**
- * Resets any server-generated hidden values on the form passed in.
- * All hidden form values generated by the server on this form are set to
- * the empty string.
- */
-function _resetHiddenValues(
- form
- )
-{
- var resetFields = window["_reset" + _getJavascriptId(form.name) + "Names"];
- if (resetFields)
- {
- for (var i = 0; i < resetFields.length; i++)
- {
- var currField;
- if (_agent.isPIE)
- {
- currField = form.elements[resetFields[i]];
- }
- else
- {
- currField = form[resetFields[i]];
- }
- if (currField)
- {
- currField.value = '';
- }
- }
- }
}
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Page.js
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Page.js?view=diff&rev=565825&r1=565824&r2=565825
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Page.js (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Page.js Tue Aug 14 09:26:46 2007
@@ -159,10 +159,64 @@
}
}
+TrPage.prototype._addResetFields = function(formName, resetNames)
+{
+ // Create the necessary objects
+ var resetFields = this._resetFields;
+ if (!resetFields)
+ {
+ resetFields = new Object();
+ this._resetFields = resetFields;
+ }
+
+ var formReset = resetFields[formName];
+ if (!formReset)
+ {
+ formReset = new Object();
+ resetFields[formName] = formReset;
+ }
+
+ // Store "name":true in the map for each such item
+ for (var i = 0; i < resetNames.length; i++)
+ {
+ formReset[resetNames[i]] = true;
+ }
+}
+
+TrPage.prototype._resetHiddenValues = function(form)
+{
+ var resetFields = this._resetFields;
+ if (resetFields)
+ {
+ var formReset = resetFields[form.getAttribute("name")];
+ if (formReset)
+ {
+ for (var k in formReset)
+ {
+ var currField = form[k];
+ // Code previously used form.elements.currField
+ // on PocketIE. Dunno why the prior form would ever fail.
+ if (!currField)
+ currField = form.elements.currField;
+
+ if (currField)
+ currField.value = '';
+ }
+ }
+ }
+}
+
+/**
+ * Add reset callbacks for a form:
+ * @param formName the name of the form
+ * @param callMap a map from clientId to the JS function
+ * that will reset that component
+ */
TrPage.prototype._addResetCalls = function(
formName,
callMap)
{
+ // Create the necessary objects
var resetCalls = this._resetCalls;
if (!resetCalls)
{
@@ -177,6 +231,8 @@
resetCalls[formName] = formReset;
}
+ // NOTE: this map is never pruned. Ideally, it would be,
+ // but in practice this is unlikely to be a major concern
for (var k in callMap)
{
formReset[k] = callMap[k];