-
1. Re: rich:calendar and refresh default value
ilya_shaikovsky Jan 29, 2010 9:36 AM (in response to faffinito)you could either reRender it with initial value or call js api function and set the date. -
2. Re: rich:calendar and refresh default value
faffinito Jan 29, 2010 9:45 AM (in response to ilya_shaikovsky)Thanks!
The unresolved issue is WHERE to put the reRender instruction. Should I put it on the link that opens the modal panel? Or elsewhere?
-
3. Re: rich:calendar and refresh default value
ilya_shaikovsky Feb 1, 2010 4:01 AM (in response to faffinito)If you choosing ajax and already using a link to show modal panel - you should point calendar to be reRendered from this link before panel wil be shown at oncomplete. -
4. Re: rich:calendar and refresh default value
faffinito Feb 1, 2010 5:11 AM (in response to ilya_shaikovsky)I followed your suggestion, but that didn't worked.
I insert some of my code to clarify, hoping it helps!
Thank you!
This is where the modal panel is called.
and this is the calendar inside my modal panel:
-
5. Re: rich:calendar and refresh default value
faffinito Feb 1, 2010 5:31 AM (in response to faffinito)Maybe I have some problem with this editor too...
this is the place where the panel is linked:
<a4j:commandLink id="addDiseaselink" ajaxSingle="true" value="#{currentVisit.diseases.size()>0 ? 'Aggiungi Diagnosi' : 'Diagnosi'}"
reRender="diseasePanel, onsetDatetimeUpdated" action="#{diseaseAction.initDisease}"
oncomplete="#{rich:component('updateDisease')}.show()"
rendered="#{identity.hasRole('2') and !currentVisit.visitStatus.tag.equals('locked')}"
style="font-weight: bold; font-size: 14px; line-height: 28px; margin-left: 30px">
<f:setPropertyActionListener value="add" target="#{diseaseAction.updateMode}" />
</a4j:commandLink>
and this is the modal panel:
<s:decorate id="onsetDatetimeField"
template="../layout/edit.xhtml"
styleClass="visit-field">
<ui:define name="label">Data insorgenza </ui:define>
<h:outputText value="#{diseaseAction.bufferDisease.onsetDate}"
rendered="#{diseaseAction.updateMode.equals('delete') or diseaseAction.updateMode.equals('read')}"
style="font-weight:bold;font-size:12px" datePattern="dd/MM/yyyy"/>
<a:region>
<rich:calendar id="onsetDatetimeUpdated"
required="true"
value="#{diseaseAction.bufferDisease.onsetDate}"
datePattern="dd/MM/yyyy"
enableManualInput="true"
rendered="#{not (diseaseAction.updateMode.equals('delete') or diseaseAction.updateMode.equals('read'))}">
<a:support event="onblur" reRender="onsetDatetimeUpdated" ajaxSingle="true" />
</rich:calendar>
</a:region>
</s:decorate>
I would think that it could be a problem related to the instance, more than to a refreshing of the calendar. Probably the calendar redisplay the value contained in the #{diseaseAction.bufferDisease.onsetDate} stored in the current instance. Is that possible?
Thanks again.
-
6. Re: rich:calendar and refresh default value
ilya_shaikovsky Feb 2, 2010 4:52 AM (in response to faffinito)sure if the #{diseaseAction.bufferDisease.onsetDate} contains some date - it will be set as current. -
7. Re: rich:calendar and refresh default value
faffinito Feb 2, 2010 5:21 AM (in response to ilya_shaikovsky)Same behavior even if such value is null. I think that I've got the answer here :