Updating content only from pu:menu with menuModel

Forum rules
Please note that response time for technical support is within 3-5 business days.
Post Reply
serenne
Posts: 98
Joined: 21 Jul 2015, 07:43

17 Apr 2017, 16:17

Could you explain how to update only the content from a pu:menu using a model.

My bean is @SessionScoped
In my model I set
item.setAjax(true);
item.setUpdate("...") tried different things without any success ... (adressing the name of the form, surrounding the ui:insert in a panelgrid,...

Any help would be great !
Kindest regards

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

20 Apr 2017, 08:28

Can you please attach menuModel for us?

serenne
Posts: 98
Joined: 21 Jul 2015, 07:43

20 Apr 2017, 23:59

yes of course :
the code below :

Code: Select all

public class ModuleMenu  implements IModuleMenu,Serializable {
	private static final long serialVersionUID = -3487093446928820274L;
	private MenuModel sideMenuModel;
	
	    public ModuleMenu() {
	        createMenuModel();
	    }
   

    public void createMenuModel() {
        sideMenuModel = new DefaultMenuModel();
        DefaultMenuItem item = null;

        // dashboard
        DefaultMenuItem dashMenu = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Dashboard"), "dashboard","/dashboard.xhtml");
        sideMenuModel.addElement(dashMenu);

        //referential
        DefaultSubMenu refMenu = new DefaultSubMenu(LocaleManagerBean.getMessage("L-Referentiel"), "fa fa-location-arrow");
      
        item = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Sites"), "view_list", "/provisioning/sitePageList.xhtml");
        refMenu.addElement(item);
        
        item = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Balises"), "view_list", "/provisioning/balisePageList.xhtml?sitId=-1");
        refMenu.addElement(item);
        
        item = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Devices"), "view_list", "/provisioning/devicePageList.xhtml");
        refMenu.addElement(item);
        
        item = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Equipments"), "view_list", "/provisioning/equipmentPageList.xhtml");
        refMenu.addElement(item);
        
        sideMenuModel.addElement(refMenu);
        
        //supervison
        DefaultMenuItem supervisionMenu = new DefaultMenuItem(LocaleManagerBean.getMessage("L-Supervision"), "airplay","/map/globalMap.xhtml");
        sideMenuModel.addElement(supervisionMenu);
        
        
        sideMenuModel.generateUniqueIds();
    }

    public MenuModel getSideMenuModel() {
        return sideMenuModel;
    }
public void setSideMenuModel(MenuModel sideMenuModel) {
this.sideMenuModel = sideMenuModel;
}
}

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

25 Apr 2017, 08:35

I couldn't replicate this issue. Could you please try my test code?

in test.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"
                template="/WEB-INF/template.xhtml">
                
    <ui:define name="content">
    
        <div class="ui-g ui-fluid">
            <div class="ui-g-12 ui-lg-6">
                
                <div class="card card-w-title">
                    <h:form id="myform">
                        <p:growl showDetail="true" />
                        <h1>Input</h1>
                        <p:inputText rendered="#{menuView.isRendered}"/>

                        <h1>TextArea</h1>
                        <p:inputTextarea rows="3" placeholder="Your Message" rendered="#{menuView.isRendered}"/>
                    </h:form>
                </div>
                
            </div>
        </div>
        
    </ui:define>

</ui:composition>
MenuView.java

Code: Select all

@ManagedBean
public class MenuView {

    private MenuModel model;

    boolean isRendered = false;

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

        //submenu
        DefaultSubMenu firstSubmenu = new DefaultSubMenu("Dynamic Actions");
        firstSubmenu.setIcon("fa fa-home");

        DefaultMenuItem item = new DefaultMenuItem("Update");
        item.setIcon("fa fa-pencil");
        item.setCommand("#{menuView.update}");
        item.setUpdate("myform");
        firstSubmenu.addElement(item);

        model.addElement(firstSubmenu);
    }

    public MenuModel getModel() {
        return model;
    }

    public void update() {
        addMessage("Success", "Form Update");
        isRendered = true;
    }

    public boolean isIsRendered() {
        return isRendered;
    }

    public void setIsRendered(boolean isRendered) {
        this.isRendered = isRendered;
    }

    public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
}

Post Reply

Return to “Ultima - PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 2 guests