2015-08-19 6 views
0

Le lien contient un exemple de richfaces 4 popuppanel: richfaces popuppanel examplecomment faire richfaces contextuellle popuppanel vers le haut

Voici le code:

<rich:toolbar height="26px" id="tb"> 
    <rich:toolbarGroup location="right"> 
     <h:outputLink value="#"> 
      <rich:componentControl event="click" operation="show" target="ls"> 
       <a4j:param name="event" value="event" noEscape="true" /> 
       <rich:hashParam> 
        <a4j:param noEscape="true" name="top" 
           value="jQuery(#{rich:element('tb')}).offset().top + jQuery(#{rich:element('tb')}).height()" /> 
        <a4j:param noEscape="true" name="left" 
           value="jQuery(#{rich:element('tb')}).offset().left + jQuery(#{rich:element('tb')}).width() - p_width" /> 
       </rich:hashParam> 
      </rich:componentControl> 
      Search 
     </h:outputLink> 
    </rich:toolbarGroup> 
</rich:toolbar> 
<rich:popupPanel header="Enter Search Terms" id="ls" autosized="true" modal="false" moveable="false" resizeable="false" followByScroll="false" > 
    <h:panelGrid columns="3"> 
     <h:outputText value="Search:" /> 
     <h:inputText /> 
     <h:outputLink onclick="#{rich:component('ls')}.hide(event); return false;" value="#">Search 
     </h:outputLink> 
    </h:panelGrid> 
</rich:popupPanel> 
<h:outputScript type="text/javascript" target="body"> 
    p_width = #{rich:component('ls')}.width(); 
</h:outputScript> 

Mais la fenêtre contextuelle apparaît dans des endroits aléatoires, soit parfois sous la barre, puis faire défiler et parfois au-dessus. Est-il possible de s'assurer qu'il apparaît toujours juste au-dessus de la barre tout en étant attaché à lui?

Répondre

1

Les paramètres top et left régler la position du panneau, les changer à l'endroit où vous voulez que le panneau soit, ou appelez directement la méthode:

RichFaces.component('panelId').show(null, {top: "800px", left: "500px"}) 

Vous utilisez la partie de l'exemple que définit spécifiquement le panneau sous la barre de sorte qu'il ne devrait pas être surprenant lorsque le panneau apparaît là.