2012-02-06 7 views
5

qualche giorno fa ho fatto una domanda in forum Primefaces ma nessuno mi ha risposto.menu di primavere non può essere visualizzato completamente nel layout a pagina intera

Affrontando un problema durante l'utilizzo del layout a pagina intera (posizione = "ovest"), il sottomenu non può essere completamente visualizzato. Può farlo visualizzare sovrapposizione a (posizione = "centro") perché non desidero aumentare la larghezza del layout ad ovest?

sotto link atatch con un'immagine come riferimento.

http://www.imagebucket.net/bucket/is.php?i=10434&img=image.jpg

questo fa parte del codice:

<p:layoutUnit position="west" size="200" > 
    <ui:insert name="sideBar">       
    <h:form> 
     <p:menu type="tiered" > 
     <p:submenu label="Sales" >          
      <p:menuitem disabled="#{user.customer}" value="Approve" url="/sales/approve.jsf" style="width:50px" />             
     </p:submenu> 
     <p:separator /> 
     <p:submenu label="Customer"> 
      <p:menuitem disabled="#{user.sales}" value="customer" url="/customer/customer.jsf" style="width:50px" /> 
     </p:submenu> 
     </p:menu> 
    </h:form>   
    </ui:insert> 
</p:layoutUnit> 

Ho appena aggiorno primefaces a 3,1, e ho scoperto ottenuto 1 caratteristica overlayPanel, si può sapere se può essere utilizzato per risolvere il mio problema ?

grazie in anticipo ..

[Eclipse Indigo, Tomcat 7, Java EE 6, primefaces 3.1, Mojarra 2.0.3]

+0

Questa non è una risposta, ma solo alcune informazioni. Per impostazione predefinita, l'elemento DOM del submenu ha uno stile in linea impostato per un 'z-index: 1001' quando è' display: none', tuttavia quando è impostato a 'display: block' da un evento hover Javascript, lo stesso evento è anche aumentando 'z-index: 1018'. Il problema con questo è che anche se si imposta uno stile inline, sarà probabilmente sovrascritto dai javascript di Primefaces. Ma anche in questo caso non penso che lo z-index sia la causa, in quanto l'indice z per il pannello centrale è solitamente impostato su 1 per impostazione predefinita. Questo certamente non sembra un problema facile. –

risposta

9

finalmente trovato qualcuno risposta il mio post nel forum primefaces.
Ha risolto il mio problema.
ecco il link:
http://forum.primefaces.org/viewtopic.php?f=3&t=18033&p=56425#p56425

aggiornamento:
risposta: alcuni trucchi css saranno in grado di risolvere il problema, basta cambiare la proprietà overflow e z-index.
Attribuisco la codice di risposta, come di seguito:

<h:head> 
<style> 
    #leftPanel {z-index:2 !important; } 
    #leftPanel div{overflow:visible;} 
</style> 
</h:head> 

<p:layoutUnit position="west" size="200" id="leftPanel"> 
    <ui:insert name="sideBar">       
    <h:form> 
     <p:menu type="tiered" > 
     <p:submenu label="Sales" >          
      <p:menuitem disabled="#{user.customer}" value="Approve" url="/sales/approve.jsf" style="width:50px" />             
     </p:submenu> 
     <p:separator /> 
     <p:submenu label="Customer"> 
      <p:menuitem disabled="#{user.sales}" value="customer" url="/customer/customer.jsf" style="width:50px" /> 
     </p:submenu> 
     </p:menu> 
    </h:form>   
    </ui:insert> 
</p:layoutUnit> 
Problemi correlati