You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gm...@apache.org on 2007/01/28 16:19:09 UTC
svn commit: r500808 - in /myfaces/tomahawk/trunk/sandbox/core/src/main:
java/org/apache/myfaces/custom/ppr/
resources/org/apache/myfaces/custom/ppr/resource/ tld/
Author: gmuellan
Date: Sun Jan 28 07:19:08 2007
New Revision: 500808
URL: http://svn.apache.org/viewvc?view=rev&rev=500808
Log:
Added new attribute "showDebugMessages" to ppr in order to get rid of ugly js-alert messages in production environments.
Modified:
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroup.java
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupTag.java
myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js
myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroup.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroup.java?view=diff&rev=500808&r1=500807&r2=500808
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroup.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroup.java Sun Jan 28 07:19:08 2007
@@ -40,7 +40,9 @@
private String _inlineLoadingMessage;
- public PPRPanelGroup()
+ private Boolean _showDebugMessages = new Boolean(false);
+
+ public PPRPanelGroup()
{
setRendererType(DEFAULT_RENDERER_TYPE);
}
@@ -98,7 +100,22 @@
this._inlineLoadingMessage = inlineLoadingMessage;
}
- public void restoreState(FacesContext context, Object state)
+ public Boolean getShowDebugMessages()
+ {
+ if (_showDebugMessages != null)
+ {
+ return _showDebugMessages;
+ }
+ ValueBinding vb = getValueBinding("showDebugMessages");
+ return vb != null ? (Boolean) vb.getValue(getFacesContext()) : null;
+ }
+
+ public void setShowDebugMessages(Boolean showDebugMessages)
+ {
+ _showDebugMessages = showDebugMessages;
+ }
+
+ public void restoreState(FacesContext context, Object state)
{
Object[] values = (Object[]) state;
@@ -106,16 +123,18 @@
_partialTriggers = (String) values[1];
_partialTriggerPattern = (String) values[2];
_periodicalUpdate = (Integer) values[3];
+ _showDebugMessages = (Boolean) values[4];
}
public Object saveState(FacesContext context)
{
- Object[] values = new Object[4];
+ Object[] values = new Object[5];
values[0] = super.saveState(context);
values[1] = _partialTriggers;
values[2] = _partialTriggerPattern;
values[3] = _periodicalUpdate;
+ values[4] = _showDebugMessages;
return values;
}
}
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java?view=diff&rev=500808&r1=500807&r2=500808
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java Sun Jan 28 07:19:08 2007
@@ -66,7 +66,7 @@
FormInfo fi = RendererUtils.findNestingForm(pprGroup, facesContext);
if (fi == null)
{
- throw new FacesException("PPRPanelGroup must be embedded in an form.");
+ throw new FacesException("PPRPanelGroup must be embedded in a form.");
}
if (!facesContext.getExternalContext().getRequestMap().containsKey(PPR_INITIALIZED))
@@ -85,6 +85,9 @@
PPRPanelGroup.class,
PPR_JS_FILE);
}
+
+ StringBuffer script = new StringBuffer();
+ String pprCtrlReference = "dojo.byId('"+ fi.getFormName() + "').myFacesPPRCtrl";
if (!facesContext.getExternalContext().getRequestMap().containsKey(PPR_INITIALIZED +
"." +
@@ -95,20 +98,20 @@
fi.getFormName(),
Boolean.TRUE);
- renderInlineScript(facesContext, pprGroup,
- "dojo.byId('" +
- fi.getFormName() +
- "').myFacesPPRCtrl =" +
- MY_FACES_PPR_INIT_CODE + "('" + fi.getFormName() + "');");
+ script.append(pprCtrlReference + "=" +
+ MY_FACES_PPR_INIT_CODE + "('" + fi.getFormName() + "',"+ pprGroup.getShowDebugMessages().booleanValue()+");\n");
+
+ renderInlineScript(facesContext, pprGroup, script.toString());
}
String clientId = pprGroup.getClientId(facesContext);
if (pprGroup.getPeriodicalUpdate() != null)
{
- String script = "dojo.byId('"+ fi.getFormName() + "').myFacesPPRCtrl.startPeriodicalUpdate("+ pprGroup.getPeriodicalUpdate() +",'"+ clientId +"');";
+ script = new StringBuffer();
+ script.append(pprCtrlReference + ".startPeriodicalUpdate("+ pprGroup.getPeriodicalUpdate() +",'"+ clientId +"');");
- renderInlineScript(facesContext, pprGroup, script);
+ renderInlineScript(facesContext, pprGroup, script.toString());
}
String partialTriggerId;
@@ -120,32 +123,23 @@
String partialTriggerPattern = pprGroup.getPartialTriggerPattern();
if(partialTriggerPattern != null && partialTriggerPattern.trim().length()>0)
{
- renderInlineScript(facesContext, pprGroup,
- "dojo.byId('" +
- fi.getFormName() +
- "').myFacesPPRCtrl." +
- ADD_PARTIAL_TRIGGER_PATTERN_FUNCTION +
- "('" +
- partialTriggerPattern +
- "','" +
- clientId +
- "');");
+ script = new StringBuffer();
+ script.append(pprCtrlReference + "." + ADD_PARTIAL_TRIGGER_PATTERN_FUNCTION +
+ "('" + partialTriggerPattern + "','" + clientId + "');");
+
+ renderInlineScript(facesContext, pprGroup, script.toString());
}
String inlineLoadingMessage = pprGroup.getInlineLoadingMessage();
if(inlineLoadingMessage!= null && inlineLoadingMessage.trim().length()>0)
{
- renderInlineScript(facesContext, pprGroup,
- "dojo.byId('" +
- fi.getFormName() +
- "').myFacesPPRCtrl." +
- ADD_INLINE_LOADING_MESSAGE_FUNCTION +
- "('" +
- inlineLoadingMessage +
- "','" +
- clientId +
- "');");
+ script = new StringBuffer();
+ script.append(pprCtrlReference + "." + ADD_INLINE_LOADING_MESSAGE_FUNCTION +
+ "('" + inlineLoadingMessage + "','" + clientId + "');");
+
+ renderInlineScript(facesContext, pprGroup, script.toString());
+
}
if(partialTriggers!= null && partialTriggers.trim().length()>0)
@@ -162,16 +156,12 @@
if (partialTriggerComponent != null)
{
partialTriggerClientId = partialTriggerComponent.getClientId(facesContext);
- renderInlineScript(facesContext, pprGroup,
- "dojo.byId('" +
- fi.getFormName() +
- "').myFacesPPRCtrl." +
- ADD_PARTIAL_TRIGGER_FUNCTION +
- "('" +
- partialTriggerClientId +
- "','" +
- clientId +
- "');");
+ script = new StringBuffer();
+ script.append(pprCtrlReference + "." + ADD_PARTIAL_TRIGGER_FUNCTION +
+ "('" + partialTriggerClientId + "','" + clientId + "');");
+
+ renderInlineScript(facesContext, pprGroup, script.toString());
+
}
else
{
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupTag.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupTag.java?view=diff&rev=500808&r1=500807&r2=500808
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupTag.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupTag.java Sun Jan 28 07:19:08 2007
@@ -35,6 +35,8 @@
private String _periodicalUpdate;
+ private String _showDebugMessages;
+
public String getComponentType()
{
return PPRPanelGroup.COMPONENT_TYPE;
@@ -50,6 +52,7 @@
super.release();
_partialTriggers = null;
_periodicalUpdate = null;
+ _showDebugMessages = null;
}
protected void setProperties(UIComponent component)
@@ -60,6 +63,7 @@
setStringProperty(component, "partialTriggerPattern", _partialTriggerPattern);
setStringProperty(component, "inlineLoadingMessage", _inlineLoadingMessage);
setIntegerProperty(component,"periodicalUpdate", _periodicalUpdate);
+ setBooleanProperty(component, "showDebugMessages", _showDebugMessages);
}
public String getPartialTriggers()
@@ -91,5 +95,11 @@
public void setPeriodicalUpdate(String periodicalUpdate)
{
_periodicalUpdate = periodicalUpdate;
+ }
+
+
+ public void setShowDebugMessages(String showDebugMessages)
+ {
+ _showDebugMessages = showDebugMessages;
}
}
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js?view=diff&rev=500808&r1=500807&r2=500808
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js Sun Jan 28 07:19:08 2007
@@ -16,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+
//Declare the myfaces package in the JS Context
dojo.provide("org.apache.myfaces");
@@ -24,8 +25,10 @@
//Define the Partial Page Rendering Controller Class
-org.apache.myfaces.PPRCtrl = function(formId)
+org.apache.myfaces.PPRCtrl = function(formId, showDebugMessages)
{
+ org.apache.myfaces.PPRCtrl.showDebugMessages = showDebugMessages;
+
if(typeof window.myFacesPartialTriggers == "undefined")
{
window.myFacesPartialTriggers = new Array;
@@ -38,6 +41,7 @@
{
window.myFacesInlineLoadingMessage = new Array;
}
+
this.replaceFormSubmitFunction(formId);
this.addButtonOnClickHandlers();
@@ -72,7 +76,7 @@
}
};
-// starting point of automatically partial page refresh
+// init function of automatically partial page refresh
org.apache.myfaces.PPRCtrl.prototype.startPeriodicalUpdate = function(refreshTimeout, refreshZoneId)
{
@@ -85,7 +89,7 @@
//Callback Method which handles the AJAX Response
org.apache.myfaces.PPRCtrl.prototype.handleCallback = function(type, data, evt)
-{
+{
if(type == "load")
{
var componentUpdates = data.getElementsByTagName("component");
@@ -93,7 +97,7 @@
var domElement = null;
for (var i = 0; i < componentUpdates.length; i++)
{
- componentUpdate = componentUpdates[i];
+ componentUpdate = componentUpdates[i];
domElement = dojo.byId(componentUpdate.getAttribute("id"));
//todo - doesn't work with tables in IE
domElement.innerHTML = componentUpdate.firstChild.data;
@@ -105,7 +109,7 @@
if(stateElem)
{
- var stateUpdate = dojo.dom.firstElement(stateElem,'INPUT');
+ var stateUpdate = dojo.dom.firstElement(stateElem,'INPUT');
if(stateUpdate)
{
@@ -123,13 +127,13 @@
domElement.value = stateUpdate.getAttribute('value');
}
}
- else if (stateUpdateId !='jsf_tree')
+ else if (stateUpdateId !='jsf_tree' && org.apache.myfaces.PPRCtrl.showDebugMessages)
alert("server didn't return appropriate element for state-update. returned element-id: "+
stateUpdate.getAttribute('id')+", value : "+stateUpdate.getAttribute('value'));
}
}
- }
- else
+ }
+ else if(org.apache.myfaces.PPRCtrl.showDebugMessages)
{
alert("an Error occured during the ajax-request " + data.message);
}
@@ -265,7 +269,8 @@
org.apache.myfaces.PPRCtrl.prototype.replaceFormSubmitFunction = function(formId)
{
this.form = dojo.byId(formId);
- if(typeof this.form == "undefined" || this.form.tagName.toLowerCase() != "form")
+ if( (typeof this.form == "undefined" || this.form.tagName.toLowerCase() != "form")
+ && org.apache.myfaces.PPRCtrl.showDebugMessages)
{
alert("MyFaces PPR Engine: Form with id:" + formId + " not found!");
return;
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld?view=diff&rev=500808&r1=500807&r2=500808
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld Sun Jan 28 07:19:08 2007
@@ -1234,6 +1234,15 @@
No partialTriggers are needed.
</description>
</attribute>
+ <attribute>
+ <name>showDebugMessages</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>java.lang.Boolean</type>
+ <description>If false, alert messages which can be fired after a ppr response are not displayed in the browser.
+ May switched to true in test environments. Default: false
+ </description>
+ </attribute>
</tag>
<tag>