Scrougge
Scrougge

Reputation: 151

How can I open a dialog when the page is opened

In one of our page we have a search button that open a search dialog so that the users can search and import some data from a remote system.

Now got I new requirement that this same dialog must be showed every time the page is opened - but only when the page will be used to create a new registry, in the update mode it should be showed only if the user click the button.

I've already tried some things, I can call the dialog by MB using Primefaces engine as below:

 RequestContext.getCurrentInstance().execute("dialogArmaBos.show()")

This command Works great for the button case, but I can get it working when the page opens. If I try to use in the PostConstruct nothing happens.

I tried also <f:event type="preRenderView" ... with <f:metadata ... but nothing changes too.

Is there some way to make it?

Upvotes: 1

Views: 1735

Answers (1)

Kukeltje
Kukeltje

Reputation: 12337

According to the fabulous PrimeFaces documentation There is a visible attribute. Quote from the docs:

visible false Boolean When enabled, dialog is visible by default.

So simply use an EL in that attribute to have it show on pageload

<p:dialog visible="#{myBean.createMode}"... >

and have a boolean field in that bean that returns true if in creation mode.

For the rest you can show/hide it with the client-side api if needed

Upvotes: 4

Related Questions