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/21 20:08:58 UTC
svn commit: r568222 - in /myfaces/trinidad/trunk/trinidad:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/
trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/
trinidad-impl/src/main/javascript/META-INF/...
Author: awiner
Date: Tue Aug 21 11:08:57 2007
New Revision: 568222
URL: http://svn.apache.org/viewvc?rev=568222&view=rev
Log:
TRINIDAD-96: Making client validation code incremental, step 4
- Get rid of "Global Message Index" API - the global message is attached directly to the validator function
without an intermediate index
- For inline validation, the error title and format were unused, so don't send them to the client in the first place
Modified:
myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/FormData.java
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CoreFormData.java
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
Modified: myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/FormData.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/FormData.java?rev=568222&r1=568221&r2=568222&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/FormData.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/FormData.java Tue Aug 21 11:08:57 2007
@@ -26,8 +26,6 @@
String targetId,
String label);
- abstract public Integer addGlobalMessageFormat(RenderingContext rc);
-
abstract public void addNeededValue(String name);
abstract public void addRenderedValue(String name);
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CoreFormData.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CoreFormData.java?rev=568222&r1=568221&r2=568222&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CoreFormData.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CoreFormData.java Tue Aug 21 11:08:57 2007
@@ -92,17 +92,6 @@
labelMap.put(targetId, label);
}
- @Override
- public Integer addGlobalMessageFormat(
- RenderingContext rc)
- {
- String format = rc.getSkin().getTranslatedString(rc.getLocaleContext(),
- _GLOBAL_FORMAT_KEY);
- return _addErrorFormat(format);
- }
-
-
-
public Map<String, String> getLabelMap(
boolean createIfNecessary
)
@@ -777,7 +766,5 @@
public Object converter;
}
-
- static private final String _GLOBAL_FORMAT_KEY = "af_messages.GLOBAL_MESSAGE_FORMAT";
static private final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(CoreFormData.class);
}
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?rev=568222&r1=568221&r2=568222&view=diff
==============================================================================
--- 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 21 11:08:57 2007
@@ -446,13 +446,12 @@
// 3: converter (or (void 0) if omitted) - index into Validations array
// 4: validator array - array of integers, each index into Validations
// TODO: turn into a Map of clientId to 4 entries
+ // TODO: consider passing "immediate"
// - Validator function:
// TODO: don't render for PPR.
- // TODO: don't pass index of global message format - just pass the message
- // and delete addGlobalMessageFormat() API
// - Label map: clientId to label
// TODO: inline into Validators array
- // - _Formats array: now used only for required messages + "global"
+ // - _Formats array: now used only for required messages
// TODO:
// Make one monster function of the form:
// TrPage.prototype._addValidators(
@@ -498,10 +497,12 @@
}
// TODO - when there are immediate components validate only those on the
- // client?
+ // client? Or consider simply treating immediate components
+ // as if they were non-immediate on the client
+
// When there is an immediate component do server side validation,
- // see bug 4697440 CLIENT VALIDATION HANDLES
- // EDITABLEVALUEHOLDER IMMEDIATE INCORRECTLY
+ // Before had bug where client-side validation ignored
+ // all immediate components!?!
boolean hasImmediateComponent = fData.hasImmediateComponent();
RequestContext rc = RequestContext.getCurrentInstance();
@@ -671,20 +672,32 @@
else
{
writer.writeText("Validator(f,s){return ", null);
-
- if (rc.getClientValidation() == RequestContext.ClientValidation.INLINE)
+
+ boolean isInline =
+ (rc.getClientValidation() == RequestContext.ClientValidation.INLINE);
+
+ if (isInline)
writer.writeText("_validateInline(f,s,_", null);
else
writer.writeText("_validateAlert(f,s,_", null);
writer.writeText(jsID, null);
- writer.writeText("_Validators,", null);
- Integer globalFormatIndex = fData.addGlobalMessageFormat(arc);
- writer.writeText(globalFormatIndex, null);
- writer.writeText(",\"", null);
- writer.writeText(XhtmlUtils.escapeJS(
- arc.getTranslatedString("af_form.SUBMIT_ERRORS")), null);
- writer.writeText("\");}", null);
+ writer.writeText("_Validators", null);
+ // The _validateAlert() function needs extra arguments
+ // for the "global format" and error title
+ if (!isInline)
+ {
+ writer.writeText(",\"", null);
+ writer.writeText(XhtmlUtils.escapeJS(
+ arc.getTranslatedString(_GLOBAL_FORMAT_KEY)), null);
+ writer.writeText("\",\"", null);
+
+ writer.writeText(XhtmlUtils.escapeJS(
+ arc.getTranslatedString("af_form.SUBMIT_ERRORS")), null);
+ writer.writeText("\"", null);
+ }
+
+ writer.writeText(");}", null);
}
//
@@ -1137,6 +1150,9 @@
private PropertyKey _defaultCommandKey;
private PropertyKey _onsubmitKey;
private PropertyKey _targetFrameKey;
+
+ static private final String _GLOBAL_FORMAT_KEY =
+ "af_messages.GLOBAL_MESSAGE_FORMAT";
// -= Simon Lessard =-
// FIXME: Nothing in this class is logged as of 2006-08-03
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?rev=568222&r1=568221&r2=568222&view=diff
==============================================================================
--- 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 21 11:08:57 2007
@@ -1182,11 +1182,11 @@
form,
source,
validators,
- globalMessageIndex,
+ globalMessage,
errorTitle
)
{
- var failureMap = _multiValidate(form, source, validators, globalMessageIndex);
+ var failureMap = _multiValidate(form, source, validators);
if (failureMap.length == 0)
return true;
@@ -1225,7 +1225,7 @@
var facesMessage = messages[j];
var errorString = _getGlobalErrorString(currInput,
- globalMessageIndex,
+ globalMessage,
facesMessage.getDetail(),
label);
@@ -1248,12 +1248,10 @@
function _validateInline(
form,
source,
- validators,
- globalMessageIndex,
- errorTitle
+ validators
)
{
- var failureMap = _multiValidate(form, source, validators, globalMessageIndex);
+ var failureMap = _multiValidate(form, source, validators);
var noFailures = true;
@@ -2285,8 +2283,7 @@
function _multiValidate(
form,
source,
- validators,
- globalMessageIndex
+ validators
)
{
// Initialise the return map.
@@ -2536,29 +2533,20 @@
function _getGlobalErrorString(
input,
- formatIndex,
+ errorFormat,
errorString,
label
)
{
var form = _getForm(input);
- // get the list of different error formats
- var errorFormats = window["_" + _getJavascriptId(form.name) + "_Formats"];
-
- if (errorFormats)
+ if (errorFormat && label != null)
{
- // get the appropriate error format
- var errorFormat = errorFormats[formatIndex];
-
- if (errorFormat && label != null)
- {
- return _formatErrorString(errorFormat,
- {
- "0":label,
- "1":errorString
- });
- }
- }
+ return _formatErrorString(errorFormat,
+ {
+ "0":label,
+ "1":errorString
+ });
+ }
return errorString;
}