2012-04-16 35 views
0

我使用rich:PopupPanel組件來顯示一些內容,我希望它們能夠被用戶最大化和恢復。我已經實現了組件的大小調整和定位,但問題是如何防止popupPanel在最大化時被移動,並在恢復時允許它。如何防止在JavaScript中移動Richfaces popupPanel?

這是我的按鈕負責最大化和恢復popupPanel

<!-- language: lang-js --> 
<a4j:commandLink id="maximizeRestoreButton" execute="@none" 
    render="@none" value="Maximize" 
    oncomplete=" 
     var comp = #{rich:component(cc.attrs.popupId)}; 

     if (comp.isMaximized) { 
      var rv = comp.restoreValues;      

      comp.moveTo(rv.top, rv.left); 
      comp.resize(rv.width - comp.width(), rv.height - comp.height()); 
      comp.isMaximized = false; 
     } else { 
      var rv = new Object(); 
      rv.top = comp.getTop(); 
      rv.left = comp.getLeft(); 
      rv.width = comp.width(); 
      rv.height = comp.height(); 

      comp.moveTo(0,0); 
      comp.resize(window.innerWidth - comp.width(), window.innerHeight - comp.height()); 

      comp.isMaximized = true; 
      comp.restoreValues = rv; 
     } 

     return false;" /> 

回答

0

我會建議你使用popupPanel標籤perventing彈出面板以移動和調整,而不是外部JS功能代碼。在富彈出窗口標籤中設置移動= false和resizable = false。對於E.g

<rich:popupPanel resizable="false" movable="false" ...> 
..... 
</rich:popupPanel>