suggestionbox, doesn't refresh on first submit with firefox
zenzen Feb 21, 2008 8:30 AMI'm having trouble with this component with Firefox...
In fact I display the popup menu correctly, but when I select one value, the input field is correctly update, but it doesn't update my page....
It's working greatly with IE and safari....
Here is my code :
<rich:suggestionbox for="suggest" minChars="3" immediate="true" focus="1" fetchValue="#{result.surname} #{result.firstname}" suggestionAction="#{SearchBean.autocomplete}" value="#{SearchBean.result}" var="result" ajaxSingle="true" selfRendered="false" >
<h:column>
<h:outputText value="#{result.surname}" />
</h:column>
<h:column>
<h:outputText value="#{result.firstname}" />
</h:column>
<a4j:support event="onselect" action="#{SearchBean.actionSelect}" reRender="personview, resultview">
<f:setPropertyActionListener value="#{result}" target="#{SearchBean.selectedPerson}" />
</a4j:support>
</rich:suggestionbox>
</fieldset>
</a4j:form>
<a4j:outputPanel id="personview" ajaxRendered="true" >
<div id="personinfo">
<h:outputLabel rendered="#{(SearchBean.showInfo) and (not empty SearchBean.selectedPerson)}" for="person" value="Soutenances planifiées pour ">
<h:outputText id="person" value="#{SearchBean.selectedPerson}" converter="PersonConverter"/>
<h:outputText value=" :"/>
</h:outputLabel>
</div>
<h:outputText id="error" rendered="#{not empty SearchBean.HTMLError}" value="#{SearchBean.HTMLError}"/>
</a4j:outputPanel>
<a4j:outputPanel id="resultview" ajaxRendered="true" >
<h:dataTable id="trial" rendered="#{SearchBean.showInfo}" border="0" columnClasses="time,person" value="#{SearchBean.trialResult}" var="line">
<h:column>
<h:outputText value="Date : #{line.date}" /> <br />
<h:outputText value="Heure : #{line.startTime}" />
</h:column>
<h:column>
<h:outputText value="Apprenti : #{line.apprentice}" /> <br />
<h:outputText value="Tuteur Enseignant : #{line.teacherTutor}" /> <br />
<h:outputText value="Tuteur Ingénieur : #{line.engineerTutor}" /> <br />
</h:column>
</h:dataTable>
</a4j:outputPanel>
</a4j:region>and the functions in my bean :
public List<PersonEntity> autocomplete(Object event) {
String pattern = event.toString().toLowerCase();
result.clear();
selectedPerson = null;
showInfo = false;
for (PersonEntity pe : tmp) {
if (pe.getFirstname().toLowerCase().contains(pattern)) {
result.add(pe);
continue;
}
if (pe.getSurname().toLowerCase().contains(pattern)) {
result.add(pe);
}
}
return result;
}
public String actionSelect() {
if(prjd.isPlanningGenerated(paramsBean.getSelectedProject()) == false) {
HTMLError = "Aucune soutenances planifiées pour le projet "+paramsBean.getSelectedProject().getProjectName();
showInfo = false;
return null;
}
HTMLError = null;
showInfo = true;
TrialDelegate td = new TrialDelegate();
List<TrialEntity> trial = td.getAllTrials(paramsBean.getSelectedProject());
trialResult.clear();
for (TrialEntity trialEntity : trial) {
if(trialEntity.getHtmlDescription().contains(selectedPerson.getSurname()) && trialEntity.getHtmlDescription().contains(selectedPerson.getFirstname())) {
TrialInfoBean tib = TrialInfoBean.createTrialInfoBean(trialEntity);
trialResult.add(tib);
}
}
return null;
}
What am I mising ?
Thanks a lot if you have any ideas....