I just looked at the renderer code for this component:
In the encodeJavascript method following line is present:
sb.append("setTimeout('" + replacedClientId +
"Notifier.prepareNotifier()',500);\n");
This will add a timeout of 500. However this setting does not have any
effect on command links. Moreover should not this value be configurable?
If someone does not want a timeout, rather wants to use to necessary
choose before moving ahead then he/she will not be able to do it.
~madhav
________________________________
From: Madhav Bhargava [mailto:[EMAIL PROTECTED]
Sent: Monday, January 29, 2007 1:12 PM
To: MyFaces Discussion
Subject: stateChangeNotifier does not work with t:commandButton properly
Hi All,
I have been looking for a component like s:stateChangeNotifier for quite
some time and I am glad that it is there is sandbox finally.
The problem with this component is that it does not work properly with
t:commandButton component.
Consider the following code:
<s:stateChangedNotifier
confirmationMessage="There are changes in the form. You will
loose all data if you choose to leave the form. Do you want to cancel?"
excludedIds="_patientRegistration_proceed,
_patientRegistration_reset" disabled="false"/>
And then you have the following buttons:
<t:commandButton id="_patientRegistration_proceed" forceId="true"
value="Proceed" action="#{patientRegistrationWizardBean.proceed}"
actionFor="patientRegistration"/>
<t:commandButton id="_patientRegistration_reset" forceId="true"
value="#{msg['button.demographicdetails.reset']}"
action="#{patientRegistrationWizardBean.reset}"/>
<t:commandButton id="_patientRegistration_cancel" forceId="true"
value="Cancel" action="#{patientRegistrationWizardBean.cancel}"/>
Now the problem is that when I click the "Cancel" button then the popup
only appears for 2 seconds and then it vanishes and the control goes to
the action method attached with the command button.
However, this problem is not there with the command link. I have
something like:
<t:commandLink id="_patientRegistration_dummy" forceId="true"
value="dummy"/>
Now if I click this link then the modal popup stays there till you click
a link.
I have following questions:
1. Does this component only work with t:commandLink component?
2. If I have a datagrid and one of the columns in the datagrid is a link
"View Details". Say if there are 20 rows displayed in one page and there
are other command buttons on the page to control navigation. Then will I
have to put all the ID's for all the links in the column to prevent the
popup appearing on click of any of the "View Details" link?
Rgds,
Madhav
**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended
solely for the use of the addressee(s). If you are not the intended
recipient, please notify the sender by e-mail and delete the original
message. Further, you are not to copy, disclose, or distribute this
e-mail or its contents to any other person and any such actions are
unlawful. This e-mail may contain viruses. Infosys has taken every
reasonable precaution to minimize this risk, but is not liable for any
damage you may sustain as a result of any virus in this e-mail. You
should carry out your own virus checks before opening the e-mail or
attachment. Infosys reserves the right to monitor and review the content
of all messages sent to or from this e-mail address. Messages sent to or
from this e-mail address may be stored on the Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***