5 Replies Latest reply on Feb 24, 2011 8:44 AM by ilya_shaikovsky

    f:ajax listeners not called in v4M6 InplaceInput

    bhiles

      I'm working on getting InplaceInput to work with JSF 2.0 f:ajax so I can have a page look "normal" and allow updates to happen in place on the page and then directly update the DB as the changes occur.

       

      Everything works as disired when I use a straight InputText, but I'm having some problems with InplaceInput. Previously, things weren't working at all, but with M6, I now have the event trigger a render and the update is happening on the model. The listener just isn't getting called to persist the changes. Here's my code (snippets). I'll post more if you want it.

       

      Here's what does work:

                          <h:inputText id="lineName" value="#{lineViewBean.line.name}" >

                              <f:ajax event="change" render="nameError :headerValue"  listener="#{lineViewBean.updateListener}"/>

                          </h:inputText>

       

      My Listener:

          public void updateListener (AjaxBehaviorEvent event){

              line = lineService.update(line);

          }

       

       

      Now, I'll just switch out the inputText for inplaceInput:

                      <rich:inplaceInput id="lineName" value="#{lineViewBean.line.name}" >

                          <f:ajax event="change" render="nameError msgs :headerValue"  listener="#{lineViewBean.updateListener}"/>

                      </rich:inplaceInput>

       

      When the value in the textbox is changed my headerValue (not shown otherwise) is updated, but the update that is part of my listener does not get fired (it does when using h:inputText).

       

      Any ideas? Is this a bug?