top.xhtml

En el top.xhtml

Agregamos los componentes y los principales serian

  • <p:remoteCommand

  • websocketidTopText

  • websocketIdToptext2

                            <label id="websocketidTopText" >0</label>                                                     

                             <li class="header">You have <label id="websocketidTopText2" >0</label> notifications</li>                            

Que son los que actualizamos desde el template.xhtml

   <li class="dropdown notifications-menu">
                          <h:form id="topForm">
                        <!-- Menu toggle button -->
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            <i class="fa fa-bell-o"></i>
                            <span class="label label-warning">
                                <label id="websocketidTopText" >0</label>                                                     
                            </span>
                        </a>
                        <ul class="dropdown-menu">
                            <li class="header"> you have <label id="websocketidTopText2" >0</label> notifications</li>
                            <li>
                                <!-- Inner Menu: contains the notifications -->
                                <ul class="menu">
                                    <li><!-- start notification -->
                                        

                                        <p:outputLabel id="topLabel1" 
                                                       value="Value: #{pushSocket.value}"/>

                                        <p:remoteCommand 
                                            name="myFormRC" 
                                            update=":topForm:topLabel1,  :topForm:growl_top"
                                            actionListener="#{pushSocket.myAction2()}" 
                                            process="@all">
                                        </p:remoteCommand>
                                        

                                        <p:growl id="growl_top" globalOnly="true" life="5000"  showDetail="true"  />

                                    </li><!-- end notification -->
                                </ul>
                            </li>
                            <li class="footer">
                                <p:commandLink value="Ver" action="/pages/rol/list.xhtml"/> 
                               </li>
                        </ul>
                          </h:form>
                    </li>

