[ 
https://issues.jboss.org/browse/RF-13616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Leathem updated RF-13616:
-------------------------------

    Steps to Reproduce: 
1. Without moving the PopupPanel directly switch to Panel Item 2.
  
  2. The PopupPanel is autosized as expected, correctly adjusting to the size 
difference between its previous and its current content. Now switch back to 
Panel Item 1.
  
  3. Move the PopupPanel around and then switch back to Panel Item 2.
  
  4. Notice that the PopupPanel isn't properly autosized anymore but is now 
stuck to the smaller width of Panel Item 1.
  
Switching to Panel Item 2 will autosize the PopupPanel properly if and only if 
it hasn't been moved yet. Looking into the PopupPanel source code we found that 
while initially moving the PopupPanel, the width of the currently active Panel 
Item is hard-set on said divs in the PopupPanel 
RichFaces.ui.PopupPanel.prototype.doResizeOrMove method which prevents all 
further autosizing on move.  

A possible workaround:- which overrides the original doResizeOrMove method on 
the RichFaces.ui.PopupPanel prototype and simply undoes the modifications of 
the previously undefined CSS widths properties on the relevant divs if the 
PopupPanel autosized attribute is enabled--can be activated by uncommenting the 
following code in /main/webapp/resources/js/patch-popup-panel.js:

{code}
  /*
  (function() {
    var richfacesUiPopupPanelDoResizeOrMove = 
RichFaces.ui.PopupPanel.prototype.doResizeOrMove;
    RichFaces.ui.PopupPanel.prototype.doResizeOrMove = function(diff) {
      var ret = richfacesUiPopupPanelDoResizeOrMove.call(this, diff);
      if (this.options.autosized) {
        this.cdiv.css("width", "");
        this.contentDiv.css("width", "");
        this.scrollerDiv.css("width", "");
        this.shadowDiv.css("width", "");
      }
      return ret;
    };
  }());
  */
{code}

  was:
1. Without moving the PopupPanel directly switch to Panel Item 2.
  
  2. The PopupPanel is autosized as expected, correctly adjusting to the size 
difference between its previous and its current content. Now switch back to 
Panel Item 1.
  
  3. Move the PopupPanel around and then switch back to Panel Item 2.
  
  4. Notice that the PopupPanel isn't properly autosized anymore but is now 
stuck to the smaller width of Panel Item 1.
  
Switching to Panel Item 2 will autosize the PopupPanel properly if and only if 
it hasn't been moved yet. Looking into the PopupPanel source code we found that 
while initially moving the PopupPanel, the width of the currently active Panel 
Item is hard-set on said divs in the PopupPanel 
RichFaces.ui.PopupPanel.prototype.doResizeOrMove method which prevents all 
further autosizing on move.  

A possible workaround:- which overrides the original doResizeOrMove method on 
the RichFaces.ui.PopupPanel prototype and simply undoes the modifications of 
the previously undefined CSS widths properties on the relevant divs if the 
PopupPanel autosized attribute is enabled--can be activated by uncommenting the 
following code in /main/webapp/resources/js/patch-popup-panel.js:

  /*
  (function() {
    var richfacesUiPopupPanelDoResizeOrMove = 
RichFaces.ui.PopupPanel.prototype.doResizeOrMove;
    RichFaces.ui.PopupPanel.prototype.doResizeOrMove = function(diff) {
      var ret = richfacesUiPopupPanelDoResizeOrMove.call(this, diff);
      if (this.options.autosized) {
        this.cdiv.css("width", "");
        this.contentDiv.css("width", "");
        this.scrollerDiv.css("width", "");
        this.shadowDiv.css("width", "");
      }
      return ret;
    };
  }());
  */



> PopupPanel autosize with togglePanel doesn't resize
> ---------------------------------------------------
>
>                 Key: RF-13616
>                 URL: https://issues.jboss.org/browse/RF-13616
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component
>    Affects Versions: 4.2.3.Final, 4.3.6
>            Reporter: abhishek vijra
>         Attachments: popupPanel.zip
>
>
> PopupPanel doesn't autosize correctly after move. Moving a PopupPanel with 
> 'autosized' attribute enabled causes the width properties of its inner 
> container div, content div, srcoller div, and shadow div to be hard-set such 
> that a subsequent content change doesn't trigger the auto-resize of the 
> PopupPanel any longer. The PopupPanel height is apparently unaffected.
> Attached is a testcase to demonstrate the problem, see the attached zip file 
> containing a minimal JSF application which reproduces the undesired behavior.



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
_______________________________________________
richfaces-issues mailing list
richfaces-issues@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to