Page 1 of 1
Menú dinámico / Dynamic menu
Posted: 24 Jul 2018, 17:08
by elfiguero
Buenos días a todos.
Soy nuevo por aquí. Recién compramos la plantilla serenity para primefaces y necesito hacer el menú de forma dinámica, alguien me puede ayudar con esto.
De antemano muchas gracias.
-------------------------
Good morning to all.
I'm new around here. We just bought the serenity template for primefaces and I need to do the menu dynamically, someone can help me with this.
Beforehand thank you very much.
Re: Menú dinámico / Dynamic menu
Posted: 27 Jul 2018, 10:18
by huseyinT
You could look the overlay example for a menu dynamically :
https://www.primefaces.org/showcase/ui/menu/menu.xhtml
Re: Menú dinámico / Dynamic menu
Posted: 27 Jul 2018, 10:29
by mert.sincan
You can use model attribute of pm:menu. Exp;
Code: Select all
//sidebar.xhtml
...
<h:form id="menuform">
<pm:menu model="#{testView.model}"></pm:menu>
</h:form>
...
Code: Select all
...
@ManagedBean
public class TestView {
private MenuModel model;
@PostConstruct
public void init() {
model = new DefaultMenuModel();
//First submenu
DefaultSubMenu firstSubmenu = new DefaultSubMenu("Dynamic Submenu");
firstSubmenu.setIcon("home");
DefaultMenuItem item = new DefaultMenuItem("External");
item.setUrl("http://www.primefaces.org");
item.setIcon("close");
firstSubmenu.addElement(item);
model.addElement(firstSubmenu);
//Second submenu
DefaultSubMenu secondSubmenu = new DefaultSubMenu("Dynamic Actions");
secondSubmenu.setIcon("home");
item = new DefaultMenuItem("Save");
item.setIcon("home");
item.setCommand("#{testView.save}");
secondSubmenu.addElement(item);
item = new DefaultMenuItem("Delete");
item.setIcon("home");
item.setCommand("#{testView.delete}");
item.setAjax(false);
secondSubmenu.addElement(item);
item = new DefaultMenuItem("Redirect");
item.setCommand("#{testView.redirect}");
secondSubmenu.addElement(item);
model.addElement(secondSubmenu);
}
public MenuModel getModel() {
return model;
}
public void save() {
addMessage("Success", "Data saved");
}
public void update() {
addMessage("Success", "Data updated");
}
public void delete() {
addMessage("Success", "Data deleted");
}
public void addMessage(String summary, String detail) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
FacesContext.getCurrentInstance().addMessage(null, message);
}
}