Código completo

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:fragment xmlns="http://www.w3.org/1999/xhtml"
             xmlns:h="http://java.sun.com/jsf/html"
             xmlns:ui="http://java.sun.com/jsf/facelets"
             xmlns:f="http://java.sun.com/jsf/core"
             xmlns:b="http://bootsfaces.net/ui"
             xmlns:p="http://primefaces.org/ui">

    <ui:remove>
        <!--
                    Hint to editors: The menus follow the Chicago style of capitalization. Please capitalize everything but the "smaller" words. 
        -->
    </ui:remove>
    <b:navBar brand="#{msg['application.shorttitle']}"
              brandHref="" inverse="true"
              fixed="top">

        <b:container>

            <b:navbarLinks>
                <b:navLink />
                <b:navLink />
                <b:navbarLinks>
                    <b:navLink outcome="/pages/index" value="#{msg['menubar.home']}" iconAwesome="home" />
                </b:navbarLinks>
                <b:dropMenu value="#{msg['menubar.solicitud']}" rendered="#{p:ifAnyGranted('ADMINISTRADOR, DOCENTE, ADMINISTRATIVO, SECRETARIA')}">


                    <b:navLink value="#{msg['menu.solicituddocentemanual']}" rendered="#{p:ifGranted('ADMINISTRADOR')}" outcome="/pages/solicitudmanualdocente/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.solicitudadministrativomanual']}" rendered="#{p:ifGranted('ADMINISTRADOR')}"  outcome="/pages/solicitudmanualadministrativo/list" iconAwesome= "fa-calendar-o" />


                    <b:navLink value="#{msg['menu.crearsolicitud']}" rendered="#{p:ifGranted('DOCENTE')}" outcome="/pages/solicituddocente/new" iconAwesome="fa-pencil-square-o"  />                   
                    <b:navLink value="#{msg['menu.misolicituddocente']}" rendered="#{p:ifGranted('DOCENTE')}" outcome="/pages/solicituddocente/list" iconAwesome= "fa-book" />                   
                    <b:navLink value="#{msg['menu.calendariodocente']}" rendered="#{p:ifGranted('DOCENTE')}" outcome="/pages/solicituddocente/calendario" iconAwesome= "fa-calendar-o" />                   
                    <b:navLink value="#{msg['menu.solicitudadministrativo']}" rendered="#{p:ifGranted('ADMINISTRATIVO')}" outcome="/pages/solicitudadministrativo/list" iconAwesome= "fa-calendar-o" />




                </b:dropMenu>

                <b:dropMenu value="#{msg['menubar.calendario']}" rendered="#{p:ifGranted('ADMINISTRADOR')}">
                    <b:navLink value="#{msg['menu.viajes']}"  outcome="/pages/calendario/viaje" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.solicitudes']}"  outcome="/pages/calendario/solicitudes" iconAwesome= "fa-calendar-o" />



                </b:dropMenu>

                <b:dropMenu value="#{msg['menubar.viaje']}" rendered="#{p:ifGranted('ADMINISTRADOR')}">
                    <b:navLink value="#{msg['menu.viajes']}"  outcome="/pages/viaje/list" iconAwesome= "fa-book" />
                    <b:navLink/>
                </b:dropMenu>
                <b:dropMenu value="#{msg['menubar.reportes']}" rendered="#{p:ifGranted('ADMINISTRADOR')}">
                    <b:navLink value="#{msg['menu.solicitudpendiente']}"  outcome="/pages/reportes/solicitudpendiente" iconAwesome= "fa-battery-empty" />
                    <b:navLink value="#{msg['menu.viajesporvehiculo']}"  outcome="/pages/reportes/viajeporvehiculo" iconAwesome= "fa-car" />
                    <b:navLink value="#{msg['menu.viajesporconductor']}"  outcome="/pages/reportes/viajeporconductor" iconAwesome= "fa-drivers-license-o" />
                    <b:navLink value="#{msg['menu.viajespendientes']}"  outcome="/pages/reportes/viajependiente" iconAwesome= "fa-book" />
                    <b:navLink/>
                    <b:navLink value="#{msg['menu.viajesrealizados']}" outcome="/pages/reportes/viajerealizado" iconAwesome= "fa-drivers-license-o" />

                    <b:navLink value="#{msg['menu.viajessinconductor']}"  outcome="/pages/reportes/viajesinconductor" iconAwesome= "fa-child" />

                    <b:navLink value="#{msg['menu.viajessinsolicitud']}"  outcome="/pages/reportes/viajesinsolicitud" iconAwesome= "fa-unlink" />

                    <b:navLink/>
                    <b:navLink value="#{msg['menu.kmrecorridosporvehiculo']}"  outcome="/pages/reportes/kmrecorridosporvehiculo" iconAwesome= "fa-map-signs" />
                    <b:navLink value="#{msg['menu.kmrecorridosporconductor']}"  outcome="/pages/reportes/kmrecorridosporconductor" iconAwesome= "fa-map-signs" />
                    <b:navLink/>
                    <b:navLink value="#{msg['menu.programacionflota']}"  outcome="/pages/reportes/programacionflota" iconAwesome= "fa-bus" />
                </b:dropMenu>


                <b:dropMenu value="#{msg['menubar.registros']}" rendered="#{p:ifGranted('ADMINISTRADOR')}">



                    <b:navLink value="#{msg['menu.vehiculo']}"  outcome="/pages/vehiculo/list" iconAwesome= "fa-car" />
                    <b:navLink value="#{msg['menu.vehiculocambiarplaca']}"  outcome="/pages/vehiculo/cambiarplaca" iconAwesome="fa-pencil-square-o" />
                    <b:navLink />
                    <b:navLink value="#{msg['menu.conductor']}"  outcome="/pages/conductor/list" iconAwesome= "fa-drivers-license-o" />

                    <b:navLink value="#{msg['menu.cambiarcedulaconductor']}"  outcome="/pages/conductor/cambiarcedula" iconAwesome="fa-pencil-square-o" />
                    <b:navLink/>
                    <b:navLink value="#{msg['menu.estatus']}"   outcome="/pages/estatus/list" iconAwesome="fa-address-card " />
                    <b:navLink value="#{msg['menu.tipovehiculo']}"  outcome="/pages/tipovehiculo/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.tiposolicitud']}" outcome="/pages/tiposolicitud/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.sugerencia']}"  outcome="/pages/sugerencia/list" iconAwesome= "fa-comments-o" />

                    <b:navLink/>
                    <b:navLink value="#{msg['menu.tipogira']}"  outcome="/pages/tipogira/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.unidad']}"  outcome="/pages/unidad/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink/>
                    <b:navLink value="#{msg['menu.semestre']}"  outcome="/pages/semestre/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.facultad']}" outcome="/pages/facultad/list" iconAwesome= "fa-calendar-o" />
                    <b:navLink value="#{msg['menu.carrera']}"  outcome="/pages/carrera/list" iconAwesome= "fa-calendar-o" />


                </b:dropMenu>



                <b:dropMenu value="#{msg['menubar.administracion']}"  rendered="#{p:ifGranted('ADMINISTRADOR')}">
                    <b:navLink value="#{msg['menu.usuario']}"  outcome="/pages/usuario/list" icon="user"  />
                    <b:navLink value="#{msg['menu.rol']}"  outcome="/pages/rol/list" iconAwesome="desktop"  />
                    <b:navLink value="#{msg['menu.emailmaster']}"  outcome="/pages/emailmaster/list" iconAwesome="fa-twitch"  />



                </b:dropMenu>



                <b:dropMenu value="#{app['button.logout']}" >

                    <b:navLink value="#{msg['menu.cambiarpassword']}"  outcome="/pages/password/change" iconAwesome="fa-expeditedssl"  />
                    <h:form id="navbartopform">
                        <p:commandLink class="btnn btnn-primary login-btn" value="#{app['button.logout']}" action="#{loginController.doLogout()}"/>
                    </h:form>
                </b:dropMenu>

              
                    <li class="dropdown notifications-menu">
                          <h:form id="topForm">
                        <!-- Menu toggle button -->
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            <i class="fa fa-bell-o"></i>
                            <span class="label label-warning">
                                <label id="websocketidTopText" >0</label>                                                     
                            </span>
                        </a>
                        <ul class="dropdown-menu">
                            <li class="header"> you have <label id="websocketidTopText2" >0</label> notifications</li>
                            <li>
                                <!-- Inner Menu: contains the notifications -->
                                <ul class="menu">
                                    <li><!-- start notification -->
                                        

                                        <p:outputLabel id="topLabel1" 
                                                       value="Value: #{pushSocket.value}"/>

                                        <p:remoteCommand 
                                            name="myFormRC" 
                                            update=":topForm:topLabel1,  :topForm:growl_top"
                                            actionListener="#{pushSocket.myAction2()}" 
                                            process="@all">
                                        </p:remoteCommand>
                                        

                                        <p:growl id="growl_top" globalOnly="true" life="5000"  showDetail="true"  />

                                    </li><!-- end notification -->
                                </ul>
                            </li>
                            <li class="footer">
                                <p:commandLink value="Ver" action="/pages/rol/list.xhtml"/> 
                               </li>
                        </ul>
                          </h:form>
                    </li>
              

            </b:navbarLinks>



        </b:container>
    </b:navBar>

</ui:fragment>

Last updated