Desktop-like jsf-web-application - jsf

I want to create a desktop-like application with JSF 2.0 and Primefaces 2.2.1
I created a main Layout with two divs, the upper div containing a menubar with several submenus. When the user chooses a menuitem, I want to show the spezifyed xhtml page in the bottom div of my main layout, without loading the full page. So I am thinking of Ajax to do it. But I don't know how to realize it.
And by the way, is there a chance to change a p:menubar or a p:submenu by javascript?
Can someone help me?

At the risk of being down-voted, may I suggest that since it sounds like you're at the beginning of your project, you should consider a framework other than JSF 2.0 because it sounds like you're shoe-horning. GWT is the most obvious candidate. If you're used to desktop app development (especially in Java), Vaadin is another great candidate.

Related

How to access PrimeFaces components through Graphene in the most portable way?

I'm writing Arquillian+Graphene functional tests for a Java EE web client with Primefaces 6.1 components and would like to write them in the most portable way from the beginning.
I noticed that there's no possibility to perform operations like WebElement.click on any PrimeFaces component which is clickable (e.g. not on p:selectBooleanCheckbox since the WebElement is a div containing another div containing an input), so that I have to
figure out how a clickable component is structured for every component and access it via XPath
figure the above out for every component after I change the PrimeFaces version
A similar problem is the case for access by id: the clickable element seems to be suffixed with _input, but that's probably as non-portable as the element hierarchy described above.
How to avoid as many problems listed above as possible? Or more abstract: How do people test PrimeFaces components?
The only answer to PrimeFaces fileUpload testing with Selenium WebDriver is proposing my problem as a solution.

How to display "Loading.." while switching tabs

I'm interested is it possible to create tabs with Primefaces using this example?
The idea is to create dynamically loaded tabs and when I switch between pages to display "Loading" at the top right of the page. What are the usual ways is this case?
The example you reference in your question carries the answer to the question. Generally, you have two options
Primefaces ajaxStatus component is designed specifically for your use case and is also the same component used in the dynamic tab sample you linked (albeit the PF team neglected to reference/declare it in the sample markup for that example). It's the same component that is used to generate the "loading" pinwheel you see in that example
A more powerful/exotic option is the blockUi component that will achieve the same effect, albeit with a little more in terms of options and visual effect.

Can Richfaces components be inserted into rich:editor component?

I have another Richfaces question which may seem rather weird. I am developing a web-based application, using Richfaces for a front-end, that allows users to create templates for certain documents. For example: the user is presented with a rich:editor component, which, perhaps, has certain text already typed in, but it also has an input for a date, or specific text. The date can be entered in rich:calendar, the text can be entered in rich:inplaceInput, but the main idea is to be able to place those components INSIDE the rich:editor. I was trying to find an example where it's used and couldn't. So, my question is: is it even possible? Can you place RichFaces components (and, maybe, Seam components) into rich:editor? If not, is there a something similar out there that allows the user to do this? Can Seam do that? The reason I'm asking about Seam is because it appears to have some template-friendly logic and can work along with JSF and Richfaces.
Thanks for your help
Essentially your asking if you can add HTML elements to a textarea tag, and have them work. Unfortunately, no you can't.
What I've done in the past for such things has been to either weave boilerplate text, with inplaceInput, and free form text areas, or to simply provide the needed fields above/beside/below the editor.

I want richfaces site, viewsource link and Hide link functionality look and feel?

I want the below look and feel functionality in jsf?
http://livedemo.exadel.com/richfaces-demo/richfaces/componentControl.jsf#
If you go to the above url code,
When you click on View Source link , how it shows?
and in the same way, when you click on hide link, it hides the code.
I want that same look and feel in my project...
How is it be done? How to achieve it in jsf?
If you are using RichFaces, you can use the <rich:effect> tag component which uses Scriptaculous. This is a js framework who enables to add effects in pages. In the example above, the effects used are Effect.SlideDown and Effect.SlideUp (sorry for not placing the link here, but as a new user I can just post a max of two hyperlinks). If you are not using RichFaces, you can still add the js libraries to your web project and use them to add these great effects.

How to change the pictures related to links in JSF?

I have links and pictures related to these links on my page. I want to change the pictures everytime when onmouseover event occurred in the links. I want to do this in JSF.
A lot of Thanks to everyone.
You are looking specifically for JSF to do it, or you are open to other Javascript frameworks that provide a slick and easy solution on this? For example Jquery and Dojo etc may be easy to incorporate in your application and will give Rich UI effects.
On the other hand if you are looking at JSF specifically for these UI effects than probably I can try to think of some ways and let you know.
JSF isn't designed directly to do this; It's designed to give you the tools to do this yourself. In order to do this you would need to create a custom JSF component to do this and you would use Java script to do it.
You could possibly find a JSF framework that does this already (a4j, IceFaces, etc.) but this is such a simple and well documented JavaScript thing that just tossing a little Java script among your JSF is perfectly acceptable. However, if you don't want to reinvent the wheel, take a look at those other options.
Javascript solution:
Define onmouseover event on the commandLink tag calling some kind of javascript you may give link address from like onmouseover="doSomething('addressOfImage')" then in doSomething javascript method, first find the image, then set src attribute of a default image to given address.
JSF Solution:
You might want to use a4j for this.
Add a4j:support to link for onmouseover event then just rerender graphicImage component ofcourse you need to give value of graphicImage dynamically. There is an example of using a4j support below. You can add this a4j:support between your link tags for mouseonover event. Then manage everything on backing bean to handle which image to be displayed.
example
<h:graphicImage id="imageToBeRendered" value="#{myBean.imageAddress}"/>
Just google a4j if you have no idea.

Resources