Usar <b:flyOutMenu>

Un flyOutMenu es un componente interesante que podemos usarlo para seleccionar y activar componentes en base a una condición.

Pagina

 <b:flyOutMenu width="50px">  
     <b:navCommandLink value="#{msg['field.tienda']}"   update=":form"  action="#{ayudanteController.onUbicacionChange('tienda')}"/>
     <b:navCommandLink value="#{msg['field.ganga']}" update=":form"  action="#{ayudanteController.onUbicacionChange('ganga')}"  />
     <b:navCommandLink value="#{msg['field.bodega']}" update=":form"  action="#{ayudanteController.onUbicacionChange('bodega')}" />
 </b:flyOutMenu>



 <p:outputLabel value="#{msg['field.ganga']}" rendered="#{ayudanteController.esganga}"/>

                        <e:autocompleteganga listener="#{tiendaController.handleSelect}"
                                             value="#{ayudanteController.ganga}"
                                             rendered="#{ayudanteController.esganga}"
                                             dropdown="true"
                                             id="ganga"
                                             itemLabel=" #{p.ganga}"
                                             field="ganga"

                                             />

                        <p:outputLabel  value="#{msg['field.bodega']}" rendered="#{ayudanteController.esbodega}"/>

                        <e:autocompletebodega listener="#{ayudanteController.handleSelect}"
                                              value="#{ayudanteController.bodega}"
                                              rendered="#{ayudanteController.esbodega}"
                                              dropdown="true"
                                              itemLabel=" #{p.idbodega}"
                                              field="idbodega"
                                              id="bodega"

                                              />


                        <p:outputLabel value="#{msg['field.tienda']}" rendered="#{ayudanteController.estienda}"/>
                        <e:autocompletetienda listener="#{ayudanteController.handleSelect}"
                                              value="#{ayudanteController.tienda}"
                                              dropdown="true"
                                              itemLabel=" #{p.tienda}"
                                              rendered="#{ayudanteController.estienda}"
                                              field="tienda"
                                              id="tienda"

                                              />

Código

public String onUbicacionChange(String almacen) {
        estienda = false;
        esbodega = false;
        esganga = false;

        try {
            switch (almacen) {
                case "tienda":
                    estienda = true;
                    break;
                case "bodega":
                    esbodega = true;
                    break;
                case "ganga":
                    esganga = true;
                    break;

            }

        } catch (Exception e) {
            JsfUtil.errorMessage("onUbicacionChange() " + e.getLocalizedMessage());
        }
        return "";
    }

Last updated