Board index JavaServer Faces General Primefaces Dialog and Closable events

Primefaces Dialog and Closable events

Components, Ajax Framework, Utilities and More.


Posts: 256
Location: Germany
hi, sorry have to focus on some other things..

yes i am facing the same in our application.. even harder, because we have a NPE which results the dialog not loaded fully and get stuck in the app..

i do not have a solution for this.. it must be some behaviour of the jsf validations..
in my case i also do a reset all objects by a actionmethod and initialise them again by reopening, but the validation seems to hold the old fields and their data..

ill post into the enterprise board to ask cagatay for support in this
PrimeFaces 3.2
Mojarra 2.0.2
Glassfish 3.0.1


Posts: 47
Location: Brasil
Thanks for your reply.
Please, let me know if you find a solution.

Regards,

Herick
Primefaces 3.2
JSF 2.0
Glassfish Server 3.1.2
Netbeans7.1.1


Posts: 12
Hi

I have been having the same problem as described in this topic and have yet to find a solution.

Did you manage to solve it?

Regards
Rasman
Primefaces 3.3.1.M3, Mojarra 2.1.3, SEAM Faces 3.0.2.Final, JBoss AS 7.0.Final


Posts: 9
Hi,

I've found a solution, which works for me.

I don't know if I understand your problem exactly, but I'm gonna share it here in case it might help you, too ;)

This is my Dialog:
<p:dialog id="myDialog" widgetVar="myDialog" modal="true">
   
   <p:ajax event="close" listener="#{itemController.initNewItem}"
            update="myDialogForm" immediate="true" global="false"
            oncomplete="MyUtils.removeErrorStates('myDialogForm');" />
   
   <h:form id="myDialogForm">
      
      <p:message for="newItemName" />
      <p><h:outputText value="${uiText['dlgNewItem']}" /></p>
      
      <h:panelGrid columns="2">
         <h:outputLabel value="#{uiText['lblName']}:" />
         <p:inputText id="newItemName" required="true"
                  value="#{itemController.newItem.name}"
                  requiredMessage="#{uiText['msgRequiredField']}" />
      </h:panelGrid>
      
      <h:panelGrid columns="2">
         <f:facet name="footer">
            <p:commandButton value="#{uiText['cmdOk']}"
                     actionListener="#{itemController.createNewItem}"
                     oncomplete="myDialog.hide();"
                     update="@form :msgs">
            </p:commandButton>
            <p:commandButton value="#{uiText['cmdCancel']}"
                     onclick="myDialog.hide();" type="button" />
         </f:facet>
      </h:panelGrid>
      
   </h:form>
   
</p:dialog>


The ItemController:
@SessionScoped
@Named
public class ItemController implements Serializable
{
   private static final long serialVersionUID = 1L;
   
   
   private Item newItem;
   
   // ...
   // getter,
   // setter,
   // etc.
   // ...
   
   public void initNewItem()
   {
      newItem = new SampleItem();
   }
   
   @PostConstruct
   public void init()
   {
      initNewItem();
   }
}


My JavaScript function:
MyUtils.removeErrorStates = function(id)
{
   $(PrimeFaces.escapeClientId(id) + ' .ui-state-error').removeClass('ui-state-error');
};


ItemController.initNewItem() creates a new item (with empty values) for the form of MyDialog.
MyUtils.removeErrorStates() simply removes the CSS class "ui-state-error" from all elements inside the element with the given "id", which, in this case, is the form of MyDialog.

The p:ajax does all this in the correct order (first reset the form data, then, after the update, remove the remaining error state).

Now the dialog looks like the first time :)

... at least in my project ;)


Regards,

Lawyno
Primefaces 3.0.RC2/3.0-SNAPSHOT - Mojarra 2.1.3 - JBoss AS 7.0.2.Final/Glassfish 3.1.1


Posts: 2
So I am having this issue too. I have tried the above solution but with no resolution (the problem still exists).

Has anyone else been able to confirm if the above solution worked for them?

Previous

Return to General

cron