You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2007/07/02 22:32:36 UTC
svn commit: r552586 - in /myfaces/tomahawk/trunk/sandbox:
core/src/main/java/org/apache/myfaces/custom/ppr/
core/src/main/resources/org/apache/myfaces/custom/ppr/resource/
examples/src/main/java/org/apache/myfaces/examples/ppr/
examples/src/main/webapp...
Author: mmarinschek
Date: Mon Jul 2 13:32:35 2007
New Revision: 552586
URL: http://svn.apache.org/viewvc?view=rev&rev=552586
Log:
TOMAHAWK-1028: enable inputs submitting a ppr-panelgroup - in a data-table as well; more fixes to make sure inputs also work in IE; adding a new possibility to pass desired event-handler to partialTrigger with syntax partialTriggerId(eventHandler1,eventHandler2)
Added:
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PartialTriggerParser.java
Modified:
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PPRPanelGroupRenderer.java
myfaces/tomahawk/trunk/sandbox/core/src/main/resources/org/apache/myfaces/custom/ppr/resource/ppr.js
myfaces/tomahawk/trunk/sandbox/examples/src/main/java/org/apache/myfaces/examples/ppr/PPRExampleBean.java
myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/WEB-INF/examples-config.xml
myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/home.jsp
myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupDataTable.jsp
myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupOnChange.jsp
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=552586&r1=552585&r2=552586
==============================================================================
--- 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 Mon Jul 2 13:32:35 2007
@@ -37,8 +37,7 @@
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import java.io.IOException;
-import java.util.Map;
-import java.util.StringTokenizer;
+import java.util.*;
/**
* @author Ernst Fastl
@@ -125,12 +124,13 @@
}
//Otherwise start it when the trigger happens
else {
- StringTokenizer st = new StringTokenizer(periodicalTriggers, ",; ", false);
+ List partialTriggers = (new PartialTriggerParser()).parse(periodicalTriggers);
String periodicalTriggerId;
String periodicalTriggerClientId;
UIComponent periodicalTriggerComponent;
- while (st.hasMoreTokens()) {
- periodicalTriggerId = st.nextToken();
+ for (int i=0; i<partialTriggers.size();i++) {
+ PartialTriggerParser.PartialTrigger trigger = (PartialTriggerParser.PartialTrigger) partialTriggers.get(i);
+ periodicalTriggerId = trigger.getPartialTriggerId();
periodicalTriggerComponent = pprGroup.findComponent(periodicalTriggerId);
if (periodicalTriggerComponent == null) {
periodicalTriggerComponent = facesContext.getViewRoot().findComponent(periodicalTriggerId);
@@ -139,8 +139,11 @@
//Component found
if (periodicalTriggerComponent != null) {
periodicalTriggerClientId = periodicalTriggerComponent.getClientId(facesContext);
- script.append(pprCtrlReference + "." + ADD_PERIODICAL_TRIGGER_FUNCTION + "('" + periodicalTriggerClientId + "','"
+ script.append(pprCtrlReference + "." + ADD_PERIODICAL_TRIGGER_FUNCTION + "('" + periodicalTriggerClientId + "',"+
+ encodeArray(trigger.getEventHooks())+",'"
+ clientId + "', " + pprGroup.getPeriodicalUpdate() + ");");
+
+
//Component missing
} else {
if (log.isDebugEnabled()) {
@@ -171,16 +174,17 @@
}
if (partialTriggers != null && partialTriggers.trim().length() > 0) {
- StringTokenizer st = new StringTokenizer(partialTriggers, ",; ", false);
- while (st.hasMoreTokens()) {
- partialTriggerId = st.nextToken();
+ List partialTriggerIds = (new PartialTriggerParser()).parse(partialTriggers);
+ for (int i=0; i<partialTriggerIds.size();i++) {
+ PartialTriggerParser.PartialTrigger trigger = (PartialTriggerParser.PartialTrigger) partialTriggerIds.get(i);
+ partialTriggerId = trigger.getPartialTriggerId();
partialTriggerComponent = pprGroup.findComponent(partialTriggerId);
if (partialTriggerComponent == null) {
partialTriggerComponent = facesContext.getViewRoot().findComponent(partialTriggerId);
}
if (partialTriggerComponent != null) {
partialTriggerClientId = partialTriggerComponent.getClientId(facesContext);
- script.append(pprCtrlReference + "." + ADD_PARTIAL_TRIGGER_FUNCTION + "('" + partialTriggerClientId + "','"
+ script.append(pprCtrlReference + "." + ADD_PARTIAL_TRIGGER_FUNCTION + "('" + partialTriggerClientId + "',"+encodeArray(trigger.getEventHooks())+",'"
+ clientId + "');");
} else {
if (log.isDebugEnabled()) {
@@ -195,7 +199,29 @@
renderInlineScript(facesContext, pprGroup, script.toString());
}
- public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException {
+ private String encodeArray(List eventHooks) {
+ if(eventHooks==null || eventHooks.size()==0) {
+ return "null";
+ }
+ else{
+ StringBuffer buf = new StringBuffer();
+ buf.append("[");
+
+ for (int i = 0; i < eventHooks.size(); i++) {
+ if(i>0)
+ buf.append(",");
+ String eventHook = (String) eventHooks.get(i);
+ buf.append("'");
+ buf.append(eventHook);
+ buf.append("'");
+ }
+ buf.append("]");
+
+ return buf.toString();
+ }
+ }
+
+ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException {
if (uiComponent.getId() == null || uiComponent.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX)) {
throw new IllegalArgumentException("'id' is a required attribute for the PPRPanelGroup");
}
Added: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PartialTriggerParser.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PartialTriggerParser.java?view=auto&rev=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PartialTriggerParser.java (added)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/ppr/PartialTriggerParser.java Mon Jul 2 13:32:35 2007
@@ -0,0 +1,105 @@
+package org.apache.myfaces.custom.ppr;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Collections;
+
+/**
+ * @author Martin Marinschek
+*/
+public class PartialTriggerParser {
+
+ public List parse(String partialTriggerString) {
+
+ int lastTokenEnd = 0;
+ boolean subLevelMode = false;
+
+ List partialTriggers = new ArrayList();
+ PartialTrigger currentTrigger = null;
+
+ for(int i=0, length = partialTriggerString.length(); i<=length; i++) {
+ boolean newTokenMode = false;
+ boolean endTopLevelMode = false;
+ boolean endSubLevelMode = false;
+
+ if(!(i==partialTriggerString.length())) {
+ char c = partialTriggerString.charAt(i);
+
+ if(c==',' || c==';' || c==' ') {
+ newTokenMode = true;
+ }
+ else if(c=='(') {
+ newTokenMode = true;
+ subLevelMode = true;
+ endTopLevelMode = true;
+ }
+ else if(c==')') {
+ newTokenMode = true;
+ subLevelMode = false;
+ endSubLevelMode = true;
+ }
+ } else {
+ newTokenMode = true;
+ }
+
+ if(newTokenMode) {
+ if(((!subLevelMode && !endSubLevelMode) || endTopLevelMode ) && i>lastTokenEnd) {
+ currentTrigger = new PartialTrigger();
+ partialTriggers.add(currentTrigger);
+ currentTrigger.setPartialTriggerId(partialTriggerString.substring(lastTokenEnd,i));
+ }
+ else if((subLevelMode || endSubLevelMode) && i>lastTokenEnd){
+ currentTrigger.addEventHook(partialTriggerString.substring(lastTokenEnd,i));
+ }
+
+ lastTokenEnd = i+1;
+ }
+ }
+
+ return partialTriggers;
+ }
+
+
+ public static class PartialTrigger {
+ private String partialTriggerId;
+ private List eventHooks;
+
+ public void addEventHook(String eventHook) {
+ if(eventHooks == null) {
+ eventHooks = new ArrayList();
+ }
+ eventHooks.add(eventHook);
+ }
+
+ public String getPartialTriggerId() {
+ return partialTriggerId;
+ }
+
+ public void setPartialTriggerId(String partialTriggerId) {
+ this.partialTriggerId = partialTriggerId;
+ }
+
+ public List getEventHooks() {
+ if(eventHooks==null)
+ return Collections.EMPTY_LIST;
+
+ return eventHooks;
+ }
+ }
+
+ public static void main(String[] args) {
+ PartialTriggerParser parser = new PartialTriggerParser();
+ List li = parser.parse(/*", ; ,, test1id (onkeyup,onkeydown,,,test2id test3id;test4id"*/"testid(onchange)");
+
+ for (int i = 0; i < li.size(); i++) {
+ PartialTrigger partialTrigger = (PartialTrigger) li.get(i);
+ System.out.println("partialTrigger.partialTriggerId = " + partialTrigger.getPartialTriggerId());
+
+ for (int j = 0; j < partialTrigger.getEventHooks().size(); j++) {
+ String eventHook = (String) partialTrigger.getEventHooks().get(j);
+ System.out.println("eventHook = " + eventHook);
+ }
+ }
+ }
+
+}
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=552586&r1=552585&r2=552586
==============================================================================
--- 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 Mon Jul 2 13:32:35 2007
@@ -29,19 +29,19 @@
this.showDebugMessages = showDebugMessages;
this.stateUpdate = stateUpdate;
- if(typeof window.oamPartialTriggersToZoneIds == "undefined")
+ if(!window.oamPartialTriggersToZoneIds)
{
- window.oamPartialTriggersToZoneIds = new Array;
+ window.oamPartialTriggersToZoneIds = new Array();
}
- if(typeof window.oamZoneIdsToPartialTriggerPatterns == "undefined")
+ if(!window.oamZoneIdsToPartialTriggerPatterns)
{
- window.oamZoneIdsToPartialTriggerPatterns = new Array;
+ window.oamZoneIdsToPartialTriggerPatterns = new Array();
}
- if(typeof window.myFacesInlineLoadingMessage == "undefined")
+ if(!window.oamInlineLoadingMessage)
{
- window.myFacesInlineLoadingMessage = new Array;
+ window.oamInlineLoadingMessage = new Array();
}
- if(typeof window.oamRefreshTimeoutForZoneId == "undefined")
+ if(!window.oamRefreshTimeoutForZoneId)
{
window.oamRefreshTimeoutForZoneId = new Array;
}
@@ -55,7 +55,7 @@
org.apache.myfaces.PPRCtrl.prototype.addInlineLoadingMessage= function(message, refreshZoneId)
{
- window.myFacesInlineLoadingMessage[refreshZoneId] = message;
+ window.oamInlineLoadingMessage[refreshZoneId] = message;
};
//Method for JSF Components to register Regular Expressions for partial update triggering
@@ -67,8 +67,10 @@
//Method for JSF Components to register their Partial Triggers
-org.apache.myfaces.PPRCtrl.prototype.addPartialTrigger= function(inputElementId, refreshZoneId)
+org.apache.myfaces.PPRCtrl.prototype.addPartialTrigger= function(inputElementId, eventHookArr, refreshZoneId)
{
+ this._addEventHandlerForId(inputElementId,eventHookArr,"elementOnEventHandler");
+
if (window.oamPartialTriggersToZoneIds[inputElementId] === undefined)
{
window.oamPartialTriggersToZoneIds[inputElementId] = refreshZoneId;
@@ -81,13 +83,15 @@
refreshZoneId;
}
- this._addEventHandler(dojo.byId(inputElementId));
};
//Method for JSF Components to register their Periodical Triggers
-org.apache.myfaces.PPRCtrl.prototype.addPeriodicalTrigger = function(inputElementId, refreshZoneId, refreshTimeout)
+org.apache.myfaces.PPRCtrl.prototype.addPeriodicalTrigger = function(inputElementId, eventHookArr, refreshZoneId, refreshTimeout)
{
+
+ this._addEventHandlerForId(inputElementId,eventHookArr,"elementOnPeriodicalEventHandler");
+
if (window.oamPartialTriggersToZoneIds[inputElementId] === undefined)
{
window.oamPartialTriggersToZoneIds[inputElementId] = refreshZoneId;
@@ -103,8 +107,6 @@
if (window.oamRefreshTimeoutForZoneId[refreshZoneId] === undefined) {
window.oamRefreshTimeoutForZoneId[refreshZoneId] = refreshTimeout;
}
-
- this._addPeriodicalEventHandler(dojo.byId(inputElementId));
};
// registering a function (called before submit) on each form to block periodical refresh during request-response cycle
@@ -129,7 +131,7 @@
{
var content = new Array;
content["org.apache.myfaces.PPRCtrl.triggeredComponents"] = refreshZoneId;
- this.doAjaxSubmit(content, refreshTimeout, refreshZoneId);
+ this.doAjaxSubmit(content, refreshTimeout, refreshZoneId, null);
};
// blocking periodical update and refreshing viewState
@@ -203,14 +205,14 @@
}
org.apache.myfaces.PPRCtrl.prototype.callbackErrorHandler = function() {
- if(typeof this.lastSubmittedElement == "undefined") {
+ if(!this.lastSubmittedElement) {
alert("An unexpected error occured during an ajax-request - page has been fully submitted!");
this.form.submit_orig();
}
var formName = this.form.id;
- if(typeof formName == "undefined")
+ if(!formName)
{
formName = this.form.name;
}
@@ -238,21 +240,21 @@
//This Method checks if an AJAX Call is to be done instead of submitting the form
//as usual. If so it uses dojo.bind to submit the mainform via AJAX
-org.apache.myfaces.PPRCtrl.prototype.ajaxSubmitFunction = function(triggerElement)
+org.apache.myfaces.PPRCtrl.prototype.ajaxSubmitFunction = function(triggerElement, event)
{
var formName = this.form.id;
- if(typeof formName == "undefined")
+ if(!formName)
{
formName = this.form.name;
}
- if(typeof triggerElement != "undefined" ||
- typeof this.form.elements[formName +':'+'_idcl'] != "undefined")
+ if(triggerElement ||
+ this.form.elements[formName +':'+'_idcl'])
{
var triggerId;
var content=new Array;
- if(typeof triggerElement != "undefined")
+ if(triggerElement)
{
triggerId=triggerElement.id;
@@ -280,7 +282,7 @@
{
this.displayInlineLoadingMessages(triggeredComponents);
content["org.apache.myfaces.PPRCtrl.triggeredComponents"]=triggeredComponents;
- return this.doAjaxSubmit(content, null, null)
+ return this.doAjaxSubmit(content, null, null, event)
}
else
{
@@ -293,7 +295,7 @@
}
}
-org.apache.myfaces.PPRCtrl.prototype.doAjaxSubmit = function(content, refreshTimeout, refreshZoneId)
+org.apache.myfaces.PPRCtrl.prototype.doAjaxSubmit = function(content, refreshTimeout, refreshZoneId, event)
{
var ppr = this;
var requestUri = "";
@@ -327,7 +329,8 @@
}, refreshTimeout)
}
- return false;
+ if(event && (this._isButton(event.target) || this._isLink(event.target)))
+ dojo.event.browser.stopEvent(event);
};
//This Method replaces the content of the PPRPanelGroups which have
@@ -341,14 +344,14 @@
}
var componentIds = components.split(',');
var domElement = null;
- for (index in componentIds)
+ for (var i=0,length=componentIds.length;i<length; i++)
{
- if(typeof window.myFacesInlineLoadingMessage[componentIds[index]] != "undefined")
+ if(window.oamInlineLoadingMessage[componentIds[i]])
{
- domElement = dojo.byId(componentIds[index]);
+ domElement = dojo.byId(componentIds[i]);
if(domElement != null)
{
- domElement.innerHTML = window.myFacesInlineLoadingMessage[componentIds[index]];
+ domElement.innerHTML = window.oamInlineLoadingMessage[componentIds[i]];
}
}
}
@@ -392,23 +395,48 @@
{
var formElement = this.form.elements[i];
if(this._isButton(formElement)) {
- this._addEventHandler(formElement);
+ this._addEventHandler(formElement,null,"elementOnEventHandler");
}
}
}
-org.apache.myfaces.PPRCtrl.prototype._addEventHandler = function (formElement) {
- if (this._isButton(formElement) || this._isCheckbox(formElement) || this._isRadio(formElement)) {
- //for these element-types, onclick is appropriate
- this._addOnClickHandler(formElement);
- }
- else if(this._isText(formElement) || this._isDropdown(formElement)) {
- //for these element-types, onblur will be working.
- //attention: onchange won't work properly in IE6 at least (field will never loose focus)
- this._addOnBlurHandler(formElement);
+org.apache.myfaces.PPRCtrl.prototype._addEventHandlerForId = function (formElementId, connectToEventArr, eventHandler) {
+ var formElement = dojo.byId(formElementId);
+
+ if(formElement)
+ this._addEventHandler(formElement, connectToEventArr, eventHandler);
+ else
+ log.error("Input element with id : "+formElementId +" not found.");
+}
+
+org.apache.myfaces.PPRCtrl.prototype._addEventHandler = function (formElement, connectToEventArr, eventHandler) {
+
+ if(!connectToEventArr || connectToEventArr.length==0) {
+ connectToEventArr = new Array();
+ if (this._isButton(formElement) || this._isCheckbox(formElement) || this._isRadio(formElement)) {
+ //for these element-types, onclick is appropriate
+ connectToEventArr.push("onclick");
+ }
+ else if(this._isText(formElement) || this._isDropdown(formElement)) {
+ //for these element-types, onblur will be working.
+ //attention: onchange won't work properly in IE6 at least (field will never loose focus)
+ connectToEventArr.push("onblur");
+ }
+ }
+
+ for(var i=0; i<connectToEventArr.length; i++) {
+
+ dojo.event.kwConnect({
+ srcObj: formElement,
+ srcFunc: connectToEventArr[i],
+ targetObj: this,
+ targetFunc: eventHandler,
+ once: true
+ });
}
}
+
org.apache.myfaces.PPRCtrl.prototype._isDropdown = function (formElement) {
return formElement.tagName.toLowerCase() == "select";
}
@@ -419,6 +447,10 @@
formElement.type.toLowerCase() == "image");
}
+org.apache.myfaces.PPRCtrl.prototype._isLink = function (formElement) {
+ return formElement.tagName.toLowerCase() == "a";
+}
+
org.apache.myfaces.PPRCtrl.prototype._isText = function (formElement) {
return formElement.tagName.toLowerCase() == "input" &&
(formElement.type.toLowerCase() == "text" );
@@ -434,59 +466,13 @@
(formElement.type.toLowerCase() == "radio" );
}
-org.apache.myfaces.PPRCtrl.prototype._addOnClickHandler = function (formElement) {
-
- if(typeof formElement.oam_onevent_orig == "undefined")
- {
- formElement.oam_onevent_orig = formElement.onclick;
- formElement.onclick = this.elementOnEventHandler;
- formElement.myFacesPPRCtrl=this;
- }
-
-}
-
-org.apache.myfaces.PPRCtrl.prototype._addOnBlurHandler = function (formElement) {
-
- if(typeof formElement.oam_onevent_orig == "undefined")
- {
- formElement.oam_onevent_orig = formElement.onblur;
- formElement.onblur = this.elementOnEventHandler;
- formElement.myFacesPPRCtrl=this;
- }
-
-}
-
-org.apache.myfaces.PPRCtrl.prototype._addPeriodicalEventHandler = function(formElement) {
- var eventHandler = null;
- if (this._isButton(formElement) || this._isCheckbox(formElement) || this._isRadio(formElement)) {
- //for these element-types, onclick is appropriate
- eventHandler = "onclick";
- }
- else if(this._isText(formElement) || this._isDropdown(formElement)) {
- //for these element-types, onblur will be working.
- //attention: onchange won't work properly in IE6 at least (field will never loose focus)
- eventHandler = "onblur";
- }
-
- if (!eventHandler) {
- return;
- }
-
- dojo.event.connect(formElement, eventHandler, this, "elementOnPeriodicalEventHandler");
-}
-
//PointCutAdvisor which invokes the AJAX Submit Method of the PPR Controller after custom
//onclick-handlers for submit-buttons and submit-images
org.apache.myfaces.PPRCtrl.prototype.elementOnEventHandler = function (_event)
{
- if(typeof this.oam_onevent_orig != "undefined")
- {
- if(this.oam_onevent_orig()==false)
- return false;
- }
- return this.myFacesPPRCtrl.ajaxSubmitFunction(this);
+ return this.ajaxSubmitFunction(_event.target, _event);
}
org.apache.myfaces.PPRCtrl.prototype.elementOnPeriodicalEventHandler = function(_event) {
Modified: myfaces/tomahawk/trunk/sandbox/examples/src/main/java/org/apache/myfaces/examples/ppr/PPRExampleBean.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/examples/src/main/java/org/apache/myfaces/examples/ppr/PPRExampleBean.java?view=diff&rev=552586&r1=552585&r2=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/examples/src/main/java/org/apache/myfaces/examples/ppr/PPRExampleBean.java (original)
+++ myfaces/tomahawk/trunk/sandbox/examples/src/main/java/org/apache/myfaces/examples/ppr/PPRExampleBean.java Mon Jul 2 13:32:35 2007
@@ -232,4 +232,12 @@
this._message = message;
}
+ public void checkBoxChanged(ValueChangeEvent evt) {
+ _checkBoxValue = (Boolean) evt.getNewValue();
+ }
+
+ public void dropDownChanged(ValueChangeEvent evt) {
+ _dropDownValue = (String) evt.getNewValue();
+ }
+
}
Modified: myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/WEB-INF/examples-config.xml
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/WEB-INF/examples-config.xml?view=diff&rev=552586&r1=552585&r2=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/WEB-INF/examples-config.xml (original)
+++ myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/WEB-INF/examples-config.xml Mon Jul 2 13:32:35 2007
@@ -108,7 +108,7 @@
<managed-bean>
<managed-bean-name>pprExampleBean</managed-bean-name>
<managed-bean-class>org.apache.myfaces.examples.ppr.PPRExampleBean</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
+ <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<!-- Managed Beans for pprScroller.jsp -->
Modified: myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/home.jsp
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/home.jsp?view=diff&rev=552586&r1=552585&r2=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/home.jsp (original)
+++ myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/home.jsp Mon Jul 2 13:32:35 2007
@@ -65,8 +65,7 @@
<h:outputLink value="typedNumberConvert.jsf"><f:verbatim>convertNumber - automatically convert the number to the correct type</f:verbatim></h:outputLink>
<h:outputLink value="convertStringUtils.jsf"><f:verbatim>convertStringUtils - a datetime converter that uses system timezone as default</f:verbatim></h:outputLink>
</h:panelGrid>
-
- <h:outputText value="Validation"/>
+ <h:outputText value="Validation"/>
<h:panelGrid style="padding-left:25px">
<h:outputLink value="validateUrl.jsf" ><f:verbatim>Validation example 2 - including URL validator</f:verbatim></h:outputLink>
<h:outputLink value="validateCompareTo.jsf" ><f:verbatim>validateCompareTo - Compare values on two different components</f:verbatim></h:outputLink>
Modified: myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupDataTable.jsp
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupDataTable.jsp?view=diff&rev=552586&r1=552585&r2=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupDataTable.jsp (original)
+++ myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupDataTable.jsp Mon Jul 2 13:32:35 2007
@@ -70,7 +70,7 @@
</h:column>
<h:column>
<h:commandButton id="update"/>
- <s:pprPanelGroup id="carEntryUpdate" partialTriggers="update,type,color">
+ <s:pprPanelGroup id="carEntryUpdate" partialTriggers="update,type(onclick),color(onkeyup)">
<h:panelGrid columns="2">
<h:outputText value="Id"/>
<h:outputText value="#{carDetail.id}"/>
Modified: myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupOnChange.jsp
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupOnChange.jsp?view=diff&rev=552586&r1=552585&r2=552586
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupOnChange.jsp (original)
+++ myfaces/tomahawk/trunk/sandbox/examples/src/main/webapp/pprPanelGroupOnChange.jsp Mon Jul 2 13:32:35 2007
@@ -51,11 +51,10 @@
<h:outputText value="update group by checking:" />
<h:selectBooleanCheckbox id="checkbox"
- value="#{pprExampleBean.checkBoxValue}"
- onclick="submit(this);"/>
+ value="#{pprExampleBean.checkBoxValue}" valueChangeListener="#{pprExampleBean.checkBoxChanged}"/>
<h:outputText value="update group by changing the value:" />
- <h:selectOneMenu id="dropDown" onchange="submit(this);"
+ <h:selectOneMenu id="dropDown"
value="#{pprExampleBean.dropDownValue}" >
<f:selectItem itemLabel="test1" itemValue="value1"/>
<f:selectItem itemLabel="test2" itemValue="value2"/>
@@ -64,13 +63,13 @@
<h:outputText value="Checkbox is:" />
<s:pprPanelGroup id="pprCheckBoxValue"
- partialTriggers="checkbox">
+ partialTriggers="checkbox(onclick,onchange)">
<h:outputText value="#{pprExampleBean.checkBoxValue ? 'checked' : 'not checked'}" />
</s:pprPanelGroup>
<h:outputText value="Drop Down value is:" />
<s:pprPanelGroup id="dropDownPPR"
- partialTriggers="dropDown">
+ partialTriggers="dropDown(onchange)">
<h:outputText value="#{pprExampleBean.dropDownValue}" />
</s:pprPanelGroup>
</h:panelGrid>
@@ -81,9 +80,9 @@
<br />
This example shows how onClick-Handlers of checkboxes or dropdowns <br />
can be used to update page regions via AJAX.<br />
- It is vital, that the this element is included as parameter in the call <br />
+ It is vital, that this element is included as a parameter in the call <br />
of the submit function so the PPRCtrl knows which element tries to submit <br />
- and therefore is able to determine wheather or not matching partialTriggers <br />
+ and therefore is able to determine whether or not matching partialTriggers <br />
and/or partialTriggerPatterns are present.
</f:verbatim>
</s:fieldset>