primefaces rain menu programmatic

Forum rules
Please note that response time for technical support is within 3-5 business days.
Post Reply
Valen
Posts: 3
Joined: 31 Aug 2017, 00:29

16 Dec 2020, 19:44

Deseo implementar que el menu se dibuje programaticamente, en Avanlon se hacia lo siguiente:
<pu:menu id="mnPrincipal" model="#{configController.subMenuModel}"/>

Y me funcionaba bien

ahora en RAIN, no tiene la propiedad model, como puedo solucionar esto:
<pr:menu widgetVar="#{configController.subMenuModel}" model="#{configController.subMenuModel}"> ###genera error

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

19 Dec 2020, 22:10

Hi,

I couldn't replicate this issue. Could you please try the following code with our sample project?

groupedMenu.xhtml

Code: Select all

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
                xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:pr="http://primefaces.org/rain">
    
    <pr:menu widgetVar="RainMenuWidget" model="#{menuView.model}" />
        
</ui:composition>
MenuView.java (Please change package according to your need)

Code: Select all

package org.primefaces.rain.view;

import org.primefaces.model.menu.DefaultMenuItem;
import org.primefaces.model.menu.DefaultMenuModel;
import org.primefaces.model.menu.DefaultSubMenu;
import org.primefaces.model.menu.MenuModel;

import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;

@Named
@RequestScoped
public class MenuView {

    private MenuModel model;

    @PostConstruct
    public void init() {
        model = new DefaultMenuModel();

        //First submenu
        DefaultSubMenu firstSubmenu = DefaultSubMenu.builder()
                .label("Dynamic Submenu")
                .build();

        DefaultMenuItem item = DefaultMenuItem.builder()
                .value("External")
                .url("http://www.primefaces.org")
                .icon("pi pi-home")
                .build();
        firstSubmenu.getElements().add(item);

        model.getElements().add(firstSubmenu);

        //Second submenu
        DefaultSubMenu secondSubmenu = DefaultSubMenu.builder()
                .label("Dynamic Actions")
                .build();

        item = DefaultMenuItem.builder()
                .value("Save")
                .icon("pi pi-save")
                .build();
        secondSubmenu.getElements().add(item);

        item = DefaultMenuItem.builder()
                .value("Delete")
                .icon("pi pi-times")
                .ajax(false)
                .build();
        secondSubmenu.getElements().add(item);

        item = DefaultMenuItem.builder()
                .value("Redirect")
                .icon("pi pi-search")
                .build();
        secondSubmenu.getElements().add(item);

        model.getElements().add(secondSubmenu);
    }

    public MenuModel getModel() {
        return model;
    }
}

Best Regards,

Valen
Posts: 3
Joined: 31 Aug 2017, 00:29

25 Jan 2021, 21:01

En efecto funciona muy bien la solución! como dato el IDE de Netbeans lanza un error, pero al momento de compilar y levantar el proyecto y funciona al 100% la solución.

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

29 Jan 2021, 01:18

Thanks a lot for the update!

Best Regards,

Post Reply

Return to “Rain - PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest